SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。通过ssrf攻击,可以实现对内网的访问,从而可以攻击内网或者本地机器,获得shell等
检测方法:
1)对被检系统进行检测,如该系统网络内存在192.168.1.66地址,则在浏览器内访问以下链接,http://www.exmaple.com/uddiexplorer/SearchPublicRegistries.jsp?operator=http://192.168.1.66&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search
2)通过更改IP后,如将链接中IP更改为192.168.1.88(系统中不存在的IP),如果更改IP前后服务器响应状态不同,则存在该漏洞。
满足条件:可以识别系统内存活的主机。
解决方案:
1.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3.限制请求的端口为http常用的端口,比如,80、443、8080、8090。
4.内网IP黑名单,避免应用被用来获取获取内网数据,攻击内网(注意绕过)。
5.禁用不需要的协议。仅仅允许http和https请求。
6.weblogic补丁修复或卸载相关的包