实验室:结合网络缓存中毒漏洞beplay体育能用吗
专家
这个实验室容易受到影响beplay体育能用吗网络缓存中毒,但前提是您构建一个复杂的利用链。
用户大约每分钟一次访问主页,其语言设置为英语。要解决这个实验室,请用执行的响应中毒缓存警报(Document.Cookie)
在访客的浏览器中。
解决方案
该实验室要求您同时使用多个恶意反应中毒,并与受害者的浏览行为进行协调。
- 运行burp,加载网站的主页。beplay体育能用吗
- 采用参数矿工确定
X前主持人
和X-原始-URL
支持标题。 - 在Burp Repeater中,尝试
X前主持人
标题并观察到它可用于导入任意JSON文件,而不是translations.json
文件,其中包含UI文本的翻译。 - 请注意,网站很容易受到DOM-Xbeplay体育能用吗SS的影响
inittranslations()
功能从JSON文件中处理除英语以外的所有语言的JSON文件。 转到exploit服务器并编辑文件名,以匹配弱势网站使用的路径:beplay体育能用吗
/resources/json/translations.json
- 在头部,添加标题
访问控制 - 允许原素: *
启用科尔斯。 在身体中,添加与真实翻译文件使用的结构相匹配的恶意JSON。用合适的XSS有效载荷,例如:
{“ en”:{“ name”:“英语”},“ es”:{“ name”:“español”,“ translations”:{“返回列表”:“ volver a la la Lista”,“视图详细信息”:“ “”,“描述:”:“descripción”}}}}}}}
对于本解决方案的其余部分,我们将使用西班牙语来展示攻击。请注意,如果您将有效载荷注入了另一种语言的翻译中,则还需要相应地调整示例。- 存储利用。
在Burp中找到一个
得到
要求/?本地化= 1
其中包括朗
西班牙饼干:lang = es
将请求发送给Burp Repeater。添加缓存Buster和以下标头,记住输入您自己的Exploit Server ID:
X-Forwarded主持人:Your-exploit-server-id.webbeplay体育能用吗-security-academy.net
- 发送响应并确认您的利用服务器反映在响应中。
- 要模拟受害者,请将URL加载到浏览器中,并确认
警报()
火。 - 您已经成功毒害了西班牙页面的缓存,但是目标用户的语言设置为英语。由于不可能用用户将用户设置为英语,因此您需要找到一种强行更改其语言的方法。
- 在Burp中,转到“代理”>“ HTTP历史记录”,然后研究您产生的请求和响应。请注意,当您将页面上的语言更改为英语以外的任何内容时,这会触发重定向,例如
/setlang/es
。用户选择的语言是使用lang = es
cookie,并用参数重新加载了主页?本地化= 1
。 - 发送
得到
请求主页打开中继器并添加缓存Buster。 - 观察到
X-原始-URL
可以用于更改请求的路径,因此您可以明确设置/setlang/es
。但是,您会发现无法缓存此响应,因为它包含set-cookie
标题。 - 观察主页有时将后斜切用作文件夹分离器。请注意,服务器将它们归一化以使用重定向向前斜线。所以,
x-original-url: /setlang \ es
触发了302响应,将其重定向到/setlang/es
。观察到此302响应是可以缓存的,因此可以将其他用户迫使其他用户进入主页的西班牙语版本。 - 现在,您需要结合这两个漏洞利用。首先,中毒
获取 /?局部= 1
页面使用X前主持人
标题可以从利用服务器导入恶意JSON文件。 - 现在,当缓存仍然中毒时,也有毒
得到 /
页面使用x-original-url: /setlang \ es
强迫所有用户进入西班牙页面。 - 要模拟受害者,请将英语页面加载到浏览器中,并确保您已重定向并确保
警报()
火。 - 按顺序重播这两个请求,以使缓存在两页上都有中毒,直到受害者访问该站点并解决了实验室。