什么是SSRF
SSRF (Server-Side Request Forgery)服务器端请求伪造
SSRF是Server Side Request Forgery的缩写,指的是一种安全漏洞和攻击技术。
它发生在WWeb应用程序中,攻击者通过欺骗服务器发起未经授权的请求,使服务器从受攻击者控制的外部资源中获取或操作数据。ASSRF可以被用于访问和操作目标服务器内部的资源,如内部网络服务、数据库、文件系统K
在一些场景中,Web应用程序可能需要从外部获取数据,如远程图片、API调用等,xSSRF可以被滥用以绕过安全控制,使应用程序发起对内部资源的请求。
SSRF漏洞原理
SSRF的工作原理如下
-
攻击者在目标WWeb应用程序的输入字段中注入恶意URL
-
目标服务器收到请求并解析URL。
-
目标服务器发起请求到注入的URL。4.攻击者通过构造特定的URL,利用目标服务器上的漏洞来访问内部网络、敏感文件或执行远程代码。
2019年,美国金融公司 Capital One速受了一次严重的数据泄露,攻击者利用了Amazon WebServices(AIWS)中的SSRF 漏洞,获取了超过100万个客户的个人信息
CSRF与SSRF
1.目标:
CSRF攻击以受信任用户的身份进行操作,目标是在受害者不知情的情况下执行未经授权的操作
SSRF攻击以目标服务器的身份进行操作,目标是利用服务器漏洞发起未经授权的请求.
2.注入点:
CSRF攻击注重利用受害者在受信任网站中的会话。
SSRF攻击注重在目标应用程序中注入恶意URL或IP地址。
3.攻击方式:
CSRF攻击通常是通过欺骗受害者在已登录受信任网站时触发。
SSRF攻击则是通过利用目标服务器上的漏洞,发起对内部或外部资源的请求.
4.影响范围:
CSRF攻击的影响范围通常局限于受信任网站的操作
SSRF攻击的影响范围取决于目标服务器的功能和权限,可能涉及内部网络资源、敏感数据等
SSRF漏洞危害
攻击者可以通过SSRF攻击获取数据库、配置文件、密钥等敏感信息。教据泄露
攻击者可能通过利用SSRF漏洞在目标服务器上执行消耗大量计算资源的操作,例如执行复服务器资源滥用:杂的查询或密集的计算任务。
身份验证绕过:通过利用SSRF漏洞,攻击者可以发送请求,伪装成应用程序内部的信任实体,从而绕过访问控制限制,访问不应该被公开的数据或功能。
还有内部服务攻击,横向渗透等
防范SSRF漏洞
输入验证和白名单:
对用户输入进行严格验证,包括URL和参数的格式、长度和字符限制。使用白名单机制,限制允许的URL和IP地址范围,确保应用程序只能访问受信任的资源。
网络隔离:
将应用程序和内部资源分隔开来,确保应用程序只能访问必要的外部资源使用防火墙规则限制出站请求,仅允许应用程序访问经过授权的外部资源
权限管理:
为服务和应用程序配置最小特权原则,确保它们只能访问必要的资源。
避免使用特权账户或角色来执行与SSRF攻击相关的操作,确保授权级别最低限度。
安全配置:
审查服务器和应用程序的配置,减少不必要的服务或接口对外部暴露。关闭或限制应用程序内部使用的危险协议和功能,如fle、gopher等,以防止攻击者利用它们进行SSRF攻击。
Pikachu靶场演示
注:本文章演示在Pikachu靶场内实现,Pikachu靶场是正规且常用的靶场平台,只做技术分享,不做实际攻击,禁止所有未经授权的网络攻击行为
浏览器建议使用火狐浏览器,浏览器插件是HackBar
未处理URL编码绕过
?url=www.baidu.com
伪协议 ?url=file:///etc/passwd
持多种协议(http、https、file、dict、gopher等