题目页面:
页面中有提示:You just view *.ctfhub.com
点一下 View CTFHub 会回弹一些信息:
抓包看看:
url 传参,判断是 ssrf 。但是当我将其改为 http://www.baidu.com 或者是 http://127.0.0.1 时却没有任何响应:
看了大佬的博客,知道了这是 cve-2020-7066 。
根据阿里云漏洞库:
CVE-2020-7066 是 php 函数 get_headers 中的信息泄漏漏洞。
在低于7.2.29的PHP版本7.2.x,低于7.3.16的7.3.x和低于7.4.4的7.4.x中,同时将get_headers()与用户提供的URL一起使用时,如果URL包含零(\0) 字符,则URL将被静默地截断。这可能会导致某些软件对get_headers()的目标做出错误的假设,并可能将某些信息发送到错误的服务器。
就是我们常说的 %00 截断。
那么上面这句提示:You just view *.ctfhub.com ,我大概懂它的意思了,是要以 *.ctfhub.com 结尾。
传入:
?url=http://127.0.0.1%00www.ctfhub.com
返回:
提示中给出:主机名必须以 123 结尾。
传入:
?url=http://127.0.0.123%00www.ctfhub.com
返回:
拿到 flag 。