0x00【概述】
SSRF(Server-Side Request Forgery):服务器端请求伪造,是一种由攻击者构造形成由服务器发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。
成因:大都是由于服务器端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。比如从指定的URL地址获取网页文本内容,加载指定的地址的图片,下载等。
0x01【SSRF的利用方式】
1、可以对外网、服务器所在的内网、本地进行端口扫描,获取一些服务的banner信息
大多数社交网站都提供了通过用户指定的url上传图片的功能。如果用户输入的url是无效的。大部分的web应用都会返回错误信息。攻击者可以输入一些不常见的但是有效的URI,比如:
http
:
//example.com:8080/dir/images/
http
:
//example.com:22/dir/public/image.jpg
http
:
//example.com:3306/dir/images/
根据服务器的返回信息来判断端口的开放情况。大部分的应用并不会去判断端口,只要是有效的URl,就会发出请求。而大部分的TCP服务在简历socket连接的时候就会发送banner信息(ASCII编码),能够作为原始的html的数据显示。
正常情况下,请求http://www.*********.com/robots.txt 返回的结果如下:
请求非http服务的端口,会返回banner信息:
请求关闭的端口会报错。
当然,对于大多数的应用,一般不会直接返回banner信息