您好,登錄后才能下訂單哦!
這篇文章主要講解了“常見(jiàn)的Web安全漏洞及測(cè)試方法是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“常見(jiàn)的Web安全漏洞及測(cè)試方法是什么”吧!
一、安全測(cè)試6項(xiàng)基本原則:
認(rèn)證:對(duì)認(rèn)證的用戶(hù)的請(qǐng)求返回
訪問(wèn)控制:對(duì)未認(rèn)證的用戶(hù)的權(quán)限控制和數(shù)據(jù)保護(hù)
完整性:用戶(hù)必須準(zhǔn)確的收到服務(wù)器發(fā)送的信息
機(jī)密性:信息必須準(zhǔn)確的傳遞給預(yù)期的用戶(hù)
可靠性:失敗的頻率是多少?網(wǎng)絡(luò)從失敗中恢復(fù)需要多長(zhǎng)時(shí)間?采取什么措施來(lái)應(yīng)對(duì)災(zāi)難性的失?。浚▊€(gè)人理解這個(gè)地方應(yīng)該更偏向于容錯(cuò)容災(zāi)測(cè)試的范疇)
不可抵賴(lài):用戶(hù)應(yīng)該能證明接收到的數(shù)據(jù)來(lái)自特定的服務(wù)器
二、常見(jiàn)的安全測(cè)試內(nèi)容
權(quán)限控制
SQL注入
URL安全測(cè)試
XSS(跨站腳本攻擊)
CSRF(跨站請(qǐng)求偽造)
URL跳轉(zhuǎn)漏洞
其他安全方面的考量
三、Web應(yīng)用程序中是什么導(dǎo)致安全性問(wèn)題呢?一般有以下幾個(gè)原因:
1、復(fù)雜應(yīng)用系統(tǒng)代碼量大、開(kāi)發(fā)人員多、難免出現(xiàn)疏忽。
2、系統(tǒng)屢次升級(jí)、人員頻繁變更,導(dǎo)致代碼不一致。
3、歷史遺留系統(tǒng)、試運(yùn)行系統(tǒng)等多個(gè)Web系統(tǒng)共同運(yùn)行于同一臺(tái)服務(wù)器上。
4、開(kāi)發(fā)人員未經(jīng)過(guò)安全編碼培訓(xùn)或者公司根本就沒(méi)有統(tǒng)一的安全編碼規(guī)范。
5、測(cè)試人員經(jīng)驗(yàn)不足或者沒(méi)經(jīng)過(guò)專(zhuān)業(yè)的安全評(píng)估測(cè)試就發(fā)布上線。
6、沒(méi)有對(duì)用戶(hù)的輸入進(jìn)行驗(yàn)證,舉幾個(gè)例子:
1)永遠(yuǎn)不要信任用戶(hù)的輸入,要對(duì)用戶(hù)的輸入進(jìn)行校驗(yàn)
2)數(shù)字型的輸入必須是合法的數(shù)字
3)字符型的輸入中對(duì) 編碼符號(hào)要進(jìn)行特殊處理
4)驗(yàn)證所有的輸入點(diǎn),包括Get,Post,Cookie以及其他HTTP頭
四、安全性測(cè)試的常見(jiàn)漏洞及解決辦法:
1、XSS跨站腳本攻擊
SS與SQL注入相似,XSS是通過(guò)網(wǎng)頁(yè)插入惡意腳本,主要用到的技術(shù)也是前端的HTML和JavaScript腳本。當(dāng)用戶(hù)瀏覽網(wǎng)頁(yè)時(shí),實(shí)現(xiàn)控制用戶(hù)瀏覽器行為的攻擊方式。
一次成功的XSS,可以獲取到用戶(hù)的cookie,利用該cookie盜取用戶(hù)對(duì)該網(wǎng)站的操作權(quán)限;也可以獲取到用戶(hù)聯(lián)系人列表,利用被攻擊者的身份向特定的目標(biāo)群發(fā)送大量的垃圾信息,等等。
XSS分為三類(lèi):存儲(chǔ)型(持久性XSS)、反射型(非持久性XSS)、DOM型。
測(cè)試方法:
在數(shù)據(jù)輸入界面,輸入:<script>alert(/123/)</script>,保存成功后如果彈出對(duì)話框,表明此處存在一個(gè)XSS 漏洞。
或把url請(qǐng)求中參數(shù)改為<script>alert(/123/)</script>,如果頁(yè)面彈出對(duì)話框,表明此處存在一個(gè)XSS 漏洞。
2、SQL注入
SQL注入是通過(guò)把SQL命令插入到Web表單遞交或輸入域名或頁(yè)面請(qǐng)求的查詢(xún)字符
串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。
SQL注入可能造成的危害有:網(wǎng)頁(yè)、數(shù)據(jù)被篡改,核心數(shù)據(jù)被竊取,數(shù)據(jù)庫(kù)所在的服務(wù)器被攻擊,變成傀儡主機(jī)。
例如有些網(wǎng)站沒(méi)有使用預(yù)編譯sql,用戶(hù)在界面上輸入的一些字段被添加到sql中,很有可能這些字段包含一些惡意的sql命令。如:password = "1' OR '1'='1";即使不知道用戶(hù)密碼,也能正常登錄。
測(cè)試方法:
在需要進(jìn)行查詢(xún)的頁(yè)面,輸入正確查詢(xún)條件 and 1=1等簡(jiǎn)單sql語(yǔ)句,查看應(yīng)答結(jié)果,如與輸入正確查詢(xún)條件返回結(jié)果一致,表明應(yīng)用程序?qū)τ脩?hù)輸入未進(jìn)行過(guò)濾,可以初步判斷此處存在SQL注入漏洞
修改建議:
對(duì)用戶(hù)的輸入進(jìn)行校驗(yàn),可以通過(guò)正則表達(dá)式,或限制長(zhǎng)度;對(duì)以下關(guān)鍵字進(jìn)行轉(zhuǎn)換等;
||alert|and|exec|execute|insert|select|delete|update|count|drop|chr|mid|master|truncate|declare|sitename|netuser|xp_cmdshell|or|+|,|like'|and|exec|execute|insert|create|drop|table|from|grant|group_concat|column_name|information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|chr|mid|master|truncate|declare|or|--|+|,|like|//
不要使用動(dòng)態(tài)拼裝sql,可以使用參數(shù)化的sql或者直接使用存儲(chǔ)過(guò)程進(jìn)行數(shù)據(jù)查詢(xún)存取;
不要使用管理員權(quán)限的數(shù)據(jù)庫(kù)連接,為每個(gè)應(yīng)用使用單獨(dú)的權(quán)限有限的數(shù)據(jù)庫(kù)連接;
應(yīng)用的異常信息應(yīng)該給出盡可能少的提示,最好使用自定義的錯(cuò)誤信息對(duì)原始錯(cuò)誤信息進(jìn)行包裝。
3、URL跳轉(zhuǎn)漏洞
URL跳轉(zhuǎn)漏洞,即未經(jīng)驗(yàn)證的重定向漏洞,是指Web程序直接跳轉(zhuǎn)到參數(shù)中的URL,或者在頁(yè)面中引入了任意開(kāi)發(fā)者的URL,將程序引導(dǎo)到不安全的第三方區(qū)域,從而導(dǎo)致安全問(wèn)題。
測(cè)試方法:
1.使用抓包工具抓取請(qǐng)求。
2.抓取302的url,修改目標(biāo)地址,查看是否能跳轉(zhuǎn)。
ps:不過(guò)現(xiàn)在很多跳轉(zhuǎn)都加了referer的校驗(yàn)導(dǎo)致攻擊者跳轉(zhuǎn)失敗。
4、文件上傳漏洞
文件上傳攻擊是指攻擊者上傳了一個(gè)可執(zhí)行文件到服務(wù)器上,并執(zhí)行。
這種攻擊方式是最直接有效的。上傳的文件可以是病毒、木馬、惡意腳本或者是webshell等等。
Webshell是以asp、php、jsp或者cgi等網(wǎng)頁(yè)文件形式存在的一種命令執(zhí)行環(huán)境,也可以說(shuō)是一種網(wǎng)頁(yè)后門(mén)。攻擊者在受影響系統(tǒng)防止或插入webshell后,可以通過(guò)webshell方便進(jìn)入系統(tǒng),達(dá)到控制網(wǎng)站服務(wù)器的目的。
測(cè)試方法:
對(duì)上傳的文件類(lèi)型、大小等進(jìn)行嚴(yán)格校驗(yàn),禁止上傳惡意代碼的文件。
對(duì)相關(guān)目錄的執(zhí)行權(quán)限進(jìn)行校驗(yàn),可以通過(guò)瀏覽器訪問(wèn)Web 服務(wù)器上的所有目錄,檢查是否返回目錄結(jié)構(gòu),如果顯示的是目錄結(jié)構(gòu),則可能存在安全問(wèn)題。
5、CSRF跨站偽造請(qǐng)求攻擊
CSRF,利用已登錄的用戶(hù)身份,以用戶(hù)的名義發(fā)送惡意請(qǐng)求,完成非法操作。
例如:用戶(hù)如果瀏覽并信任了存在CSRF漏洞的網(wǎng)站A,瀏覽器產(chǎn)生了相應(yīng)的cookie,用戶(hù)在沒(méi)有退出該網(wǎng)站的情況下,訪問(wèn)了危險(xiǎn)網(wǎng)站B 。
危險(xiǎn)網(wǎng)站B要求訪問(wèn)網(wǎng)站A,發(fā)出一個(gè)請(qǐng)求。瀏覽器帶著用戶(hù)的cookie信息訪問(wèn)了網(wǎng)站A,因?yàn)榫W(wǎng)站A不知道是用戶(hù)自身發(fā)出的請(qǐng)求還是危險(xiǎn)網(wǎng)站B發(fā)出的請(qǐng)求,所以就會(huì)處理危險(xiǎn)網(wǎng)站B的請(qǐng)求,這樣就完成了模擬用戶(hù)操作的目的。這就是CSRF攻擊的基本思想。
測(cè)試方法:
1. 同個(gè)瀏覽器打開(kāi)兩個(gè)頁(yè)面,一個(gè)頁(yè)面權(quán)限失效后,另一個(gè)頁(yè)面是否可操作成功,如果仍然能操作成功即存在風(fēng)險(xiǎn)。
2.使用工具發(fā)送請(qǐng)求,在http請(qǐng)求頭中不加入referer字段,檢驗(yàn)返回消息的應(yīng)答,應(yīng)該重新定位到錯(cuò)誤界面或者登錄界面。
感謝各位的閱讀,以上就是“常見(jiàn)的Web安全漏洞及測(cè)試方法是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)常見(jiàn)的Web安全漏洞及測(cè)試方法是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。