繼續(xù)問(wèn)題列舉
- 檢測(cè)項(xiàng)目:下載任意APK漏洞
- 關(guān)鍵詞
apk
- 詳細(xì)報(bào)告
具有下載apk功能的組件存在導(dǎo)出漏洞介杆,并且未對(duì)組件調(diào)用者進(jìn)行校驗(yàn)。攻擊者可利用導(dǎo)出組件的手段下載攻擊者指定的任意apk文件侣姆,并且在下載過(guò)程中偽裝apk文件的下載信息夜郁,例如圖標(biāo)、描述等卿闹,導(dǎo)致用戶(hù)被誘導(dǎo)下載安裝惡意應(yīng)用揭糕。
1)檢測(cè)出此APP有申請(qǐng)使用網(wǎng)絡(luò)權(quán)限
2)掃描代碼,存在application/vnd.android.package-archive代碼
檢測(cè)出此APP存在下載任意APK漏洞風(fēng)險(xiǎn)
- 解決方案
此問(wèn)題經(jīng)查并沒(méi)有找到有關(guān)下載apk方面的代碼存在在外部直接調(diào)用組件導(dǎo)致下載錯(cuò)誤apk的地方锻霎。待查著角。
這個(gè)問(wèn)題的意思應(yīng)該是,代碼中存在一個(gè)組件旋恼,比如activity或者廣播之類(lèi)的吏口,能夠直接在外面app喚起,然后傳入合適的參數(shù)冰更,就可以直接下載對(duì)應(yīng)的apk了产徊,代碼中未校驗(yàn)發(fā)起方的身份。
- 檢測(cè)項(xiàng)目:SecureRandom猜解漏洞
- 關(guān)鍵詞
SecureRandom
- 詳細(xì)報(bào)告
在SecureRandom生成隨機(jī)數(shù)時(shí)蜀细,如果我們不調(diào)用setSeed方法舟铜,SecureRandom會(huì)從系統(tǒng)的中找到一個(gè)默認(rèn)隨機(jī)源。每次生成隨機(jī)數(shù)時(shí)都會(huì)從這個(gè)隨機(jī)源中取seed奠衔。在linux和Android中這個(gè)隨機(jī)源位于/dev/urandom文件谆刨。 如果我們?cè)诮K端可以運(yùn)行cat /dev/urandom命令塘娶,會(huì)觀(guān)察到隨機(jī)值會(huì)不斷的打印到屏幕上。 在Android 4.2以下痊夭,SecureRandom是基于老版的Bouncy Castle實(shí)現(xiàn)的刁岸。如果生成SecureRandom對(duì)象后馬上調(diào)用setSeed方法。SecureRandom會(huì)用用戶(hù)設(shè)置的seed代替默認(rèn)的隨機(jī)源她我。使得每次生成隨機(jī)數(shù)時(shí)都是會(huì)使用相同的seed作為輸入难捌。從而導(dǎo)致生成的隨機(jī)數(shù)是相同的。 該漏洞存在于Android系統(tǒng)隨機(jī)生成數(shù)字串安全密鑰的環(huán)節(jié)中鸦难。該漏洞的生成原因是對(duì)SecureRandom類(lèi)的不正確使用方式導(dǎo)致的根吁。 翻看Android的官方文檔會(huì)發(fā)現(xiàn)。對(duì)于SecureRandom類(lèi)的構(gòu)造函數(shù)SecureRandom(byte[] seed)和SecureRandom#setSeed方法有一段安全性提醒:“Seeds this SecureRandom instance with the specified Seeding SecureRandom may be insecure”
總共檢測(cè)SecureRandom【1】條 :
const-string v9, "RSA"
invoke-static {v9}, Ljava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
move-result-object v1
.line 162
.local v1, "keygen":Ljava/security/KeyPairGenerator;
new-instance v7, Ljava/security/SecureRandom;
invoke-direct {v7}, Ljava/security/SecureRandom;-><init>()V
.line 164
.local v7, "random":Ljava/security/SecureRandom;
const-wide/16 v10, 0x3e8 invoke-virtual {v7, v10, v11}, Ljava/security/SecureRandom;->setSeed(J)V
com/hisun/b2c/api/cipher/RSA.smali
- 解決方案
正確使用SecureRandom類(lèi)不要使用自定義隨機(jī)源代替系統(tǒng)默認(rèn)隨機(jī)源除非有特殊需求合蔽,在使用SecureRandom類(lèi)時(shí)击敌,不要調(diào)用以下函數(shù):\r
SecureRandom::SecureRandom(byte[] seed)\r
SecureRandom::setSeed(long seed) SecureRandom::setSeed(byte[] seed)
此問(wèn)題中,問(wèn)題出現(xiàn)在com/hisun/b2c/api/cipher/RSA這個(gè)類(lèi)所在的插件中拴事,初步看并不是官方插件沃斤,需要檢查這個(gè)自定義插件中的用法,按照解決方法中的說(shuō)明修改刃宵。
- 檢測(cè)項(xiàng)目:SSL證書(shū)使用規(guī)范檢測(cè)
- 關(guān)鍵詞
SSL衡瓶、https、證書(shū)
- 詳細(xì)報(bào)告
程序中在使用HTTPS 請(qǐng)求時(shí)開(kāi)發(fā)者在封包傳遞時(shí)雖然使用了 SSL 加密鏈接牲证,如果沒(méi)有進(jìn)行嚴(yán)格校驗(yàn) SSL 證書(shū)哮针,造成了可被抓包分析明文數(shù)據(jù)、修改封包重發(fā)的危險(xiǎn)漏洞
總共檢測(cè)資源文件中包含SSL關(guān)鍵類(lèi)【7】條
檢測(cè)代碼中包含SSL關(guān)鍵類(lèi)路徑:
檢測(cè)到包含ssl關(guān)鍵類(lèi)路徑
[/smali/com/amap/api/services/core/k$b.smali]
檢測(cè)到包含ssl關(guān)鍵類(lèi)路徑
[/smali/com/baidu/lbsapi/auth/h.smali]
檢測(cè)到包含ssl關(guān)鍵類(lèi)路徑
[/smali/org/zywx/wbpalmstar/platform/push/report/PushReportHttpClient$ESSLSocketFactory$1.smali]
檢測(cè)到包含ssl關(guān)鍵類(lèi)路徑
[/smali/org/zywx/wbpalmstar/plugin/uexmultiHttp/HX509TrustManager.smali]
檢測(cè)到包含ssl關(guān)鍵類(lèi)路徑
[/smali/com/baidu/location/ai.smali]
...
此處省略【2】條數(shù)據(jù)
...
- 解決方案
引擎:
2015年之后的Android引擎版本已經(jīng)剔除了包含漏洞的代碼坦袍,替換為可配置是否校驗(yàn)的安全https請(qǐng)求方式十厢。需要更換最新版的引擎。
插件:
uexXmlHttpMgr插件捂齐,請(qǐng)使用最新版本(如果引擎沒(méi)有升級(jí)4.x蛮放,插件就要用3.x的最新版本),以解決此問(wèn)題奠宜。
上述問(wèn)題中還發(fā)現(xiàn)在高德地圖包颁、百度SDK處存在的漏洞,需要更新uexBaiduMap压真、uexGaodeMap娩嚼、uexLocation這些插件版本為最新,嘗試修復(fù)此問(wèn)題榴都。