跨入安全的殿堂--读《Web入侵安全测试与对策》感悟
前言
??? 最近讀完了《Web入侵安全測試與對策》,從中獲得了不少靈感。此書介紹了很多Web入侵的思路,以及國外著名安全站點,使我的眼界開闊了不少。在此,我重新把書中提到的攻擊模式整理歸納了一遍,并附上相關的一些參考資料,希望會對各位Web開發人員和安全測試人員有所幫助。
??? 現在Web攻擊方式日新月異,但基本思想很多都源于下面的攻擊方式,比如,下面提到的“SQL注入”和“命令注入”就是注入思想的不同體現。另外,本文的目的不在于“詳細介紹每種提到的攻擊技術”,而在于“讓大家知道要程序安全,我們起碼要了解哪些東西”
Web入侵攻擊方式
一.客戶端試探性攻擊
1. 查找敏感信息
(1)HTML代碼中的注釋,隱藏域,及其他敏感信息。
??? 現在很多工具可以幫助你分析網頁,比如:PageSpy,Firebug等等。
(2)服務端出錯信息。比如:
(3)程序出錯提示。
??? 經典例子是網站登陸,登陸的時候需要輸入賬號&密碼,如果服務器對于錯誤賬號返回一個錯誤信息“該賬號不存在”,對于錯誤的密碼返回另外一個正確信息“賬號密碼錯誤”。那么攻擊者就可以根據返回值猜測用戶名,并繼續下一步的攻擊。
2.猜測文件與目錄
??? 如果你有過把一個論壇的Access數據庫下載下來的經歷,那你應該會對這種攻擊方式記憶猶新。另外,如果訪問配置文件沒有好好保護,后果也一樣嚴重。
3.繞過客戶端的輸入限制/驗證(客戶端的數據不可信)
??? 繞過客戶端的驗證或者限制有很多方式,直接把Web頁面的JavaScript腳本去掉,另外一種方式是,攔截發送包,直接把它改掉。
4.修改Cookie
??? 你在大學圖書館的機器上有發現Cookie文件嗎?你是否想過把它的過期時間修改便可繼續使用呢?
??? 網上有很多關于Cookie的文章,書中也推薦了一個外國站點:Dutchduck。,有興趣可以了解一下。
二.利用Web漏洞實現攻擊
5.第三方庫/組件的漏洞
??? 使用第三方資源無可避免,但還是留個心眼吧:>。
6.會話劫持(Session Hijak)
??? 會話劫持除了通過監聽實現外,其實還通過其他形式的,比如:直接修改Cookie的會話標識,或者修改HTTP包頭的Cookie信息等等。但一般比較簡單的劫持方式還是通過監聽。
??? 這里稍微說一下,會話劫持曾在我上高中的很流行,因為那時候局域網組建大多數還是使用HUB,監聽很方便。但隨著交換機的普及,會話劫持也漸漸安靜了下來。而現在,會話劫持似乎又隨著無線網普及又開始興起了:>
??? 要在無線網下實施劫持可以使用:hamster
??? 要在交換機環境中實施會話劫持,可以使用:SSCLONE
??? 了解監聽的原理:《網絡嗅探技術淺析》。
7.跨站式攻擊(XSS)
??? 根據不同的使用,XSS可以分為“存儲型XSS”和“反射型XSS”。
??? 存儲型XSS:攻擊者通過在評論/留言等方式輸入惡意信息,當其他用戶訪問該網站時,服務器便會從數據庫中取出相關的惡意信息,并回顯給用戶。這種方式,可以看作是攻擊者在網站上掛了一個惡意腳本。
??? 反射型XSS:把腳本信息內嵌到URL的CGI參數上,通過郵件或者其他方式,引誘你去點擊該鏈接。
??? 一般XSS最終目的都是:
??? (1)盜取個人信息。
??? (2)下載病毒木馬。
??? (3)在真實網站中嵌入欺騙信息。
??? 現在存儲型的XSS漏洞網站似乎比較少了,但反射型的還有很多。
8.注入攻擊
(1)SQL注入
(2)命令注入
(3)……
?? 其實注入的思想都是一樣的,只是應該的地方不同。他們共同的特征是:輸入特殊的字符,改變原有的業務流程/欺騙服務器。關于SQL注入,可以參考《Advanced SQL Injection In SQL Server Applications》。
9.緩沖區溢出
??? 在.NET,Java盛行的今天,緩沖區溢出這類問題基本很少出現了。這里我只是提一下,有興趣的可以參考《Smashing The Stack For Fun And Profit》和Michael Howard的《The 19 Deadly Sins of Software Security》。
??? 另外,我們可以使用“SPIKE? Proxy”測試Web應用程序的緩沖區溢出問題。
10.非法數據
??? 能否使用編碼方式使一些非法字符蒙混過關?Web服務端是否會因為這些數據而異常呢?
11.服務器探測
??? 掃描服務器,看是否存在其他漏洞,0Day永遠是hacker的最愛!你可以在BUGTraq和Metasploit等類似網站找到漏洞列表。
12.DDOS
??? 老牌的無賴攻擊方式了:>。
13.針對認證的攻擊
(1)偽裝型加密
(2)認證破壞
(3)跨站點跟蹤
(4)暴力破解密鑰
后記
??? 雖然文章不長,但還是花不少時間。作為安全入門級的文章,本文只列出最基礎的攻擊方式,但這些攻擊方式往往有最為有效。對安全有興趣的朋友可以留言交流一下心得,日后我也會繼續整理一些安全相關文檔:>。
本文轉自hyddd博客園博客,原文鏈接:http://www.cnblogs.com/hyddd/archive/2009/09/09/1563139.html,如需轉載請自行聯系原作者。
總結
以上是生活随笔為你收集整理的跨入安全的殿堂--读《Web入侵安全测试与对策》感悟的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开发人员学Linux(2):Virtua
- 下一篇: Microsoft Dynamics C