SSRF (Server-Side Request Forgery,服务器端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。
SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。例如,黑客操作服务端从指定URL地址获取网页文本内容,加载指定地址的图片等,利用的是服务端的请求伪造。SSRF利用存在缺陷的Web
应用作为代理攻击远程和本地的服务器。
主要攻击方式如下所示。
http://www.xingkonglangzi.com/ssrf.php?url=192.168.1.10:3306
http://www.xingkonglangzi.com/ssrf.php?url=file:///c:/windows/win.ini
3.SSRF漏洞点挖掘
1.分享:通过URL地址分享网页内容
2.转码服务(通过URL地址把原地址的网页内容调优,使其适合手机屏幕的浏览)
3.在线翻译
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.未公开的api实现及调用URL的功能
7.从URL关键字中寻找
关键字:
Demo:
<?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); ?>
这里的构成可以通过 url参数接收,去尝试请求内网资源
http://localhost/?url=file:///c:\\AppleBcInstaller.log
file协议利用
其余协议后面更新
gopher,SSRF攻击Redis等
简单列两种方式
通过分享点来查找
右键图片新窗口打开
1.@ http://abc.com@127.0.0.1
2.添加端口号 http://127.0.0.1:8080
3.短地址 https://0x9.me/cuGfD
4.可以指向任意ip的域名 xip.io
5.ip地址转换成进制来访问 192.168.0.1=3232235521(十进制)
6.非HTTP协议
7.DNS Rebinding
@:
http://www.baidu.com@10.10.10.10 与 http?/10.10.10.10 请求是相同的
过滤绕过
IP地址转换成十进制:
127.0.0.1 先转换为十六进制 7F000001 两位起步所以 1就是01
7F000001转换为二进制
127.0.0.1=2130706433 最终结果
还有根据域名判断的,比如xip.io域名,就尝试如下方法
xip.io
xip.io127.0.0.1.xip.io -->127.0.0.1
www.127.0.0.1.xip.io -->127.0.0.1
Haha.127.0.0.1.xip.io -->127.0.0.1
Haha.xixi.127.0.0.1.xip.io -->127.0.0.1
原文:https://www.cnblogs.com/miruier/p/13907150.html