目前手機App測試還是以發(fā)現(xiàn)bug為主妙真,主要測試流程就是服務(wù)器接口測試,客戶端功能性覆蓋矿筝,以及自動化配合的性能希俩,適配,壓測等酥宴,對于App安全性測試貌似沒有系統(tǒng)全面統(tǒng)一的標(biāo)準(zhǔn)和流程啦吧,其實安全性bug也可以是bug的一種,只不過更加隱秘拙寡,難以發(fā)現(xiàn)授滓,尤其針對于手機App。
以webview為主體的app肆糕,站在入侵或者攻擊的角度來講般堆,安全隱患在于http抓包,逆向工程擎宝。談這之前先講講webview相關(guān)的app郁妈,前一段時間有個曝工資的軟件很火,但有查詢次數(shù)的限制绍申,抓包研究了一下噩咪,發(fā)現(xiàn)其主要還是webview,通過抓包詳細分析极阅,才明白他記錄查詢次數(shù)的手段胃碾,每一個用戶都會分配一個id,以及一個代表查詢次數(shù)count以cookie的形式保存到本地筋搏,通過維護cookie達到限制查詢次數(shù)的目的仆百,所以清除cookie就可以無限制的查詢了,個人覺得奔脐,webview相關(guān)的app安全性測試應(yīng)該還是web測試那一套俄周,xss攻擊吁讨,sql注入等。
大部分app還是走的http或者https峦朗,所以防http抓包泄露用戶信息以及系統(tǒng)自身漏洞是必要的建丧,畢竟像騰訊那種通過自身通信協(xié)議增加安全性的還是少數(shù)的。
既然有接口測試為什么還需要單獨對客戶端進行抓包驗證安全性呢波势?這么說吧翎朱,接口測試其實最主要的驗證接口邏輯,可用性尺铣,邊界值拴曲,異常檢查,但并不能預(yù)先保證客戶端調(diào)用不出問題凛忿,一個針對多個app抓包都發(fā)現(xiàn)的問題可以說明:抓了好多社交性app澈灼,發(fā)現(xiàn)對于用戶資料隱私泄露還是很嚴(yán)重的,當(dāng)你查看一個陌生用戶信息時侄非,一些手機號蕉汪,qq等信息頁面上應(yīng)該不顯示的,但這些信息不顯示并不代表服務(wù)器沒有下發(fā)逞怨,好多都是客戶端限制的者疤,通過抓包,完全可以查看到陌生用戶的app叠赦。再如好多發(fā)帖驹马,push消息的應(yīng)用,如果沒有消息有效性的驗證除秀,抓到包之后篡改消息糯累,服務(wù)器一點反應(yīng)都沒,這就會留有極大的隱患册踩。
至于逆向工程這點泳姐,對于android就很好理解了,反編譯暂吉,修改或者插入自己的代碼胖秒,以達到相應(yīng)目的。真見過幾個沒有代碼混淆的app慕的,包括我們自己的以及大名鼎鼎snapchat阎肝,記得有個游戲特搞笑,游戲主題是C#寫得肮街,結(jié)果java的代碼混淆了风题,C#的代碼沒有,修改了幾個參數(shù)值,插了幾段自己的代碼沛硅,就作弊成功了眼刃。尤其好多開放平臺的游戲,通過開放平臺sdk文檔摇肌,再加上反編譯后些許信息鸟整,即使代碼混淆了,也能推測出好多東西朦蕴。這些都是安全性隱患。
以上這些只是最近一段時間對于手機app安全性測試的一點認(rèn)識弟头,在app測試中安全測試對于測試人員素質(zhì)要求還是很高的吩抓,尤其好多都是經(jīng)驗性的東西,只有通過不斷增加經(jīng)驗赴恨,才能更好的做好測試疹娶。希望對新手有幫助!