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

相关推荐
cc_瀚海知行2 分钟前
工具调用 6|助手什么时候该停下来?
java·服务器·前端·人工智能·python·ai
YDS8295 分钟前
Small Spring IOC篇:应用上下文实现和Bean的扩展
java·后端·spring
想做小南娘,发现自己是女生喵6 分钟前
QT项目实战第一周(嵌入式)
开发语言·qt
Pniubi7 分钟前
ConcurrentHashMap拆分线程池难点再讲
java·jvm
golang学习记8 分钟前
IDEA 的 Java 智能,现在跑到 Cursor 和 VS Code 里去了
java·ide·vscode·intellij-idea·claude code
学逆向的13 分钟前
C 可变量参数
c语言·开发语言·网络安全
andyweike14 分钟前
kotlin dsl library工程怎么配置
android·开发语言·kotlin
啵啵啵鱼18 分钟前
九、JDBC 操作 MySQL 数据库
android·数据库·mysql
huaweichenai20 分钟前
php搭建mcp服务
开发语言·php·ai编程
用户693717500138425 分钟前
当我说 Claude 搭配 GLM-5.3-Flash 太好用了,同事却提醒我:你可能正在失去对代码的掌控
android·后端·ios