《网络安全学习》 第四部分-----SSRF服务器端请求伪造

SSRF(Server-side Request Forgery),由于某些应用需要调用其他服务器上的资源,需要传入一个目的地址供服务器去请求,假设这个目标地址被攻击者攻击控制,就可以访问服务器内网的其他服务

SSRF漏洞的危害

  1. 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;
  2. 攻击运行在内网或本地的应用程序(比如溢出);
  3. 对内网web应用进行指纹识别,通过访问默认文件实现;
  4. 攻击我内外网的web应用,主要是使用get参数就可以实现的攻击(比如struts2,sqli等);
  5. 利用file协议读取本地文件等。

SSRF漏洞经常出现的场景
1.分享:通过URL地址分享网页内容
2.转码服务:通过URL地址把原地址的网页内容调优,使其适合手机屏幕浏览
3.在线翻译:通过URL地址翻译对应文本的北荣
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.未公开的api实现以及其他调用URL功能
7.从URL关键字中寻找
share、wap、url、link、src、source、target、u、3g、display、sourceURI、imageURL、domain、…


SSRF漏洞的验证方法:

1)因为SSRF漏洞是构造服务器发送请求的安全漏洞,所以我们就可以通过抓包分析发送的请求是否是由服务器的发送的来判断是否存在SSRF漏洞

2)在页面源码中查找访问的资源地址 ,如果该资源地址类型为 http://www.xxx.com/a.php?image=(地址)的,就可能存在SSRF漏洞。

《网络安全学习》 第四部分-----SSRF服务器端请求伪造_第1张图片
如何防御:
1.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件,那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
2.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
3.限制请求的端口为http常用的端口,比如80、443、8080、8090。
4.黑名单内网ip。避免应用被用来获取内网数据,攻击内网。
5.禁止不需要的协议。仅仅允许http和https请求。可以防止类似于file:///.sopher://.ftp://等引起的问题

如何绕过:
1.使用@符号绕过。例如:https://[email protected] ,可以直接跳转到腾讯后也
2.短网址绕过
使用xip.io,例如127.0.0.1.xip.io

【网络安全学习】系列教程

《网络安全学习》第一部分-----初识OWASP
《网络安全学习》第二部分-----SQL注入学习
《网络安全学习》第三部分-----XSS攻击系列学习
《网络安全学习》第四部分-----SSRF服务器端请求伪造
《网络安全学习》第五部分-----远程代码执行漏洞
《网络安全学习》 第六部分-----文件上传漏洞
《网络安全学习》 第七部分-----跨域资源共享(CORS)漏洞
《网络安全学习》 第八部分-----《网络安全学习》 第八部分-----越权漏洞详解
《网络安全学习》 第九部分----CSRF(跨站请求伪造)漏洞详解

你可能感兴趣的:(开发栈----网络安全学习)