SSRF是服务器请求伪造,web应用程序提供从其他服务器获取数据的功能,使用指定用户的url可以下载、查看一下数据,如果没有对目标地址做过滤与限制。攻击者就可以利用这台服务器去攻击与他处于同一内网的其他服务器。
当我们发现一个数据包中有参数是一个url地址,或者是重定向到其他地址时,就有可能存在SSRF漏洞,我们可以将url地址改为本地127.0.0.1或者内网的地址进行尝试。
应用程序允许来自本地计算机的任何用户在不登录的情况下进行管理访问,也是为了灾难恢复的目的。
应用程序服务器能够与用户无法直接访问的其他后端系统进行交互,就是与这台服务器处于同一内网的其他服务器,同一内网环境下,无需身份验证就可以访问其他系统的一些功能。
我们可以利用存在漏洞的服务器,向与他处于同一内网的其他服务器发送http请求时,但是请求并没有返回到前端页面,这时我们就要盲SSRF注入。
盲注的利用还是要利用OOB,带外通道技术:让存在漏洞的设备向我们的vps发送http请求,在我们的vps中根据访问日志信息,就可以看到我们需要的数据。
应用程序阻止包含127.0.0.1和localhost的主机名,我们可以将主机名转换为十进制或者十六进制,或者利用大小写、url编码等来绕过被阻止的字符串。
用户提交的url会经过应用程序严格验证,不会导致ssrf的发生,如果用于发出后端HTTP请求的API支持重定向,攻击者就可以构造满足严格验证的url,在重定向位置进行攻击。
4.过滤返回信息和统一错误页面:避免攻击者可以通过错误信息来判断远端服务器的端口开启状态。