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