SSRF漏洞
1.SSRF漏洞介绍
SSRF(Server-Side Request Forgery)服务端请求为伪造,SSRF是⼀种由攻击者构造形成由服务端发起请求的⼀个安全漏洞。 ⼀般情况下,SSRF攻击的⽬标是从外⽹⽆法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连⽽与外⽹隔离的内部系统)SRF漏洞形成的原因⼤多是因为服务端提供了从其他服务器应⽤获取数据的功能且没有对⽬标地址作过滤和限制。
个人理解:ssrf漏洞就是利用他人的电脑进行攻击,可以比作为我是幕后主谋,但是我没有直接攻击,而是指挥别人去攻击我想要攻击的目标。类似让服务器本身发起攻击。
2.SSRF的挖掘和发现
SSRF漏洞发现及挖掘能够对外发起⽹络请求的地⽅,就可能存在 SSRF 漏洞从远程服务器请求资
源
- 数据库内置功能(Oracle、MongoDB、MSSQL、Postgres、CouchDB)
- Webmail 收取其他邮箱邮件(POP3、IMAP、SMTP)
- ⽂件处理、编码处理、属性信息处理(ffmpeg、ImageMagic、DOCX、PDF、XML)
- 分享:通过URL地址分享⽹⻚内容
- 转码服务
- 在线翻译
- 图⽚加载与下载:通过URL地址加载或下载图⽚
- 图⽚、⽂章收藏功能
- 未公开的api实现以及其他调⽤URL的功能
- 从URL关键字中寻找
share、wap、url、links、display、u、3g、sourceURL、image、URl、domain
3.SSRF进阶
1. curl基础知识
curl url(获取⽹址的⽂本信息)
curl www.baidu.com
curl -i url(获取⽂本的头部及⽂本信息)
curl -i www.baidu.com
curl -v(获取整个通信过程)
curl -v www.baidu.com
curl -X url(使⽤特定⽅法请求⽹⻚⽂本)
curl -X GET www.baidu.com
2. gopher基础知识
Gopher是Internet上⼀个信息查找系统,它将Internet上的⽂件组织成某种
索引,⽅便⽤户从Internet的⼀处带到另⼀处。
其中内容可以是字符串,php代码,⽂件等。gopher协议是ssrf利⽤中最强⼤的协议
限制:gopher协议在各个编程语⾔中的使⽤限制
3.利用curl和gopher(ssrf的利用)
- 在本机上打开phpstudy,在根目录下面创建一个php文件,内容如下。
- 查询本机ip,在浏览器中访问第一步中创建的文件,并加上参数,看是否成功,成功结果如下。
模糊部分为自己本机的ip
- 第二步成功以后,利用burp抓包,将抓到的请求url编码。
- 在kali上,按照如下命令发送。
模糊部分为:你刚刚的ip:80