微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dedecms_v5.7的apache文件名解析漏洞的学习

0x00 Apache文件名解析漏洞

Apache是一个Web服务器,可以提供web服务、配合java中间件、PHP实现动态页面访问。

Apache和PHP通过接口接入后,Apache接受用户的请求,并将请求传送给PHP.exe,PHP.exe程序执行完毕后,把结果发送给用户。在Apache将文件内容交给PHP的时候,Apache会从右到左对文件名进行判断,确保只有.PHP的后缀文件得到解析,当文件名是demo.PHP.bak时,按照httpd.conf中的定义,.bak是不可识别的文件后缀,那么Apache会提取.bak左边的后缀.PHP,判断PHP是否可以识别,来识别文件程序执行。注意:当Apache和PHP以fastcgi方式结合时,则不存在该问题。

例如:访问PHPinfo.PHP可以正常显示,那么一旦存在Apache文件解析漏洞,将PHPinfo.PHP文件重命名PHPinfo.PHP.bak,再在浏览器访问PHPinfo.PHP.bak,是和访问PHPinfo.PHP出现一样的界面。这是因为.bak是Apache无法识别的后缀。

0x01 Dedecms的重装漏洞

虽然Dedecms重装漏洞是在很早之前的了,但还是学习一下。

这里是以Apache2.2.17为例的。

在将Dedecms安装完成后,会在install目录下生成一个index.PHP.bak文件

直接访问index.PHP.bak是无法成功的,因为有着install_lock.txt文件的限制,所以需要突破限制。

虽然我们没有文件操作的权限,但是可以在浏览器通过变量覆盖来实现。

构造payload:

http://127.0.0.1/install/index.PHP.bak?insLockfile=123

之后就可以获取网站的控制权限了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐