buuctf [第二章 web进阶]SSRF Training

首先点击intersting challenge,查看后台源码。可以看到是将输入的ip通过safe_request_url()调用check_inner_ip()来判断是不是内网ip。如果是内网ip,那么直接输出;如果不是,则会创建一个curl会话,并向目标url发起请求,将返回结果输出。
image

image

根据主页提示,flag位于flag.php中,但是如果直接输入http://127.0.0.1/flag.php,其hostname是127.0.0.1,会被认为是内网ip,从而输出不了flag(但目前是可以的,存疑)
image

本题答案是输入

http://@127.0.0.1:80@www.baidu.com/flag.php

可以看到这种写法使得parse_url函数将hostname解析为www.baidu.com,这是一个公网ip,而实际url的ip还是127.0.0.1,这样就成功绕过了检查。
image

posted @   眠眠眠眠  阅读(410)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示