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

相关推荐
tb_first13 分钟前
LangChain4j简单入门
java·spring boot·langchain4j
毕设源码-邱学长14 分钟前
【开题答辩全过程】以 基于PHP的发热病人管理平台的设计与实现为例,包含答辩的问题和答案
开发语言·php
HellowAmy18 分钟前
我的C++规范 - 线程池
开发语言·c++·代码规范
独自破碎E20 分钟前
【BISHI9】田忌赛马
android·java·开发语言
czy878747520 分钟前
const 在 C/C++ 中的全面用法(C/C++ 差异+核心场景+实战示例)
c语言·开发语言·c++
范纹杉想快点毕业26 分钟前
实战级ZYNQ中断状态机FIFO设计
java·开发语言·驱动开发·设计模式·架构·mfc
smileNicky1 小时前
布隆过滤器怎么提高误差率
java
それども1 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql
Java面试题总结1 小时前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
马猴烧酒.1 小时前
【面试八股|Java集合】Java集合常考面试题详解
java·开发语言·python·面试·八股