存儲型跨站腳本攻擊

XSS

跨站腳本攻擊(Cross Site Script, XSS),是最常見的Web應用應用程序安全漏洞之一,也是OWASP 2013 Top 10之一。 XSS通常來說就是在網頁中嵌入惡意代碼, 通常來說是Javascript,當用戶訪問網頁的時候,惡意腳本在瀏覽器上執行。

存儲型XSS

XSS主要分爲三種類型: 反射型XSS存儲型XSSDOM型XSS。本文主要闡述的是存儲型XSS,簡單來說明一下存儲型XSS的攻擊基本流程:

  • a. 比如在某個論壇提供留言板功能,黑客在留言板內插入惡意的html或者Javascript代碼,並且提交。

  • b. 網站後臺程序將留言內容存儲在數據中

  • c. 然後一個用戶也訪問這個論壇,並刷新了留言板,這時網站後臺從數據庫中讀取了之前黑客的留言內容,並且直接插入在html頁面中,這就可能導致了:黑客留言的腳本本身應該作爲內容顯示在留言板的,然後此時可能黑客的留言腳本被瀏覽器解釋執行了。。。。

那麼黑客的腳本可以用來做哪些壞事兒呢?比如:

  • 通過javascript獲取用戶的cookie,根據這個cookie竊取用戶信息
  • 重定向網站到一個釣魚網站
  • 重新更改頁面內容,假裝讓客戶輸入用戶名,密碼,然後提交到黑客的服務器
  • ……

如果用過早期校內網的應該知道,校內網原先的主頁可以通過自定義腳本來定製主頁面,後來這個功能取消了,因爲這種方式很容易產生XSS漏洞。

Mutillidae中實踐存儲型XSS

在之前的博客<< OWASP Mutillidae的安裝>>中已經介紹過如何搭建Web漏洞實戰系統Mutillidae, 本篇就開始用Mutillidae進行存儲型XSS的攻擊實踐。


首先在Mullidae中選擇XSS持久型的攻擊頁面Add to your blog
XSS Page
然後用賬戶iceking登錄,假設iceking現在就是博主,可以在這個頁面添加blog了,添加一個內容爲Hello Iceking的博客, 並且點擊Save Blog Entry進行保存,此時這篇博客Hello Iceking會保存到後臺數據庫中。
Add Blog Page
然後某個一個網友,去查看了你的博客: 打開查看博客頁面,並且選擇iceking的Blog。
View Blog Page
Iceking's Blog
現在Bird用戶可以看到Iceking發表的博客內容Hello World:
Blog Content
到這裏了怎麼還沒說到XSS啊?不要着急,現在就開始角色扮演,如果作爲一名剛剛上手的黑客,首先要把思路理清楚,這個博客的發表和查看的過程如下:
(1) Iceking寫了內容爲Hello Iceking的博客,並且提交了博客到服務器
(2) Bird用戶訪問了Iceking的博客,服務器將博客的內容以表格的形式展現給了Bird
思考時間到了,假設Iceking編寫了一段Javascript腳本的內容,這個Javascript腳本內容,也能夠展現給訪問博客的用戶嗎?還是編寫的Javascript腳本會被瀏覽器解釋執行呢?如果是後者,那麼這個博客系統則存在一個XSS漏洞。
那就動手試一試吧,用Iceking編寫博客內容爲<script>alert(document.cookie);</script>,保存後,然後用Bird賬號對這個博客進行訪問,發現Bird訪問網站的cookie被打印了出來!!!
Document Cookie
這也就表明了,博客的內容爲腳本時,被瀏覽器給解釋執行了,說明這個博客系統存在XSS漏洞。上述只是打印出了cookie,如果黑客iceking在博客中嵌入的代碼是: 將Cookie發送給自己部屬好的服務器,則竊取了用戶的cookie信息,並且可以用cookie進一步獲取用戶的隱私信息。

如果這個黑客利用博客的漏洞直接在裏面篡改網頁內容,或者插入假冒的用戶賬戶密碼輸入框,被上當後後果不堪設想。 那麼博主就簡單演示下,如何在博客中插入百度的主頁(當然上述原理明白後,可以分分鐘搞定了)。
首先黑客iceking登錄博客,並且編寫博客內容如下, 然後保存博客:
Add Baidu Page
這時候Bird網友查看了Iceking的博客內容,我汗,怎麼裏面是百度的主頁了!!!
Show Baidu Page





以上就是一個簡單的存儲型XSS漏洞,其實很多的XSS的漏洞相比較而言也不會這麼暴露。在XSS漏洞偵測方面,可以通過掃描工具APPScan,Burp Suite等工具進行檢測,當然也可以人工的去檢查,比如輸入<>標籤嵌入腳本或者HTML,查看是否被轉意。

後續博主也會繼續學習反射型XSS,和DOM型XSS, 並且繼續深入學習Javascript和XSS的漏洞。接着作爲一名程序員,最最重要的是也要繼續深入的學習如何防範XSS漏洞

希望以後和網友們一起學習和討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章