前言
- 这几天各种技术面试接踵而至,压得我喘不过气了!然后面试官问了我这个SSRF漏洞原理和利用方式以及防御手段,当然同时还问了好几个Top10漏洞!
SSRF漏洞概述
- 危害:一个不符合预期的请求就可能导致整个内网沦陷
- 全名 :Server Side Request Forgery
- 基本原理:攻击者构造恶意的URL,由服务器端发起请求的漏洞
- SSRF的目标:从外网无法访问的内部系统。让服务器替攻击者发请求。
- 面试回答部分:因为一些内网资源,攻击者直接请求不到,而服务器存在SSRF漏洞时,可代替攻击者发送任意的请求,于是服务器就成为攻击者访问其所在内网各个系统的“跳板”。借助这台服务器,攻击者可以直接攻击内网系统,由于内网系统安全性普遍较为薄弱,就极有可能导致整个内网沦陷
- 形成原因:服务器提供了远程访问的功能,且没有对目标地址进行过滤和限制。
- 代码示例
$imageUrl =$_GET['catchimage'];
$context =stream_context_create(
arry('http' =>arry(
'follow_location'=>false // don't follow redirects
))
);
redirect($imageUrl,false,$context);
- 上述例子,程序员的本意是想给用户提高一个抓取远程图片的功能,但是没有对catchimage参数进行过滤检测,从而导致用户可以构造URL,访问内网。
- 构造恶意URL:127.0.0.1:8080/catchimage.php?catchimage=http://10.10.10.34:8080/
- 该漏洞实际上是操纵服务器去发送请求,因为攻击者从互联网无法访直接访问内网,但是服务器可以,借助服务器之手,来攻击其内网的其他服务器。
SSRF漏洞检测与挖掘
- 1)能够对外发起网络请求的地方,就可能存在SSRF漏洞
- 2)从远程服务器请求资源的地方,如通过URL上传,导入文件、或RSS订阅等。
- 3)数据库内置功能,Oracle、MongoDB、MSSQL、PostgreSQL、CouchDB等数据库都具有加载外部URL的功能。
- 4)Webmail收取其他邮箱邮件,如POP3、IMAP、SMTP等
- 5)文件处理、编码处理、属性信息处理,如FFmpeg、ImageMagic、Word、Excel、PDF、XML等。
- 利用限制
- OpenSSL.当服务器开启OpenSSL时,SSRF请求也必须遵从OpenSSL来交互,因而一些场景下无法直接利用。
- 鉴权。大部分网站使用Cookie鉴权,还有一部分使用HTTP Basic 认证,当攻击者仅能控制一个URL时,往往无法人为添加Cookie或www-authenticate头部字段,进而无法访问部分接口
- 校验了其他头部字段的情况,如:Referer,User-Agent等。
SSRF漏洞的回显分类
- 有回显
- 半盲回显(半盲SSRF)
- 无回显(全盲SSRF,针对DNS Log或HTTP Log)
- 暑假期间我会尽快对这一部分进行补齐
SSRF漏洞利用
- 通过SSRF漏洞攻击内网Redis未授权服务
- 通过SSRF漏洞攻击Kubernetes服务
- SSRF漏洞与DNS Rebinding攻击
- WebLogic SSRF 漏洞(CVE-2014-4210)
- 暑假期间我会尽快对这一部分进行补齐
SSRF漏洞防御
- 对于服务器来说,尽量避免使用服务器端根据用户用户参数远程加载资源,如果一定要采取这种方法,应当尽量将资源固定化,避免用户提交可变参数
- 在使用开源的类库时,应当对其是否存在SSRF漏洞进行充分了解,尽可能使用最新版本或保证安全的较新版本。
- 此外,,对于内网漏洞的及时修复以及未授权接口的加以鉴权,能够有效降低SSRF漏洞攻击造成的危害,也应当放在去企业安全管理者考虑的范围之内。
文章来源地址https://www.toymoban.com/news/detail-516167.html
文章来源:https://www.toymoban.com/news/detail-516167.html
到了这里,关于新后端漏洞之----SSRF漏洞(服务端请求伪造)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!