SSRF漏洞总结
SSRF漏洞总结
漏洞原理:cake:
SSRF(Server-Side Request Forgery:服务器端请求伪造)
是一种由服务端发起请求的安全漏洞
一般对外网无法访问的内部系统
SSRF漏洞挖掘:golfing_woman:
黑盒探针
业务功能点
- 社交分享功能:获取超链接的标题等内容进行显示
- 转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览
- 在线翻译:给网址翻译对应网页的内容
- 图片加载/下载:例如富文本编辑器中的点击下载图片到本地;通过URL地址加载或下载图片
- 图片/文章收藏功能:主要其会取URL地址中title以及文本的内容作为显示以求一个好的用具体验
- 云服务厂商:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行ssrf测试
- 网站采集,网站抓取的地方:一些网站会针对你输入的url进行一些信息采集工作
- 数据库内置功能:数据库的比如mongodb的copyDatabase函数
- 邮件系统:比如接收邮件服务器地址
- 编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等
- 未公开的api实现以及其他扩展调用URL的功能:可以利用google 语法加上这些关键字去寻找SSRF漏洞
URL关键参数
- share
- wap
- url
- link
- src
- source
- target
- u
- display
- sourceURl
- imageURL
- domain
白盒分析
见代码审计(文件读取,加载,数据操作类的函数)
SSRF伪协议利用:cat:
1 | http:// Web常见访问,如http://127.0.0.1 |
SSRF绕过思路
限制为http://www.xxx.com 域名
采用http基本身份认证的方式绕过,即@http://www.xxx.com@www.xxyy.com
限制请求IP不为内网地址
(1)采取短网址绕过
(2)采取域名解析
(3)采取进制转换
(4)采取3XX重定向
SSRF漏洞防御:dog:
1,过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。
2,统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3,限制请求的端口为http常用的端口,比如,80,443,8080,8090。
4,黑名单内网ip。避免应用被用来获取获取内网数据,攻击内网。
5,禁用不需要的协议。仅仅允许http和https请求。可以防止类似于file:///,gopher://,ftp:// 等引起的问题。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.