CTF Web安全

津门杯GoOSS 题解

Posted on 2021-05-09,2 min read

题目给了附件。goland直接本地跑

看源码。
index.php。服务在80端口,并且file=/flag时就能读到flag。
再看go的vul路由时一个必须以http://127.0.0.1:1234/开头的ssrf

但是 client.Get会遵循302跳转。并且Client.Get的net/http库。之前爆出过一个CRLF的洞
那么这题就是个SSRF。并且源码中存在302
首先测了下CRLF。发现漏洞存在

但是从这。一直测了几个小时。。死活绕不过Port的限制

最后无奈。换302思路做题
测了很久。

http://127.0.0.1:1234//a/../.

HTTP/1.1 302 Found
Content-Type: text/html; charset=utf-8
Location: //a/.././
Date: Sun, 09 May 2021 07:50:27 GMT
Content-Length: 32

<a href="//a/.././">Found</a>.

这里Location可以控制为//
而//就是省略HTTP协议的写法。至此。我们可以直接控制Host到VPS。然后VPS搭个302。变成SSRF->302->302->80 getflag

下一篇: 从虎符线下CTF深入反序列化利用→