天天看點

跨入安全的殿堂--讀《Web入侵安全測試與對策》感悟

前言

    最近讀完了《Web入侵安全測試與對策》,從中獲得了不少靈感。此書介紹了很多Web入侵的思路,以及國外著名安全站點,使我的眼界開闊了不少。在此,我重新把書中提到的攻擊模式整理歸納了一遍,并附上相關的一些參考資料,希望會對各位Web開發人員和安全測試人員有所幫助。

    現在Web攻擊方式日新月異,但基本思想很多都源于下面的攻擊方式,比如,下面提到的“SQL注入”和“指令注入”就是注入思想的不同展現。另外,本文的目的不在于“詳細介紹每種提到的攻擊技術”,而在于“讓大家知道要程式安全,我們起碼要了解哪些東西”

Web入侵攻擊方式

一.用戶端試探性攻擊

1. 查找敏感資訊

(1)HTML代碼中的注釋,隐藏域,及其他敏感資訊。

    現在很多工具可以幫助你分析網頁,比如:PageSpy,Firebug等等。

(2)服務端出錯資訊。比如:

<a href="http://images.cnblogs.com/cnblogs_com/hyddd/WindowsLiveWriter/Web_12879/ServerError_2.jpg"></a>

(3)程式出錯提示。

    經典例子是網站登陸,登陸的時候需要輸入賬号&amp;密碼,如果伺服器對于錯誤賬号傳回一個錯誤資訊“該賬号不存在”,對于錯誤的密碼傳回另外一個正确資訊“賬号密碼錯誤”。那麼攻擊者就可以根據傳回值猜測使用者名,并繼續下一步的攻擊。

2.猜測檔案與目錄

    如果你有過把一個論壇的Access資料庫下載下傳下來的經曆,那你應該會對這種攻擊方式記憶猶新。另外,如果通路配置檔案沒有好好保護,後果也一樣嚴重。

3.繞過用戶端的輸入限制/驗證(用戶端的資料不可信)

    繞過用戶端的驗證或者限制有很多方式,直接把Web頁面的JavaScript腳本去掉,另外一種方式是,攔截發送包,直接把它改掉。

4.修改Cookie

    你在大學圖書館的機器上有發現Cookie檔案嗎?你是否想過把它的過期時間修改便可繼續使用呢?

二.利用Web漏洞實作攻擊

5.第三方庫/元件的漏洞

    使用第三方資源無可避免,但還是留個心眼吧:&gt;。

6.會話劫持(Session Hijak)

    會話劫持除了通過監聽實作外,其實還通過其他形式的,比如:直接修改Cookie的會話辨別,或者修改HTTP標頭的Cookie資訊等等。但一般比較簡單的劫持方式還是通過監聽。

    這裡稍微說一下,會話劫持曾在我上高中的很流行,因為那時候區域網路組建大多數還是使用HUB,監聽很友善。但随着交換機的普及,會話劫持也漸漸安靜了下來。而現在,會話劫持似乎又随着無線網普及又開始興起了:&gt;

    要在無線網下實施劫持可以使用:hamster

    要在交換機環境中實施會話劫持,可以使用:SSCLONE

7.跨站式攻擊(XSS)

    根據不同的使用,XSS可以分為“存儲型XSS”和“反射型XSS”。

    存儲型XSS:攻擊者通過在評論/留言等方式輸入惡意資訊,當其他使用者通路該網站時,伺服器便會從資料庫中取出相關的惡意資訊,并回顯給使用者。這種方式,可以看作是攻擊者在網站上挂了一個惡意腳本。

    反射型XSS:把腳本資訊内嵌到URL的CGI參數上,通過郵件或者其他方式,引誘你去點選該連結。

    一般XSS最終目的都是:

    (1)盜取個人資訊。

    (2)下載下傳病毒木馬。

    (3)在真實網站中嵌入欺騙資訊。

    現在存儲型的XSS漏洞網站似乎比較少了,但反射型的還有很多。

8.注入攻擊

(1)SQL注入

(2)指令注入

(3)……

9.緩沖區溢出

    另外,我們可以使用“SPIKE  Proxy”測試Web應用程式的緩沖區溢出問題。

10.非法資料

    能否使用編碼方式使一些非法字元蒙混過關?Web服務端是否會因為這些資料而異常呢?

11.伺服器探測

12.DDOS

    老牌的無賴攻擊方式了:&gt;。

13.針對認證的攻擊

(1)僞裝型加密

(2)認證破壞

(3)跨站點跟蹤

(4)暴力破解密鑰

後記

    雖然文章不長,但還是花不少時間。作為安全入門級的文章,本文隻列出最基礎的攻擊方式,但這些攻擊方式往往有最為有效。對安全有興趣的朋友可以留言交流一下心得,日後我也會繼續整理一些安全相關文檔:&gt;。

本文轉自hyddd部落格園部落格,原文連結:http://www.cnblogs.com/hyddd/archive/2009/09/09/1563139.html,如需轉載請自行聯系原作者。