SSRF**(服务端请求伪造)**
1.原理及危害:
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。
SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。攻击者让服务端发起指定的请求,SSRF攻击的目标一般是从外网无法访问的内网系统。
2.SSRF的利用:
- 内网访问和探测(Http,dict和file等协议的利用)
利用http协议对内网进行探测,探测整个内网的存活ip和端口;可利用脚本和burpsuite进行快速探测。
?url=http://127.0.0.1/flag.php 可用dirsearch对敏感目录进行扫描,所需字典必须自己整理;
?url=dict://127.0.0.1:8000
探测的脚本:
1 | import requests |
伪协议读取本地文件:
/?url=file:///var/www/html/flag.php
端口扫描:
?url=dict://127.0.0.1:8000
POST请求:
Gopher协议是 HTTP 协议出现之前,在 Internet 上常见且常用的一个协议,不过现在gopher协议用得已经越来越少了Gopher协议可以说是SSRF中的万金油。利用此协议可以攻击内网的 Redis、Mysql、FastCGI、Ftp等等,也可以发送 GET、POST 请求。这无疑极大拓宽了 SSRF 的攻击面。
3.SSRF的防御策略: