[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}

相关推荐
lbb 小魔仙几秒前
【Java】基于 Java 的分布式系统实战:分布式锁 + 事务 + 一致性算法,干货满满
java·分布式·算法
香气袭人知骤暖1 分钟前
线程池原理及其常用线程池
java
葡萄成熟时 !2 分钟前
JavaAPI 工具类
java
好像不对劲2 分钟前
python去除pdf白边
开发语言·python·pdf·kindle
sunnyday04264 分钟前
Spring Boot 中的优雅重试机制:从理论到实践的完整指南
java·spring boot·后端
C++ 老炮儿的技术栈4 分钟前
#include <filename.h> 和 #include “filename.h” 有什么区别?
linux·c语言·开发语言·c++·windows·visual studio
Ethan-D5 分钟前
每日一题#21 二维 DP + 计数类
java·python·算法·leetcode·动态规划
虫小宝7 分钟前
企业微信官方API与自建机器人系统的鉴权体系对比及Java集成方案
java·机器人·企业微信
lkbhua莱克瓦248 分钟前
Web前端开发核心认知与技术演进
开发语言·前端·笔记·javaweb
Huanzhi_Lin8 分钟前
安卓包体压缩
android·apk压缩