本文主要論述了WEB安全測(cè)試要考慮的10個(gè)測(cè)試點(diǎn):
1、問(wèn)題:沒(méi)有被驗(yàn)證的輸入
測(cè)試方法:
數(shù)據(jù)類(lèi)型(字符串,整型,實(shí)數(shù),等)
允許的字符集
最小和最大的長(zhǎng)度
是否允許空輸入
參數(shù)是否是必須的
重復(fù)是否允許
數(shù)值范圍
特定的值(枚舉型)
特定的模式(正則表達(dá)式)
2、問(wèn)題:有問(wèn)題的訪問(wèn)控制
測(cè)試方法:
主要用于需要驗(yàn)證用戶身份以及權(quán)限的頁(yè)面,復(fù)制該頁(yè)面的url地址,關(guān)閉該頁(yè)面以后,查看是否可以直接進(jìn)入該復(fù)制好的地址
例:從一個(gè)頁(yè)面鏈到另一個(gè)頁(yè)面的間隙可以看到URL地址
直接輸入該地址,可以看到自己沒(méi)有權(quán)限的頁(yè)面信息,
3、錯(cuò)誤的認(rèn)證和會(huì)話管理
例:對(duì)Grid、Label、Tree view類(lèi)的輸入框未作驗(yàn)證,輸入的內(nèi)容會(huì)按照html語(yǔ)法解析出來(lái)
4、緩沖區(qū)溢出
沒(méi)有加密關(guān)鍵數(shù)據(jù)
例:view-source:http地址可以查看源代碼
在頁(yè)面輸入密碼,頁(yè)面顯示的是 *****, 右鍵,查看源文件就可以看見(jiàn)剛才輸入的密碼。
5、拒絕服務(wù)
分析:攻擊者可以從一個(gè)主機(jī)產(chǎn)生足夠多的流量來(lái)耗盡狠多應(yīng)用程序,最終使程序陷入癱瘓。需要做負(fù)載均衡來(lái)對(duì)付。
6、不安全的配置管理
分析:Config中的鏈接字符串以及用戶信息,郵件,數(shù)據(jù)存儲(chǔ)信息都需要加以保護(hù)
程序員應(yīng)該作的: 配置所有的安全機(jī)制,關(guān)掉所有不使用的服務(wù),設(shè)置角色權(quán)限賬號(hào),使用日志和警報(bào)。
分析:用戶使用緩沖區(qū)溢出來(lái)破壞web應(yīng)用程序的棧,通過(guò)發(fā)送特別編寫(xiě)的代碼到web程序中,攻擊者可以讓web應(yīng)用程序來(lái)執(zhí)行任意代碼。
7、注入式漏洞
例:一個(gè)驗(yàn)證用戶登陸的頁(yè)面,
如果使用的sql語(yǔ)句為:
Select * from table A where username=’’ + username+’’ and pass word …..
Sql 輸入 ‘ or 1=1 ―― 就可以不輸入任何password進(jìn)行攻擊
或者是半角狀態(tài)下的用戶名與密碼均為:‘or’‘=’
8、不恰當(dāng)?shù)漠惓L幚?/strong>
分析:程序在拋出異常的時(shí)候給出了比較詳細(xì)的內(nèi)部錯(cuò)誤信息,暴露了不應(yīng)該顯示的執(zhí)行細(xì)節(jié),網(wǎng)站存在潛在漏洞,
9、不安全的存儲(chǔ)
分析:賬號(hào)列表:系統(tǒng)不應(yīng)該允許用戶瀏覽到網(wǎng)站所有的賬號(hào),如果必須要一個(gè)用戶列表,推薦使用某種形式的假名(屏幕名)來(lái)指向?qū)嶋H的賬號(hào)。
瀏覽器緩存:認(rèn)證和會(huì)話數(shù)據(jù)不應(yīng)該作為GET的一部分來(lái)發(fā)送,應(yīng)該使用POST,
10、問(wèn)題:跨站腳本(XSS)
分析:攻擊者使用跨站腳本來(lái)發(fā)送惡意代碼給沒(méi)有發(fā)覺(jué)的用戶,竊取他機(jī)器上的任意資料
● HTML標(biāo)簽:<…>…</…>
● 轉(zhuǎn)義字符:&(&);<(<);>(>); (空格) ;
● 腳本語(yǔ)言:
<script. language=‘javascript’>
…Alert(‘’)
</script>
● 特殊字符:‘ ’ < > /
● 最小和最大的長(zhǎng)度
● 是否允許空輸入
聯(lián)系客服