buuctf [第二章 web进阶]SSRF Training
首先点击intersting challenge,查看后台源码。可以看到是将输入的ip通过safe_request_url()调用check_inner_ip()来判断是不是内网ip。如果是内网ip,那么直接输出;如果不是,则会创建一个curl会话,并向目标url发起请求,将返回结果输出。
根据主页提示,flag位于flag.php中,但是如果直接输入http://127.0.0.1/flag.php,其hostname是127.0.0.1,会被认为是内网ip,从而输出不了flag(但目前是可以的,存疑)
本题答案是输入
http://@127.0.0.1:80@www.baidu.com/flag.php
可以看到这种写法使得parse_url函数将hostname解析为www.baidu.com,这是一个公网ip,而实际url的ip还是127.0.0.1,这样就成功绕过了检查。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!