利用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仍在瀏覽器中: