从XSS到SSRF
Posted ArkTeam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从XSS到SSRF相关的知识,希望对你有一定的参考价值。
XSS(Cross Site Scripting,跨站脚本)与SSRF(Server-Side Request Forgery,服务器端请求伪造)都是Web安全中常见的漏洞。一般地,XSS被认为会对客户端产生影响;而SSRF被认为会对Web服务器端产生影响。但是,在某些情况下,XSS会进一步得引发SSRF,此时客户端的安全隐患转换为服务器端的安全隐患。下面我们通过一种具体的场景来阐述如何从XSS到SSRF。
网站提供将用户输入的文字与一张背景图片结合的功能,最终生成一张个性化的图片,如图1所示。渗透测试者对该网站进行分析,发现网站未对用户输入进行过滤,因此存在XSS漏洞。进一步尝试后发现无论如何构造用户输入,浏览器得到的都只是一张图片,不同的是图片中会包含了不同的网页元素(图2)。
图1 生成自定义图片功能
图2 生成的图片中包含img错误
该Web服务的实际原理是调用了PhantomJS(一个无界面、可脚本编程的WebKit浏览器引擎),将用户输入与图片形成一个网页,最终将页面截图并返回给用户。此时,进一步地构造输入,就能利用PhantomJS解析执行并对内网的服务进行探测(图3)。
图3 探测内网服务
在整个过程中(图4),由于JS执行的环境从客户端的浏览器转移到了服务器端的PhantomJS,因此传统的XSS演变成了SSRF,危害性也极大地提高。
图4 整体流程示意图
以上是关于从XSS到SSRF的主要内容,如果未能解决你的问题,请参考以下文章