TCTF-2022
这次时间都花在一道题上 当时做到凌晨四点 卡在最后一步 撑不住辣
WEB
Where are you from?
1 | nc 202.120.7.207 2333 Entry your team token to create a challenge container. |
我的想法
走私
这道题涉及两个知识点,第一个知识点是AJP走私,其次是一个ghostcat漏洞。
前端是apache httpd,后端是tomcat。
请求 POST /ctf/ 只返回一个 ip地址
所以可能是请求走私或者ssrf漏洞
所以当我将 GET 发送到前端服务器时,它会将 HTTP 请求转换为 AJP 数据,但如果我们发POST请求的话,
http请求回被分为两个AJP数据包来发送。这时我们就联想到了请求走私。
这篇文章给了我很大启发 http://noahblog.360.cn/apache-httpd-ajp-request-smuggling/
我们想办法用第二个构造一个完整的请求来读文件,
通过请求走私 填充字节来截断 然后构造一个读取的包
在 AJP 数据包中使用请求属性来覆盖原请求的漏洞
最后没读到 看了别人wp说是可能在几十个请求后才能收到 所以还要写个脚本不停地收请求
第二部分参考下面文章:
不调试源码重现 Ghostcat 漏洞 (CVE-2020-1938) (seebug.org)
当时尝试的画面。。。