OWASP 2023 TOP10 A9 服务器请求伪造

Posted by DDW on 08-06,2022

一、什么是服务器请求伪造

SSRF是指攻击者能够从易受到攻击的web应用程序发送精心设计的请求对其他网站进行攻击。
一般情况下,SSRF攻击的目标是外网无法访问的内部系统。
利用一个可以发起网络请求的服务,当作跳板来攻击其他服务。
简称:A让C帮忙访问C

二、形成原因

SSRF形成的原因大都是由于服务端提供了从其他服务器获取数据的功能,且没有对目标地址做过滤与限制。ssrf是利用存在缺陷的web应用作为代理去攻击远程和本地的服务器。
也就是说,对于为服务器提供服务的其他应用没有对访问进行限制,如果我构造好我的访问包,那我就有可能利用目标服务对他的其他服务器进行调用。
image-1691342780869

三、常见危害

  • 对服务器所在内网、本地进行端口扫描,获取一些服务等
  • 目标网站本地敏感数据读取
  • 内外网主机漏洞的利用
  • 内外网web漏洞的利用

四、如何预防

过滤返回信息,验证外网服务器请求。
统一错误信息,避免用户从错误信息判断服务器端口状态
限制请求的端口为http常用的端口。
黑名单内网IP、避免攻击内网
禁用不需要的协议

五、靶场实现

假设某靶场上有一个输入图片URL就能下载的功能
image-1691345198679
在正常情况下,管理员可能输入一个网址(如https://example.com/image.jpg),然后服务器会从这个URL下载图片。
但是,如果攻击者知道这个功能存在漏洞,他们可以试图伪造一个请求,访问服务器内部网络中的资源。例如,攻击者可能输入一个类似于 http://localhost/admin 的URL,试图访问服务器内部的管理员界面。
如果服务器没有正确地验证请求的URL,它可能会尝试从这个URL下载“图片”,从而导致攻击者能够访问到服务器内部网络中的资源。