SSRF保护机制是什么

发布时间:2022-05-13 10:21:16 作者:zzz
来源:亿速云 阅读:117

这篇“SSRF保护机制是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SSRF保护机制是什么”文章吧。

当在Web应用程序中找到一个可以获取的外部资源的功能。你可以从各种外部站点读取内容,并且可以请求的文件类型不会有任何限制,应用程序会立即显示所有内容。这个现象告诉你,接下来该尝试一下是否存在SSRF漏洞了。所以你开始输入:127.0.0.1。但是仅过了一秒钟,服务器返回了一个意想不到的响应:

Error. Requests to this address are not allowed. Please try again.

所以现在该做什么?

SSRF保护机制

企业确实意识到了SSRF攻击的风险。所以大多数人已经在他们的Web应用程序中实现了某种形式的SSRF保护。SSRF保护机制基本上分两种:黑名单和白名单。

黑名单指的是如果接收到的输入为列在黑名单上的地址,那么不允许这些地址且阻止请求的处理。大多数SSRF是采用的黑名单来保护不允许探测内网IP地址段。

另一方面,白名单指的是服务器只允许接收处理在预先设定好的白名单列表里包含的URL的请求,并使得其他请求处理失败。

绕过白名单

白名单通常更难绕过,因为默认情况下相对于黑名单而言,白名单更加严格。但是如果白名单中的域中存在开放的重定向漏洞,则可能存在SSRF漏洞。

如果您可以找到可利用的重定向漏洞,则可以请求重定向到内部IP地址段的白名单中的域。

如果没有正确利用白名单(例如,使用了设计不好的正则表达式),那么也可以通过使用子域名或目录的形式作为列入白名单的域名来绕过(例如,victime.com.attacker.com或attacker.com/victim.com )。

绕过黑名单

但是由于应用程序本身的需要(获取外部资源),大多数SSRF保护机制都是以黑名单形式出现。如果遇到黑名单,有很多种方法可以欺骗服务器:

利用重定向漏洞欺骗

使服务器请求你所控制的URL重定向到黑名单地址。例如可以在自己可控的Web服务器上托管如下内容的文件:

<?php header(“location:http://127.0.0.1”);?>

假设此文件位于http://attakcer.com/redirect.php ,这样当你的目标服务器请求http://attakcer.com/redirect.php ,目标服务器实际上被重定向到http://127.0.0.1 ,这是一个受限制的内部地址。

利用DNS欺骗

修改可控的域的A记录或者AAAA记录,并使其指向受害者网络的内部地址。例如,假设http://attacker.com 是你可控的子域名。你可以创建自定义主机名到IP地址映射,使得http://subdomain.attacker.com 解析到127.0.0.1。现在当目标服务器请求http://attacker.com ,它会认为你的域位于127.0.0.1,并从改地址请求数据。

使用IPv6地址

尝试使用IPv6地址而不是IPv4地址,因为服务器可能尚未针对IPv6实施而实施了针对IPv4的保护机制。

切换编码

有很多不同的编码URL或地址可以使服务器正常解析,但是可以绕过黑名单的限制。这些编码包括十六进制编码,八进制编码,双字编码,URL编码和混合编码。

以上就是关于“SSRF保护机制是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

推荐阅读:
  1. 浅谈TypeScript的类型保护机制
  2. SpringCloud Eureka自我保护机制原理解析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ssrf

上一篇:xampp中mysql乱码怎么解决

下一篇:php的八大数据类型是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》