-
-
[原创]KCTF 2022春季赛 第四题 飞蛾扑火
-
发表于: 2022-5-16 23:09 4407
-
简单分析
周末饭后,打开网站,查看html源码如下:
1 | <img src = "url.php?url=51cK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6U0N6r3k6Q4x3X3g2H3k6h3c8A6P5g2)9J5k6h3y4G2L8g2)9J5c8Y4g2H3L8r3!0S2k6q4)9J5c8Y4c8W2j5h3#2Q4x3V1j5%4y4U0u0Q4x3V1k6@1k6h3q4E0x3U0x3$3y4K6j5J5i4K6u0W2M7r3&6Y4" > |
url.php可以加载网站,换个地址提示"host not allow",很明显用了白名单。
尝试127.0.0.1,提示not found,说明可访问本地,于是用file://配合burp爆破目录,找到file://127.0.0.1/../../../../../etc/passwd。
看了一圈docker信息,pid/uid/status,找到web目录,没找到突破口,后面才看到注释里写了phpinfo.php,眼神不好...
根据phpinfo找到网站目录:/var/www/html,拿到url.php源码,完成第一步。
陷入僵局
源码提示:
1 | / / echo curl_request( "164K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8U0p5J5x3#2)9J5k6e0f1%4i4K6u0W2x3U0f1@1i4K6u0W2y4o6u0Q4x3V1k6X3L8r3q4Y4i4K6u0W2M7r3S2H3" , "get" ,[],true, 5 ); / / get flag |
请求提示error ip,说明得通过ssrf去请求。
现场学习《SSRF-Exploiting-URL》,slide里提示了利用php的parse_url和curl解析不一致来实现绕过。例如:1b0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8W2)9@1x3q4)9%4b7X3y4#2M7X3I4Q4y4h3k6Z5L8%4y4@1i4K6N6p5i4K6b7H3i4K6N6n7M7r3S2H3i4K6g2X3K9r3!0K6N6q4)9%4c8q4)9J5c8X3k6D9j5h3N6Q4x3X3g2H3K9s2m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0S2Q4b7f1k6Q4z5e0g2Q4c8e0c8Q4b7V1q4Q4z5o6k6Q4c8e0g2Q4z5o6N6Q4b7e0m8Q4c8e0k6Q4b7f1y4Q4b7e0q4Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0S2Q4b7e0q4Q4z5p5y4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0c8Q4b7V1c8Q4z5o6k6Q4c8e0g2Q4z5p5k6Q4z5o6S2Q4c8e0N6Q4z5f1y4Q4z5p5u0Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0g2Q4z5o6S2Q4b7U0m8Q4c8e0W2Q4z5e0c8Q4z5e0W2Q4c8e0S2Q4b7f1k6Q4b7f1k6Q4c8e0y4Q4z5o6m8Q4z5o6t1`.
于是把php包下载下来,开启curl extension,修改代码把curl的错误信息打出来:php.exe test.php,调试输出各种信息,最后确定这个bug已经修复。
尝试绕过伪造IP也不行,暂时陷入僵局...
神秘代码
周末这大好天气不能浪费了,出去逛一圈...
..........
..........
..........
回来后,继续思考:
1 | 坚信这个curl一定存在某个神秘bug... |
于是从phpinfo拿到curl版本,google搜索神秘代码:
1 | curl 7.64 . 0 parse_url |
找到59aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Z5j5h3y4C8k6i4u0G2L8X3g2Q4x3X3g2U0L8$3#2Q4x3V1k6J5k6i4m8G2M7Y4c8K6i4K6u0r3x3e0l9@1z5e0j5J5y4q4!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4#2)9&6b7#2)9^5b7W2!0q4y4W2)9&6c8q4!0m8y4g2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4#2)9^5z5g2)9^5z5q4!0q4y4W2)9&6b7#2!0m8b7#2!0q4y4#2)9&6b7#2)9&6c8W2!0q4y4g2!0m8c8q4)9&6z5q4!0q4y4g2)9&6b7#2!0m8z5q4!0q4z5g2)9&6y4#2!0m8c8g2!0q4z5g2!0m8x3W2)9&6z5q4!0q4c8W2!0n7b7#2)9^5z5q4!0q4z5q4!0m8y4#2!0m8x3#2!0q4y4W2)9&6c8g2)9&6x3s2y4U0K9r3g2E0k6g2!0q4y4W2)9&6y4#2!0n7y4W2!0q4c8W2!0n7b7#2)9^5z5g2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6b7#2!0m8b7#2!0q4y4g2)9&6b7#2!0n7x3q4!0q4z5q4!0n7x3q4)9^5x3#2!0q4z5q4!0m8c8W2)9&6y4h3y4#2M7X3H3`. 7.64.0 确认解析host通过后,请求服务端拿到flag:
1 2 | url.php?url = 123.57 . 254.42 : / / 127.0 . 0.1 / .. / flag.php flag{xxx_999()xx * @eeEEE} |
赞赏
- [原创]Brute Ratel C4 Keygen 17362
- [原创]KCTF 2022春季赛 第九题 同归于尽 6837
- [原创]KCTF 2022春季赛 第四题 飞蛾扑火 4408
- [原创]KCTF 2021秋季赛 第九题 万事俱备 21117
- [原创]KCTF 2021秋季赛 第七题 声名远扬 20595