[MRCTF2020]套娃1

打开题目,查看源代码,有提示

有两层过滤

1.过滤"_"与"%5f" 。

这里要求的参数必须是"b_u_p_t"但是不能检测出"_"。这里看着很作弄人。其实这里要用到php里非法参数名的问题。可以参考一下博客

?b.u.p.t=23333%0a

看到提示,flag在FLAG is in secrettw.php

访问secrettw.php

说我能更聪明

直接访问

ip不对,需要127.0.0.1。抓包

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

X-Forwarded-For:127.0.0.1

Client-Ip:127.0.0.1

都试一下,第二个正确

看到一堆外星语,JavaScript语言,复制解码,找网站运行,发现需要破石头请求

看到最后源码

//逆向代码

<?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;

?>

//v1=ZmpdYSZmXGI=

.change函数,先进行base64解码,在对每一位的ascii码加上i*2。很简单写一个逆函数就行

最终payload:/secrettw.php?2333=data://text/plain,todat+is+a+happy+day&file=ZmpdYSZmXGI=,然后抓包修改下地址信息,结果如下:

flag{c8cf3dad-15b4-4a55-9344-51e749df0029}

相关推荐
ktl35 分钟前
Android 编译加速/优化 80%:一个文件搞定,零侵入零配置
android
华仔啊1 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
alexhilton12 小时前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack
冬奇Lab14 小时前
InputManagerService:输入事件分发与ANR机制
android·源码阅读
日月云棠17 小时前
各版本JDK对比:JDK 25 特性详解
java
张小潇17 小时前
AOSP15 Input专题InputManager源码分析
android·操作系统
用户83071968408218 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide18 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家19 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java