01SSRF定义
服务器端要求仿冒(Server-Side Request Forgery),指的是网络攻击在无法获得服务器使用权特惠,利用服务器漏洞以服务器的真实身份推送一条结构好的要求给服务器所以内网。SSRF进攻一般对于外界互联网没法立即访问的內部系统软件。
02SSRF的基本原理
许多web应用都出示了从别的的服务器上读取数据的作用。应用特定的URL,web应用便能够获得照片,下载文件,读取文件內容等。SSRF的本质是利用存有缺点的web应用做为代理商进攻远程控制和当地的服务器。一般状况下, SSRF进攻的总体目标是外网地址没法访问的內部系统软件,网络黑客能够利用SSRF漏洞获得內部系统软件的一些信息(恰好是因为它是由服务器端进行的,因此 它可以要求到与它相接而与外网地址防护的內部系统软件)。SSRF产生的缘故大多数是因为服务器端出示了从别的服务器运用读取数据的作用且沒有对总体目标详细地址做过虑与限定。
03SSRF的关键拒绝服务攻击
网络攻击要想访问服务器B上的服务项目,可是因为存有服务器防火墙或是服务器B是归属于内部网服务器等缘故造成 网络攻击没法立即访问服务器B。而服务器A存有SSRF漏洞,这时候网络攻击能够依靠服务器A来进行SSRF进攻,根据服务器A向服务器B进行要求,进而获得服务器B的一些信息。
04SSRF的伤害
1.內外网的端口号和服务项目扫描仪
2.进攻运作以内网或当地的应用软件
3.对里网web应用开展指纹验证,鉴别企业内部的财产信息
4.进攻内部网的web应用,主要是应用GET主要参数就可以完成的进攻(例如Struts2漏洞利用,SQL引入等)
5.利用file协议书载入当地隐秘数据文档等
05SSRF漏洞重现
1.检测內部服务器的随意端口号
①利用vulhub开展漏洞重现,SSRF漏洞存有于
②递交变量值为url:port,依据返回不正确不一样,可对里网情况开展检测如端口号对外开放情况等。
在brupsuite下检测该漏洞。访问一个能够访问的IP:PORT,如依据返回不正确不一样,可对里网情况开展检测如端口号对外开放情况等。
③在我们访问一个不会有的端口号时,例如 可能返回:could not connect over HTTP to server
④在我们访问存有的端口号时,例如 可访问的端口号可能获得不正确,一般是返回status code(如下图),假如访问的非http协议书,则会返回:did not have a valid SOAP content-type
2.利用ssrf获得内部网比较敏感文档信息
①在服务器上有一个ssrf.php的网页页面,该网页页面的作用是获得URL主要参数,随后将URL的內容表明到网页页面网页页面上。
②大家访问该连接: ,它会将test.php网页页面表明
③如果我们把url的主要参数换为 ,网页页面则会返回百度搜索的网页页面
④因此我们可以将URL主要参数换为内部网的详细地址,则会泄漏服务器内部网的信息。将URL换为的方式,就可以载入本地文件。
06防御力方法
1、过虑返回的信息,假如web应用是去获得某一种种类的文档。那麼在把返回結果展现给客户以前先认证返回的信息是不是符合规定。
2、统一不正确信息,防止客户能够依据不正确信息来分辨远程控制服务器的端口号情况。
3、限定要求的端口号,例如80,443,8080,8090。
4、严禁不常见的协议书,只是容许http和https要求。能够避免类似等造成的难题。
5、应用DNS缓存文件或是Host授权管理的方法。
Docker 让你不一样的渗入感受
揭密|让公司55%的隐匿数据信息「归类」展现,需两步?
从Gartner汇报研究企业战略转型突破之道
医疗器械行业网络信息安全的关键风险性和解决剖析
Web分布式数据库漏洞之Apache篇