SSRF (Server-Side Request Forgery)
  服务端请求伪造:服务端提供了从其他服务器获取数据的功能,但没有对目标地址进行过滤和限制,攻击者可以传入任意URL,使服务器请求并返回数据,访问或操纵敏感资源。
  漏洞场景:网络请求功能(如在线识图、文档翻译、分享、订阅等)、请求远程服务器资源(如远程URL上传、静态资源图片等)、数据库内置功能(如MongoDB的copyDatabase)、文件处理工具(如ImageMagick、XML处理)、从URL关键字(如source、share、link、src、imageurl、target)中寻找的功能

漏洞场景:原生漏洞场景 流量分析

可尝试使用file、http(s)、dict、gopher等协议进行测试

tips
代码审计SINK点:
    URL、HttpClient、OkHttpURLConnection、Socket、ImageIO、DriverManager.getConnection、SimpleDriverDataSource.getConnection、HttpURLConnection、RestTemplate、URLConnection、WebClient、JNDI
Linux:file:///etc/hosts Windows:file:///C:\windows\win.ini

缺陷代码

安全场景:限制协议、白名单

限制http(s)协议、请求白名单(baidu.com、whgojp.top)

tips
安全编码建议:
    1、URL做白名单处理,域名识别IP,过滤内网IP
    2、校验返回的内容是否与预期一致
    3、禁止302跳转,或每跳转一次都进行校验目的地址是否为内网地址或合法地址。
    4、禁用高危协议:gopher、dict、file、ftp、file等,只允许http/https
项目主要关注的是漏洞的产生与修复,关于攻击绕过手法(@等分隔符、本地回环地址、短网址、DNS重绑定、八(十六)进制),这里就不再展开……

安全代码