ssrf漏洞(上) · Farmsec Open Source(3)
时间:2022-12-04 19:15 来源:网络整理 作者:采集插件 点击:次
ssrf测试代码: <?php function curl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); } $url = $_GET['url']; curl($url); ?> 7.1 http/https协议当前应用获取用户传递过来的url参数后端发送请求,并且将最终的请求结果返回到html前端页面。 ?url=http://www.baidu.com ?url=https://www.baidu.com
但这里需要注意的一点是,当前网站页面返回的内容并非是从当前用户pc端浏览器发送的,而是,服务器端接收到客户端传递过来的url参数,然后在后端服务器代码中通过构造请求发送,最终将结果返回到前端,如果在这里用户传递的是一个内网应用的ip,当前返回的结果: 192.168.10.1 为网关 ?url=http://192.168.10.1
ssrf漏洞服务器所在的内网大小,互通的网段,限制了当前能够获取到资源的数量。 如果当前服务器端对请求资源的协议做了限制,那么可以通过https协议进行绕过。 7.2 file协议如果服务器端对请求资源所使用的协议方式没有进行限制,那么就可以通过file协议访问当前服务器的本地文件 ?url=file:///etc/passwd
通过dict 协议可以远程访问一个指定的tcp 端口,并且会返回端口所提供的服务的部分组件信息 当目标端口开放(有服务信息显示,但会报错): ?url=dict://localhost:80
当目标端口关闭(无任何显示): ?url=dict://localhost:8080
通过差异的对比,可确认内网端口开放情况。 思考:实际干活时,ssrf漏洞该怎么利用来探测内网网段、开放端口及端口服务? 7.4 gopher 协议Gopher 协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议。当然现在 Gopher 协议已经慢慢淡出历史。 (责任编辑:admin) |





