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

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...