“
什么是安全測(cè)試侨嘀?為什么要做安全測(cè)試妨猩?安全測(cè)試與功能測(cè)試之間有何聯(lián)系??
”
今天遭笋,很多軟件并沒有經(jīng)過專門的安全測(cè)試便運(yùn)行在互聯(lián)網(wǎng)上坝冕,它們攜帶著各類安全漏洞直接暴露在公眾面前,其中一些漏洞甚至直指軟件所承載的核心敏感信息或業(yè)務(wù)邏輯瓦呼。
這些漏洞一旦被不懷好意者利用喂窟,很可能會(huì)給企業(yè)造成經(jīng)濟(jì)損失,帶來負(fù)面聲譽(yù)影響的同時(shí)吵血,還可能被起訴遭到罰款等等谎替,細(xì)思極恐。其中的一部分原因是企業(yè)本身安全意識(shí)不強(qiáng)蹋辅,但是很多時(shí)候雖然軟件企業(yè)已經(jīng)開始意識(shí)到這些問題钱贯,卻苦于缺少專業(yè)的安全測(cè)試人員,他們不得不冒著極大的風(fēng)險(xiǎn)先上線賭一把運(yùn)氣再說侦另。
既然如此秩命,我們測(cè)試人員作為質(zhì)量代言人怎能對(duì)此置之不理呢?
你也許會(huì)抱怨褒傅,安全測(cè)試水太深了弃锐,不知道從何下手。
我非常有幸能夠在項(xiàng)目上跟“神秘的安全測(cè)試人員”學(xué)習(xí)如何進(jìn)行安全測(cè)試殿托,發(fā)現(xiàn)“神秘的安全測(cè)試人員”不光是名字跟我們一樣都有“測(cè)試”二字霹菊,所做的事情在本質(zhì)上也是跟我們測(cè)試人員有很多相通。
在這里我想要跟大家分享一下在功能測(cè)試中如何利用我們的測(cè)試經(jīng)驗(yàn)開展安全測(cè)試支竹。
一旋廷、安全測(cè)試需要你轉(zhuǎn)換視角?
剛開始接觸安全測(cè)試,我很深的體會(huì)到了這一點(diǎn)礼搁。當(dāng)時(shí)我在測(cè)試一個(gè) Web 應(yīng)用的用戶登錄功能饶碘。當(dāng)我輸入錯(cuò)誤的用戶名來試著登陸時(shí),瀏覽器上的提示信息為“用戶不存在”馒吴。
當(dāng)我嘗試正確的用戶名而錯(cuò)誤的密碼時(shí)扎运,提示信息變成“密碼錯(cuò)誤瑟曲。”
對(duì)于這個(gè)清晰的錯(cuò)誤提示我非常滿意豪治。試想我若是一個(gè)真實(shí)的終端用戶洞拨,這個(gè)信息有效的幫助我縮小我所要糾錯(cuò)的范圍,提高效率鬼吵,非常好扣甲。
可是,就在我身邊坐著的安全測(cè)試人員馬上跳了出來:“這個(gè)提示信息需要改齿椅!敏感信息暴露了琉挖!”
看著我一臉茫然,這位安全測(cè)試人員告訴我涣脚,通過我們的提示信息示辈,惡意的系統(tǒng)使用者可以推測(cè)出哪些用戶名已經(jīng)存在于系統(tǒng)中,當(dāng)你用戶名是自增的遣蚀,那就更容易遍歷出來了矾麻。然后利用這些用戶名可以再進(jìn)行密碼的暴力破解,縮小破解的范圍芭梯。
所以险耀,這個(gè)信息雖然為合法用戶提供了便利,也為不懷好意的系統(tǒng)使用者提供了便利玖喘。而往往這種便利為惡意的系統(tǒng)使用者帶來的好處遠(yuǎn)大于給合法用戶帶來的好處甩牺。這個(gè)經(jīng)歷讓我受震動(dòng)的同時(shí),也意識(shí)到以前可能很多安全漏洞已經(jīng)擺在我的面前累奈,我卻沒有看出來贬派,因?yàn)槲野阉鼈冞^濾了。
二澎媒、改變測(cè)試中模擬的對(duì)象
我們?cè)谧龇前踩珳y(cè)試的時(shí)候通常把自己想象成一個(gè)合法用戶搞乏,然后開始驗(yàn)證系統(tǒng)是否能完成預(yù)設(shè)的目標(biāo)。
比如對(duì)于一個(gè)網(wǎng)上商城戒努,我們會(huì)驗(yàn)證系統(tǒng)是否能讓用戶完成商品的瀏覽與購(gòu)買请敦,我們也會(huì)測(cè)試一些異常的行為,比如購(gòu)買的商品數(shù)量不是數(shù)字而是一串無意義的字母時(shí)储玫,目的是看系統(tǒng)是否能比較優(yōu)雅的做出回應(yīng)侍筛。
我們這么測(cè)試的目的往往是為了確保用戶誤操作以后還能夠繼續(xù)他們的購(gòu)買,或者說不要給系統(tǒng)造成什么嚴(yán)重的傷害缘缚。
如果要做安全測(cè)試,我們則必須去模擬系統(tǒng)的另一類使用者-惡意用戶敌蚜。他們的目的是為了尋找系統(tǒng)中可鉆的漏洞桥滨。比如同樣是一個(gè)網(wǎng)上商城,惡意用戶的目標(biāo)之一就是要想辦法以較少的錢,甚至不付錢就能拿到商品齐媒。
例子:
修改接口數(shù)據(jù)蒲每,低價(jià)購(gòu)買高價(jià)商品
例子中通過輸入負(fù)數(shù)數(shù)量,進(jìn)行低價(jià)購(gòu)買喻括⊙樱可見測(cè)試中校驗(yàn)前端異常數(shù)據(jù)時(shí),也需要驗(yàn)證后端是否也有做校驗(yàn)唬血。
這個(gè)工具即下文提到的burpsuite,可在公眾號(hào)回復(fù)“安全測(cè)試工具”獲取
所以望蜡,我們轉(zhuǎn)換我們測(cè)試時(shí)所模擬的對(duì)象,把思維從一個(gè)合法用戶的視角中拉出來拷恨,轉(zhuǎn)換成一個(gè)惡意用戶脖律。
第三,使用專用的測(cè)試工具?
有了思維的轉(zhuǎn)換腕侄,我們可以加入新的測(cè)試想法小泉。但是,在具體做安全測(cè)試的時(shí)候我們會(huì)發(fā)現(xiàn)并不是那么容易去模擬惡意用戶的行為冕杠。畢竟系統(tǒng)的前端會(huì)給我們很多的屏障微姊。而且惡意用戶可不總都是從系統(tǒng)前門進(jìn)去的。這時(shí)候分预,使用一些工具兢交,比如 OWASP?Zap(https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project?)、Burp(https://portswigger.net/burp/?) 等是非常有幫助的噪舀。我們可以在系統(tǒng)界面上執(zhí)行功能測(cè)試的用例魁淳,用這些工具來獲取 http 請(qǐng)求,篡改后發(fā)送給后臺(tái)服務(wù)器与倡。甚至掃描出可能會(huì)被利用的漏洞再進(jìn)行驗(yàn)證界逛。有了這些實(shí)用又比較容易上手的工具,我們就可以執(zhí)行很多惡意用戶的操作場(chǎng)景了纺座。
第四息拜,了解一些常見的漏洞、安全事件净响、需要關(guān)注的測(cè)試點(diǎn)
這里是一些資料少欺、資訊:
OWASP Top 10 最嚴(yán)重的Web 應(yīng)用程序安全風(fēng)險(xiǎn)
拼多多過期優(yōu)惠券被利用,用戶可領(lǐng)取100元無門檻優(yōu)惠券
58同城簡(jiǎn)歷泄露事件
一個(gè)邏輯漏洞
移動(dòng)app安全測(cè)試關(guān)注點(diǎn)
功能測(cè)試中可以關(guān)注的模塊:
登錄馋贤、注冊(cè)模塊
忘記密碼
文件上傳下載
修改密碼
編輯赞别、發(fā)布
支付相關(guān)
url
等。
關(guān)注的點(diǎn):
數(shù)據(jù)庫(kù)安全:身份驗(yàn)證配乓、驗(yàn)證碼仿滔、會(huì)話管理惠毁、權(quán)限管理、敏感信息傳輸崎页、安全審計(jì)鞠绰、信息泄露、輸入校驗(yàn)飒焦、輸出編碼蜈膨、上傳下載、異常處理牺荠、注釋代碼等
接口:接口接受的數(shù)據(jù)需要做嚴(yán)格的處理翁巍、接口數(shù)據(jù)嚴(yán)格校驗(yàn)測(cè)試
篇幅過長(zhǎng),更多詳細(xì)待續(xù)
burpsuite工具? 常用功能(抓包改包志电、重放曙咽、爆破、漏洞掃描等)可在公眾號(hào):軟件測(cè)試er? ? ,? ? 回復(fù)“安全測(cè)試工具”獲取
文章首發(fā)于公眾號(hào):軟件測(cè)試er?