日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

挖洞技巧:APP手势密码绕过思路总结

發(fā)布時(shí)間:2024/1/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 挖洞技巧:APP手势密码绕过思路总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

說到APP手勢密碼繞過的問題,大家可能有些從來沒接觸過,或者接觸過,但是思路也就停留在那幾個(gè)點(diǎn)上,這里我總結(jié)了我這1年來白帽子生涯當(dāng)中所挖掘的關(guān)于這方面的思路,有些是網(wǎng)上已經(jīng)有的,有些是我自己不斷摸索所發(fā)現(xiàn)的。

這里說下APP手勢密碼繞過的危害,手勢密碼一般應(yīng)用在支付類,金融類,安全類等相關(guān)的APP,比如XX金融,XX支付,XX錢包,XX安全中心等APP,這些基本都會(huì)有手勢密碼,手勢密碼是一個(gè)用戶的第一把APP鎖,如果這個(gè)鎖攻破了,那么后面也就容易對(duì)用戶造成威脅,雖然這個(gè)問題利用起來是需要物理操作,但是本質(zhì)上我們不看如何的利用起來如何如何的難,我們就看它的安全漏洞問題。本次文章里所有說到的思路包含四種環(huán)境:需要ROOT權(quán)限,不需要ROOT環(huán)境,需要越獄環(huán)境,不需要越獄環(huán)境。

無需ROOT&越獄環(huán)境手勢密碼繞過的思路

0x01 ? 利用APP廣告繞過

本來打算想到網(wǎng)上找例子,但是沒有找到。一般APP都會(huì)在啟動(dòng)頁面時(shí)加載廣告,此時(shí),如果驗(yàn)證不當(dāng),當(dāng)你點(diǎn)擊廣告后直接返回一下,就可以繞過手勢密碼。

0x02 ? 利用多重啟動(dòng)繞過

這個(gè)多重啟動(dòng)也是我之前很早發(fā)現(xiàn)的思路,之前發(fā)現(xiàn)以為必須要ROOT環(huán)境,后來發(fā)現(xiàn)完全不需要,直接打開APP,停留在APP手勢密碼輸入頁面,此時(shí)我們按home鍵返回到桌面,隨便打開個(gè)應(yīng)用市場,再搜索這個(gè)APP,此時(shí)由于你已經(jīng)下載了這個(gè)APP,那么它顯示的就是打開,這時(shí)你點(diǎn)擊打開,它會(huì)又重新啟動(dòng)一次APP,如果驗(yàn)證不當(dāng),可導(dǎo)致直接繞過手勢密碼,進(jìn)入到APP。

0x03 ? 利用退出繞過&爆破

這個(gè)問題也是我在很久之前測試中發(fā)現(xiàn)的,當(dāng)然,現(xiàn)在這種問題很多APP還是存在的,希望盡快修復(fù)這方面的問題。一般手勢密碼允許輸入的錯(cuò)誤次數(shù)為5次,當(dāng)錯(cuò)誤次數(shù)達(dá)到了5次了,就會(huì)需要重新登錄,而這時(shí)這個(gè)超過次數(shù)的信息可能會(huì)彈出框來提醒,或者直接顯示在TextView,也就是直接顯示在手勢密碼界面上,這都不是問題,不要點(diǎn)擊任何解密,比如它彈出了手勢密碼次數(shù)超過限制框框,信息框下方會(huì)有個(gè)確認(rèn)的按鈕,不要點(diǎn)擊,我們直接返回到桌面,然后清理掉后臺(tái)的APP,有時(shí)候會(huì)清理不干凈,導(dǎo)致還是在后臺(tái)允許著,這可能會(huì)導(dǎo)致失敗,所以,為了成功起見,到設(shè)置里的找到相關(guān)的應(yīng)用,然后選擇強(qiáng)制停止,然后再次打開APP,這時(shí)如果驗(yàn)證沒做好,就會(huì)直接進(jìn)到主頁面,或請輸入新的手勢密碼頁面,或者會(huì)再次跳出手勢密碼驗(yàn)證界面,這時(shí)跳出的手勢密碼驗(yàn)證頁面就存在爆破的問題,因?yàn)楝F(xiàn)在你又有5次機(jī)會(huì)輸入手勢密碼,以此思路循壞,可造成對(duì)手勢密碼的暴力拆解。

這個(gè)問題我找到了相關(guān)的例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0127528.html

0x04 ? 利用清理不當(dāng)繞過

一些APP會(huì)這樣儲(chǔ)存手勢密碼,把手勢密碼儲(chǔ)存在本地文本信息里,把賬戶的登錄狀態(tài)信息儲(chǔ)存在本地?cái)?shù)據(jù)庫里,當(dāng)清理掉這個(gè)本地?cái)?shù)據(jù)后,實(shí)際上它并沒有清理掉登錄信息也就是并沒有清理掉本地?cái)?shù)據(jù)庫信息,而是清理掉了本地文本信息,這就導(dǎo)致了清理掉了手勢密碼,而登錄狀態(tài)還是保持的,就導(dǎo)致了繞過問題。另一個(gè)思路比如你直接卸載再安裝同樣是這個(gè)原理。

這里我找到了2個(gè)例子,第一個(gè)例子:

http://wooyun.jozxing.cc/static/bugs/wooyun-2013-036972.html

第二個(gè)例子:

http://wooyun.jozxing.cc/static/bugs/wooyun-2013-040714.html

0x05 ? 利用顯示不當(dāng)繞過

一些APP當(dāng)你啟動(dòng)APP的時(shí)候,它會(huì)在短時(shí)間內(nèi)進(jìn)入到或者說可以點(diǎn)擊到APP內(nèi)的某些功能,此時(shí)你只要一直點(diǎn)擊這個(gè)頁面,只要夠快,就可以繞過手勢密碼,達(dá)到這個(gè)功能界面。

關(guān)于這個(gè)問題,我找到了例子:

http://wooyun.jozxing.cc/static/bugs/wooyun-2014-057885.html

0x06 ? 利用APP自帶提示繞過

一些APP會(huì)自帶提示,比如在狀態(tài)欄內(nèi)是不是推送一些信息,如果驗(yàn)證不當(dāng),就可以直接繞過手勢密碼,直接進(jìn)入到主頁面。

0x07 ? 利用快捷發(fā)送繞過

這個(gè)我從來就沒遇到過,APP手勢密碼驗(yàn)證界面會(huì)出現(xiàn)設(shè)置按鈕,直接設(shè)置沒有加以驗(yàn)證從而繞過。

這類問題我找到了例子:http://wooyun.jozxing.cc/static/bugs/wooyun-2012-014456.html

0x08 ? 利用清理缺陷繞過

跟剛剛那個(gè)說的很像,也是手勢密碼跟賬戶信息儲(chǔ)存在不同處,而追后只清理掉手勢密碼沒清理掉登錄信息的問題,在需要手勢密碼驗(yàn)證的界面點(diǎn)擊忘記手勢密碼,此時(shí)會(huì)跳轉(zhuǎn)到登錄界面,直接返回到桌面,清理掉后臺(tái)運(yùn)行的APP,再次打開就直接進(jìn)入到主界面,并且是登錄狀態(tài)。

0x9 ? 利用界面設(shè)計(jì)缺陷繞過

以前看到過相關(guān)問題,問題是出現(xiàn)在IOS下的,所以我就列出來了,當(dāng)進(jìn)入到手勢密碼界面,可以左右滑動(dòng),從而滑動(dòng)到主頁面,繞過手勢密碼,這個(gè)問題可能已經(jīng)很少軟件存在了。

總結(jié):

以上思路有些是我自己測試過程中所發(fā)現(xiàn)的,有些是網(wǎng)上的,以上思路都是在無需ROOT環(huán)境下或越獄下實(shí)現(xiàn)的,但是IOS下的軟件這里面的思路基本很少可以實(shí)現(xiàn),因?yàn)檫@些思路主要是android 下的APP問題。現(xiàn)在很多大型APP有一半都存在這個(gè)問題,希望各大廠商下的SRC盡快去修復(fù)或者白帽子發(fā)現(xiàn)了盡快提交,避免對(duì)用戶以及自身產(chǎn)品造成影響。

?

以上是無需各種環(huán)境的,下面這些是需要高權(quán)限的環(huán)境下的繞過思路。

ROOT權(quán)限&越權(quán)權(quán)限下繞過手勢密碼的思路

(修改時(shí)所需要的軟件RE管理器、Sqlite編輯器)

0x01 ? 利用拒絕服務(wù)繞過

通過分析APP,找到跟手勢密碼相關(guān)的組件,利用拒絕服務(wù)攻擊可直接繞過手勢密碼到達(dá)主頁面,因?yàn)槎际遣煌腁ctivity,當(dāng)這個(gè)Activity停止后,就會(huì)跳轉(zhuǎn)到下個(gè)Activity,而下個(gè)Activity就是主頁面,從而繞過了手勢密碼。

這個(gè)問題我沒有在測試過程中應(yīng)用過,我找到了相關(guān)的例子可提供詳細(xì)的參考:?http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0177256.html

0x02 ? 修改shared_prefs目錄下的文件從而繞過的思路總結(jié)

我為了省略一些不必要的分類,就把所有關(guān)于這個(gè)目錄下的繞過方式歸類到這第二種思路內(nèi),方法大家閱讀吸收。在我挖掘這方面問題的這么多時(shí)間來,我把容易出現(xiàn)點(diǎn)盡可能詳細(xì)的描述出來。在這個(gè)文件夾內(nèi)我們只看XML,有些備份的文件就沒必要看了,在這么眾多的文件內(nèi)怎么找到關(guān)于這個(gè)手勢密碼相關(guān)的文件內(nèi), 這里我就給大家說下我的技巧吧,我的技巧其實(shí)很簡單,比如你修改手勢密碼時(shí)過好1分鐘再修改,因?yàn)槟氵M(jìn)入APP時(shí)會(huì)加載信息,此時(shí)文件時(shí)間會(huì)同步變動(dòng),等在設(shè)置手勢密碼那里我們停住,等過1分鐘再修改,這時(shí),就可以篩選出相對(duì)來說比較精確的文件了,這時(shí)再一一查看,全都是加密的值就沒必要去看,參數(shù)相對(duì)來說很少且基本都是time值,也沒必要去看,后面可以通過相同的方法再來一次篩選。

經(jīng)過如上你找到了儲(chǔ)存手勢密碼的文件后,就可以開始修改了,這里我說下相關(guān)的思路。

第一種思路:修改文件權(quán)限

你可以把它的讀權(quán)限去掉,只留下寫入權(quán)限,如果APP驗(yàn)證不當(dāng),當(dāng)你啟動(dòng)APP后它便會(huì)調(diào)用設(shè)置手勢密碼的界面,因?yàn)槟銢]有讀權(quán)限,那么只有寫,誤以為你需要設(shè)置手勢密碼,所以繞過了手勢密碼驗(yàn)證。當(dāng)然也可以把所有權(quán)限全部去掉,不讓它加載手勢密碼,那么直接啟動(dòng)就行。

第二種思路:修改文件內(nèi)容

當(dāng)修改權(quán)限這種思路無用時(shí),就得需要修改內(nèi)容了。在文件內(nèi)找到手勢密碼,看手勢密碼是否加密,如果加密看能否得知加密方式以及明文信息,比如是base64或MD5等一些常見加密,那就去解密,便可得帶密碼,直接輸入密碼就行。如何加密方式無從得知,可以測試當(dāng)關(guān)閉手勢密碼后手勢密碼的值,如果這時(shí)這個(gè)參數(shù)內(nèi)的值被清空或者這個(gè)參數(shù)被刪除了,就可以利用這種方式清空這個(gè)參數(shù)或參數(shù)值,如果當(dāng)手勢密碼關(guān)閉時(shí)這時(shí)還是存在值,可以復(fù)制這個(gè)關(guān)閉時(shí)產(chǎn)生的值用在另一個(gè)賬戶當(dāng)中,看能夠強(qiáng)制關(guān)閉,如果沒有做校驗(yàn)?zāi)敲淳涂梢灾苯訌?qiáng)制關(guān)閉手勢密碼,達(dá)到繞過目的。這里我說下我的一個(gè)小技巧,可能這個(gè)問題會(huì)困擾到很多挖掘這方面問題的白帽子,在你修改這個(gè)文件時(shí),你可能你發(fā)現(xiàn)你修改了,但是APP任何變化,比如你都禁用了任何權(quán)限了但是卻還是沒有任何變化,此時(shí)問題不是APP做了什么驗(yàn)證和限制,而且你沒有徹底的清理掉后臺(tái)運(yùn)行的APP進(jìn)場,當(dāng)你修改時(shí),其實(shí)它一直在運(yùn)行著,運(yùn)行著是不能修改文件內(nèi)容的,就好你你卸載正在運(yùn)行的軟件一樣,只不過在手機(jī)上你修改文件時(shí)看不到任何關(guān)于APP正在運(yùn)行無法修改文件的提示,而電腦上就會(huì)提醒,所以你應(yīng)該到設(shè)置內(nèi)或快捷方式找到對(duì)應(yīng)APP,選擇強(qiáng)制退出,然后再修改文件,再打開,就可以了。網(wǎng)上我實(shí)在是找不到這相關(guān)的例子,找到了一個(gè)但是也只是很簡單簡單的明文顯示問題,這讓我很無奈。

這是一個(gè)手勢密碼明文顯示問題:http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0190545.html

第三種思路:修改目錄權(quán)限

當(dāng)你發(fā)現(xiàn)修改對(duì)應(yīng)的文件沒有作用的時(shí)候,可能是你找錯(cuò)了或者修改有問題,這時(shí)你可以嘗試修改這個(gè)shared_prefs目錄權(quán)限,把讀寫權(quán)限全部去掉再運(yùn)行APP,這時(shí)就可以繞過手勢密碼。

0x03 ? 修改databases目錄下的文件從而達(dá)到繞過

同樣是利用上面的方法找到相關(guān)手勢密碼所存放的數(shù)據(jù)庫文件。當(dāng)你找到了儲(chǔ)存手勢密碼的相關(guān)文件,我這里就說下相關(guān)思路。

提前說下,如果你打開數(shù)據(jù)庫文件出現(xiàn)這個(gè)錯(cuò)誤提示

其實(shí)有很多思路,你可以修改權(quán)限,具體是修改哪里的權(quán)限我忘記了,好像是修改這個(gè)數(shù)據(jù)庫文件的權(quán)限,或者數(shù)據(jù)庫目錄權(quán)限,把執(zhí)行權(quán)限都勾上,具體請自己去測試下。

也可以直接把這個(gè)數(shù)據(jù)庫地址復(fù)制到本地目錄也就是sdcard目錄下,就可以正常打開,因?yàn)闄?quán)限允許,然后修改后再覆蓋回去,再修改好相關(guān)權(quán)限即可。

第一種思路:修改數(shù)據(jù)庫文件內(nèi)容

如果手勢密碼是明文存放在數(shù)據(jù)庫文件內(nèi),可以通過Sqlite編輯器找到對(duì)應(yīng)的數(shù)據(jù)庫文件,修改里面內(nèi)容,同樣,如果加了密可以嘗試解密,如果不行,進(jìn)行不斷測試,看當(dāng)無手勢密碼時(shí)這個(gè)數(shù)據(jù)庫里的值得內(nèi)容為什么,如何為空,那么就可以直接清除掉當(dāng)前的內(nèi)容就可以繞過,如果是其它值同樣復(fù)制下這個(gè)關(guān)閉下的值去替換看能夠關(guān)閉不同的賬戶手勢密碼,如果能,那么問題就存在。

第二種思路:修改數(shù)據(jù)庫文件權(quán)限

當(dāng)?shù)谝环N思路不行時(shí),你可以嘗試修改當(dāng)前數(shù)據(jù)庫文件權(quán)限,把所有權(quán)限去掉,看能否繞過。

第三種思路:修改數(shù)據(jù)庫目錄權(quán)限

如果都不行,那么可能是你找錯(cuò)了文件或者修改出錯(cuò),可以直接修改目錄權(quán)限,把所有權(quán)限去掉或者只去掉執(zhí)行權(quán)限,看能否繞過

0x04 ? 修改files目錄的文件從而達(dá)到繞過

這個(gè)也是我在測試中發(fā)現(xiàn)的問題,有時(shí)候這個(gè)目錄下會(huì)存放這手勢密碼相關(guān)的文件,在這里你可以根據(jù)我上面說的思路是具體哪個(gè)文件,然后不停開關(guān)手勢密碼查看其內(nèi)容已經(jīng)其它文件是否跟著變換,也可以嘗試修改文件權(quán)限或者目錄權(quán)限。

如何找到手勢密碼存放在哪里?關(guān)鍵就是我上面說的方法,不斷修改觀看其目錄和文件時(shí)間是否同步變換跟隨,這里說下,有些目錄時(shí)間跟你修改時(shí)間不同步但是其目錄里的文件是同步了的,比較隱蔽,比如你修改了手勢密碼,根據(jù)修改時(shí)間找相關(guān)的目錄以及文件,但是一些目錄它時(shí)間還是以前的時(shí)間,不細(xì)心的可能就會(huì)直接不看,但是我都會(huì)去看的,然后里面的文件最近修改時(shí)間就是我剛修改手勢密碼的時(shí)間,所以細(xì)心很重要,如果不注意這個(gè)問題,你可能就找不當(dāng)這個(gè)問題的存在或者需要花費(fèi)很久的時(shí)間才能找到了。

文章中有些思路算是我自己發(fā)現(xiàn)的也可以說是首發(fā),最后我在把我一個(gè)最新思路公布出來,我真的毫無保留的奉獻(xiàn)給大家了,為的就是促進(jìn)這方面更安全的發(fā)展以及讓你們學(xué)習(xí)到更多的相關(guān)思路,以后可能做開發(fā)或者以及在做開發(fā)的過程中可以規(guī)避這些問題。

最新思路:禁用權(quán)限再開啟權(quán)限繞過

這個(gè)問題需要看APP是不是實(shí)時(shí)的交互,也就是當(dāng)本地本件發(fā)送改變APP馬上就根據(jù)本地文件的改變做出改變。

同樣是找到相關(guān)文件,當(dāng)你修改這個(gè)文件的權(quán)限時(shí),比如把讀權(quán)限去掉,你再打開APP,發(fā)現(xiàn)沒有驗(yàn)證手勢密碼,可能你此時(shí)此刻很開心,但是你會(huì)發(fā)現(xiàn)當(dāng)前的登錄信息以及被清除掉了,這時(shí)不要沮喪,這時(shí)再把讀權(quán)限修改回去,打上勾,你回到APP,只要它可以自動(dòng)同步了,那么此時(shí)就會(huì)讀取數(shù)據(jù)庫里的登錄信息,那么狀態(tài)就會(huì)從未登錄狀態(tài)變?yōu)榈卿洜顟B(tài)了。

也可以直接修改當(dāng)前目錄的權(quán)限,思路也是同樣的。

如果以上所有思路都是不可行的,可以嘗試最終的這個(gè)思路,只要它是實(shí)時(shí)的,基本可以繞過吧。

有些手勢密碼跟登錄信息混合在一起,也加了校驗(yàn),此時(shí)你找到數(shù)據(jù)庫目錄databases,把讀權(quán)限全部去掉,然后打開APP,此時(shí)它會(huì)進(jìn)入到主頁,但是沒有任何登錄信息,可能會(huì)顯示未登錄或者一片空白信息,此時(shí)你再把讀權(quán)限修改回去再回到當(dāng)前APP,此時(shí)它會(huì)自動(dòng)加載APP登錄信息,那么登錄信息就出來了,此時(shí)手勢密碼也就繞過成功。

總結(jié):我為什么寫這樣的一片文章?因?yàn)槲易⒁獾侥壳皼]有人總結(jié)這方面的思路,所以我用我這么久挖掘里發(fā)現(xiàn)的思路和網(wǎng)上的一些思路歸結(jié)為一起做了總結(jié),但是我想說網(wǎng)上的思路我都從來沒有成功過,我也沒在網(wǎng)上找相關(guān)的思路,文章內(nèi)大部分思路都是我自己在繞過手勢密碼時(shí)逐一運(yùn)用過的,所以我歸結(jié)為了一起,目前是讓更多的人學(xué)習(xí)到相關(guān)的知識(shí)以及思路,讓廠商更早得知道自己產(chǎn)品所存在的問題從而盡早修復(fù)。整個(gè)文章寫作過程用了4個(gè)多小時(shí),很快樂!這里面很多問題都是由于沒有對(duì)本地手勢密碼加以驗(yàn)證以及做出實(shí)時(shí)驗(yàn)證從而導(dǎo)致的問題,之前也有很多廠商說你這個(gè)問題不構(gòu)成威脅,因?yàn)槟闶窃赗OOT權(quán)限下實(shí)現(xiàn)的,但是我還是那句話,如果你的APP不存在問題,不管我在什么環(huán)境下都無法找到你的漏洞,歸根到底還是你的APP存在問題,問題就在這里,發(fā)現(xiàn)了問題,去解決,讓這個(gè)世界更美!最后希望大家堅(jiān)持自己所學(xué),在即將到來的新的一年,祝大家新年快樂吧!下次文章見~

總結(jié)

以上是生活随笔為你收集整理的挖洞技巧:APP手势密码绕过思路总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。