前言:
学习ssrf,发现ssrf还是不会可能是太久没有复习了
内容:
为什么会出现ssrf漏洞?
1、web应用程序正在处理用户提供的url是没有进行严格的输入验证验证和过滤,导致攻击者可以提交恶意的url
2、服务器端正在处理外部资源(如图片、文件)是,没有对其来源进行严格的验证和过滤,导致攻击者可以引导服务器去请求恶意资源
3、web引用程序没有被正确的实现对访问外部资源的限制,到时攻击者能够利用服务器端代理访问受限资源。
ssrf漏洞常见的功能点
1、文件上传功能:服务器从外部资源下载文件或图片,未严格验证用户输入的URL。
2、URL请求功能:Web应用允许用户通过URL获取远程资源(如网页抓取、API调用等),未对URL进行严格验证。
3、分享功能:通过URL地址分享网页内容。
4、在线翻译功能:通过URL地址翻译网页内容。
5、图片加载与下载功能:通过URL地址加载或下载图片,注意区分是客户端发送的请求还是服务端发送的请求。
6、收藏功能:图片、文章收藏功能,主要会取URL地址中title以及文本的内容作为显示。
7、社交分享功能:获取超链接的标题等内容进行显示。
8、转码服务:通过URL地址把原地址的网页内容调优使其适合手机屏幕浏览。
9、云服务厂商功能:它会远程执行一些命令来判断网站是否存活等,所以如果可以捕获相应的信息,就可以进行SSRF测试。
绕过ssrf常见的思路:
DNS欺骗:通过控制DNS解析过程,使得目标服务器将内部地址解析为外部地址,从而绕过基于IP地址的过滤。这种方法通常需要攻击者能够控制DNS服务器或中间人攻击。
使用IPV6地址:由于一些系统对IPV6的支持不完善,攻击者可以尝试使用IPV6地址来绕过SSRF保护机制。
编码转换:利用不同的编码方式(如十六进制、八进制、双字编码、URL编码等)来混淆URL中的敏感信息,以绕过基于正则表达式的过滤。
重定向漏洞利用:如果存在重定向漏洞,攻击者可以通过构造特定的URL,使服务器在处理请求时发生重定向,从而绕过SSRF保护机制。
协议混淆:利用不同协议之间的差异性,如HTTP与FTP、SMTP等协议的差异,来绕过基于特定协议的过滤。
利用短网址服务:通过短网址服务将长URL转换为短链接,以绕过基于长度或特定模式的过滤。
本地回环地址的其他表现形式:除了常见的127.0.0.1,还可以尝试使用其他形式的本地回环地址,如::1(IPv6形式)等。
注册域名使其解析为目标IP地址:对于基于白名单的过滤,攻击者可以尝试注册一个域名并将其解析为目标IP地址,然后通过该域名发起请求。
结合其他漏洞:如果SSRF与其他漏洞(如RCE、文件上传等)结合使用,可能会产生更严重的后果。因此,在实际渗透测试中,应综合考虑各种可能的攻击路径和组合方式。