測(cè)試人都在關(guān)注的安全測(cè)試?今天我們一起來(lái)揭開(kāi)神秘面紗
11 月 9 號(hào)晚,檸檬班重磅推出了“安全測(cè)試 ”課程,很多學(xué)生非常感興趣,當(dāng)晚就報(bào)名了 100+ 名學(xué)生,盛況無(wú)限。
這一方面說(shuō)明檸檬班的課程真的非常優(yōu)秀,另外也說(shuō)明大家對(duì)知識(shí)和技術(shù)的渴求度還是非常高的。
不過(guò)很多學(xué)生對(duì)安全測(cè)試其實(shí)沒(méi)有太多的認(rèn)知,甚至一些從事測(cè)試工作多年的”老測(cè)試“,說(shuō)起安全測(cè)試依然一知半解。今天我們就來(lái)揭開(kāi)安全測(cè)試的神秘面紗,跟大家聊聊一些場(chǎng)景的安全漏洞場(chǎng)景。

什么是漏洞?
首先,安全測(cè)試是我為了發(fā)現(xiàn)產(chǎn)品的漏洞而防范各種攻擊或者安全隱患的,所以我們先要知道什么是漏洞。
漏洞是指系統(tǒng)或應(yīng)用因?yàn)?strong>管理不合格,或者技術(shù)應(yīng)用不嚴(yán)謹(jǐn)而存在弱點(diǎn)或缺陷。這點(diǎn)弱點(diǎn)或者缺陷會(huì)造成如下后果:
系統(tǒng)被攻擊;
資料被竊取;
數(shù)據(jù)被篡改;
淪為跳板機(jī);
漏洞的類(lèi)型介紹
所以我們?cè)诠ぷ髦芯唧w可見(jiàn)的漏洞類(lèi)型有哪些呢?以及他們的原理和防范措施又有哪些呢?我們一一來(lái)列舉并介紹一下。
注入類(lèi)(SQL 注入)
產(chǎn)生原理:
注入類(lèi)漏洞最常見(jiàn)的就是 SQL 注入,它是通過(guò)將惡意的 SQL 查詢或添加語(yǔ)句插入到應(yīng)用的輸入?yún)?shù)中,再在后臺(tái) SQL 服務(wù)器上解析執(zhí)行進(jìn)行的攻擊。
檢測(cè)方法:
檢查 POST 請(qǐng)求體中的參數(shù);
檢查 GET 請(qǐng)求頭 URL 中的參數(shù);
檢查 Cookie 值
檢查 http 頭部信息;
影響危害:
這種工具可以獲取數(shù)據(jù)庫(kù)中敏感信息,可以對(duì)數(shù)據(jù)庫(kù)中信息進(jìn)行非法操作或者篡改;同時(shí)還可以獲取服務(wù)器權(quán)限,對(duì)服務(wù)器進(jìn)行一些非法操作。
防御措施:
過(guò)濾用戶輸入的特殊字符;
敏感數(shù)據(jù)加密存儲(chǔ);
基于攻擊特征的匹配過(guò)濾。系統(tǒng)會(huì)將攻擊特征做成數(shù)據(jù)庫(kù),一旦匹配到這些攻擊特征就會(huì)認(rèn)定檢測(cè)到 SQL 注入。這種方式可以有效的過(guò)濾大部分 SQL 注入攻擊,但是大大增加了程序的復(fù)雜度,同時(shí)可能影響到業(yè)務(wù)的
正常查詢;對(duì)用戶輸入的特殊字符進(jìn)行轉(zhuǎn)義。例如,常見(jiàn)的 SQL 注入語(yǔ)句中都含有“‘’”,通過(guò)轉(zhuǎn)義將“‘’”轉(zhuǎn)義為“/”,SQL 注入語(yǔ)句就會(huì)達(dá)不到攻擊者預(yù)期的執(zhí)行效果,從而實(shí)現(xiàn)對(duì) SQL 注入進(jìn)行防御;
數(shù)據(jù)類(lèi)型進(jìn)行嚴(yán)格定義,數(shù)據(jù)長(zhǎng)度進(jìn)行嚴(yán)格規(guī)定。比如查詢數(shù)據(jù)庫(kù)某條記錄的 id,定義它為整型,如果用戶傳來(lái)的數(shù)據(jù)不滿足條件,要對(duì)數(shù)據(jù)進(jìn)行過(guò)濾。數(shù)據(jù)長(zhǎng)度也應(yīng)該做嚴(yán)格限制,可以防止較長(zhǎng)的 SQL 注入語(yǔ)句;
嚴(yán)格限制網(wǎng)站訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限;
其他防御措施。例如,避免網(wǎng)站顯示 SQL 執(zhí)行出錯(cuò)信息,防止攻擊者使用基于錯(cuò)誤的方式進(jìn)行注入;每個(gè)數(shù)據(jù)層編碼統(tǒng)一,防止過(guò)濾模型被繞過(guò)等。
權(quán)限類(lèi)(越權(quán))
產(chǎn)生原理:
由于服務(wù)器端對(duì)客戶提出的數(shù)據(jù)操作請(qǐng)求過(guò)分信任,忽略了對(duì)該用戶操作權(quán)限的判定,導(dǎo)致修改相關(guān)參數(shù)就可以擁有了其他賬戶的增、刪、查、改功能,從而導(dǎo)致越權(quán)漏洞。
檢測(cè)方法:
可以通過(guò)定位鑒權(quán)參數(shù),然后替換為其他賬戶鑒權(quán)參數(shù)的方法來(lái)發(fā)現(xiàn)越權(quán)漏洞。
影響危害:
越權(quán)漏洞的危害與影響主要是與對(duì)應(yīng)業(yè)務(wù)的重要性相關(guān),比如說(shuō)某一頁(yè)面服務(wù)器端響應(yīng)中返回登錄名、登錄密碼、手機(jī)號(hào)、身份證等敏感信息,如果存在平行越權(quán),通過(guò)對(duì)用戶 ID 的遍歷,就可以查看所有用戶的敏感信息,這種操作就很難被防火墻發(fā)現(xiàn),因?yàn)檫@和正常的訪問(wèn)請(qǐng)求沒(méi)有什么區(qū)別,也不會(huì)包含特殊字符,具有十足的隱秘性。
防御措施:
完善基礎(chǔ)安全架構(gòu),完善用戶權(quán)限體系。要知道哪些數(shù)據(jù)對(duì)應(yīng)哪些用戶,哪些數(shù)據(jù)不應(yīng)該由哪些用戶操作;
加強(qiáng)用戶鑒權(quán),服務(wù)端對(duì)請(qǐng)求的數(shù)據(jù)和當(dāng)前用戶身份做校驗(yàn);
編寫(xiě)代碼時(shí),不要直接使用對(duì)象的實(shí)名或關(guān)鍵字;
對(duì)于可控參數(shù)進(jìn)行嚴(yán)格的檢查與過(guò)濾。
文件操作類(lèi)(文件包含)
產(chǎn)生原理:
文件上傳漏洞是指由于程序代碼未對(duì)用戶提交的文件進(jìn)行嚴(yán)格的分析和檢查,導(dǎo)致攻擊者可以上傳可執(zhí)行的代碼文件,從而獲取 Web 應(yīng)用的控制權(quán)限(Getshell),導(dǎo)致文件泄露和惡意代碼注入。
檢測(cè)方法:
查看配置文件是否開(kāi)啟 allow_url_include()和allow_url_fopen;
上傳圖片,getshell;
讀取文件,讀取 PHP 文件;
包含日志文件,獲取 webshell。
影響危害:
會(huì)造成信息泄漏;或者網(wǎng)站被包含的木馬控制。
防御措施:
文件上傳的目錄設(shè)置為不可執(zhí)行。只要 Web 容器無(wú)法解析該目錄下面的文件,即使攻擊者上傳了腳本文件,服務(wù)器本身也不會(huì)受到影響。
判斷文件類(lèi)型。在判斷文件類(lèi)型時(shí),可以結(jié)合使用 MIME Type、后綴檢查等方式。在文件類(lèi)型檢查中,強(qiáng)烈推薦白名單方式,黑名單的方式已經(jīng)無(wú)數(shù)次被證明是不可靠的。
使用隨機(jī)數(shù)改寫(xiě)文件名和文件路徑。文件上傳如果要執(zhí)行代碼,則需要用戶能夠訪問(wèn)到這個(gè)文件。在某些環(huán)境中,用戶能上傳,但不能訪問(wèn)。如果應(yīng)用了隨機(jī)數(shù)改寫(xiě)了文件名和路徑,將極大地增加攻擊的成本。
使用安全設(shè)備防御。文件上傳攻擊的本質(zhì)就是將惡意文件或者腳本上傳到服務(wù)器,專(zhuān)業(yè)的安全設(shè)備防御此類(lèi)漏洞主要是通過(guò)對(duì)漏洞的上傳利用行為和惡意文件的上傳過(guò)程進(jìn)行檢測(cè)。
信息泄漏類(lèi)
產(chǎn)生原理:
當(dāng)系統(tǒng)配置存放不當(dāng),導(dǎo)致 Web 系統(tǒng)備份,數(shù)據(jù)庫(kù)備份,用戶數(shù)據(jù)文件,暴露在 Web 系統(tǒng)上,引發(fā)信息泄漏;
檢測(cè)方法:
網(wǎng)站目錄爬??;
第三方平臺(tái)信息搜集;
影響危害:
賬號(hào)、密碼被非法使用;
網(wǎng)站文件或個(gè)人信息泄漏;
增大攻擊威脅;
防御措施:
刪除不必要的敏感文件;
敏感信息不要在網(wǎng)站源碼里面進(jìn)行注釋?zhuān)?/p>
敏感信息進(jìn)行加密存儲(chǔ),不將敏感信息上傳至互聯(lián)網(wǎng)平臺(tái);
社工類(lèi)(釣魚(yú))
產(chǎn)生原理:
攻擊者利用惡意軟件、病毒木馬偽造為正常文件或者鏈接誘使用戶點(diǎn)擊從而導(dǎo)致用戶等系統(tǒng)被攻擊或者控制。
檢測(cè)方法:
安裝安全防護(hù)軟件檢測(cè);
根據(jù)文件或鏈接人工判斷。
影響危害:
通過(guò)釣魚(yú)網(wǎng)站設(shè)下陷阱,大量收集用戶個(gè)人隱私信息,販賣(mài)個(gè)人信息或敲詐用戶;
通過(guò)釣魚(yú)網(wǎng)站收集、記錄用戶網(wǎng)上銀行賬號(hào)、密碼,盜竊用戶的網(wǎng)銀資金;
假冒網(wǎng)上購(gòu)物、在線支付網(wǎng)站、欺騙用戶直接將錢(qián)打入攻擊者賬戶;
假冒產(chǎn)品和廣告宣傳獲取用戶信任,騙取用戶錢(qián)財(cái);
通過(guò)社工結(jié)合釣魚(yú)方式獲取管理員賬號(hào)、密碼進(jìn)而非法控制網(wǎng)站或服務(wù)器。
防御措施:
提高信息安全意識(shí),不點(diǎn)擊不明來(lái)源的網(wǎng)址鏈接或文件;
安裝安全防護(hù)軟件,定期進(jìn)行安全檢測(cè);
妥善保管個(gè)人信息,勿將個(gè)人信息放至于公共互聯(lián)網(wǎng)。
總結(jié):
安全測(cè)試是一個(gè)要求知識(shí)面比較廣的測(cè)試崗位,所以要做好安全測(cè)試,需要了解一些生活中常見(jiàn)的安全漏洞場(chǎng)景以及對(duì)應(yīng)的一些原理和實(shí)現(xiàn)措施。知其然知其所以然,才能更好的學(xué)習(xí)和執(zhí)行安全測(cè)試。
聲明:本文為檸檬班tricy老師原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處!