文章目录

带你挖掘文件包含漏洞之代码审计#4实战五个案例  

由 ssnhy13 发布

带你挖掘文件包含漏洞之代码审计#4实战五个案例  





在PHP安全中,文件包含漏洞是很严重的漏洞!今天我不讲基础了,直接实战!

怎么挖掘文件包含漏洞?注意require(),require_once(),include(),include_once(),还有就是()变成空格也是一样的效果!

这次我演示的CMS是:ECShop_V2.7.3_GBK_release1106

我就随手测试就挖到了四个文件包含漏洞。哈哈,我和我的小伙伴都惊呆了。因为文件包含漏洞太多!

首先我们关键字搜索:include_once



点击查看原图

搜索发现很多用include_once,这时候我们应该开心这么多include_once,肯定有几个是可以利用的地方233,我说这句话是相对的,不是绝对的!

很快我就找到一处可疑的:

第一处文件包含漏洞存在地址:



点击查看原图

双击打开这个文件:



   图片3.png

直觉告诉我这里有漏洞,自己看他的判断就知道,在这里$file可控!

看代码知道:$directory = ROOT_PATH . 'includes/modules/shipping';

所以我们找到这个目录下看看:

图片4.png



我们知道了$file可以控制,所以我们在这个文件下面添加个test.php的文件,文件里面写phpinfo代码:



图片5.png

然后直接访问php构造的地址直接访问:



图片6.png

这时候我们会发现我们的phpinfo被成功执行了!



现在我开始讲解第二个文件包含漏洞:



图片7.png

这里很可疑,我们打开文件:



图片8.png

这里可能存在安全问题经验证发现$shipping是可控的!我们查询$shipping是什么?



图片9.png

POST请求哎,这里意思就是如果变量里面有内容,就把shipping赋值过去!

include_once(ROOT_PATH . 'includes/modules/shipping/' . $shipping . '.php');



找到这个包含文件位置:

图片10.png



test.php里面的代码是phpinfo代码!我们开始构造地址访问:



图片11.png

成功!



第三个文件包含漏洞:



图片12.png

同样存在,利用方式和前两种差不多,我快速讲解了,这里一样的问题这里是$payment可控:

查询:$payment



图片13.png

POST请求可以!

include_once(ROOT_PATH.'includes/modules/payment/' . $payment . '.php');

  这是包含的文件目录,找到这个目录:



写个2.php进去,然后构造地址访问:



图片14.png

有点麻木了。。



第四个文件包含漏洞:



图片16.png

这里!

    

这里直接request请求,没有做过滤,code参数可控!

一样的道理:

include_once(ROOT_PATH.'includes/modules/payment/' . $_REQUEST['code'] . '.php');

图片17.png

这是包含文件进入这个目录新建一个文件写点内容:

我这里直接构造地址吧:

图片18.png

第五个文件包含:

图片19.png



不废话了这里我直接:



图片20.png

然后构造代码:



 

  图片21.png

直接访问!文件包含漏洞太多了呜呜!累了,就这样!

技巧很简答,看哪里可控直接艹!

 



0条评论

发表评论


验证码