APP手勢密碼繞過

來源:互聯網
上載者:User

標籤:做了   按鈕   efs   時間   gpo   and   加密   編輯   就會   

之前寫的文章收到了很多的好評,主要就是協助到了大家學習到了新的思路。自從發布了第一篇文章,我就開始籌備第二篇文章了,最終打算在07v8首發,這篇文章我可以保障大家能夠學習到很多思路。之前想準備例子視頻,請求了很多家廠商進行授權,但是涉及漏洞資訊方面的,廠商都是很嚴謹的,所以,整個過程沒有相關的實際例子,但是我儘可能的用詳細的描述讓大家能夠看得懂。大家不要睡著呦~

 

 

說到APP手勢密碼繞過的問題,大家可能有些從來沒接觸過,或者接觸過,但是思路也就停留在那幾個點上,這裡我總結了我這1年來白帽子生涯當中所挖掘的關於這方面的思路,有些是網上已經有的,有些是我自己不斷摸索所發現的。

 

這裡說下APP手勢密碼繞過的危害,手勢密碼一般應用在支付類,金融類,安全類等相關的APP,比如XX金融,XX支付,XX錢包,XX資訊安全中心等APP,這些基本都會有手勢密碼,手勢密碼是一個使用者的第一把APP鎖,如果這個鎖攻破了,那麼後面也就容易對使用者造成威脅,雖然這個問題利用起來是需要物理操作,但是本質上我們不看如何的利用起來如何如何的難,我們就看它的安全性漏洞問題。本次文章裡所有說到的思路包含四種環境:需要ROOT許可權,不需要ROOT環境,需要越獄環境,不需要越獄環境。

 

無需ROOT&越獄環境手勢密碼繞過的思路

 

0x01   利用APP廣告繞過

本來打算想到網上找例子,但是沒有找到。一般APP都會在啟動頁面時載入廣告,此時,如果驗證不當,當你點擊廣告後直接返回一下,就可以繞過手勢密碼。

 

0x02   利用多重啟動繞過

這個多重啟動也是我之前很早發現的思路,之前發現以為必須要ROOT環境,後來發現完全不需要,直接開啟APP,停留在APP手勢密碼輸入頁面,此時我們按home鍵返回到案頭,隨便開啟個應用市場,再搜尋這個APP,此時由於你已經下載了這個APP,那麼它顯示的就是開啟,這時你點擊開啟,它會又重新啟動一次APP,如果驗證不當,可導致直接繞過手勢密碼,進入到APP。

 

0x03   利用退出繞過&爆破

這個問題也是我在很久之前測試中發現的,當然,現在這種問題很多APP還是存在的,希望儘快修複這方面的問題。一般手勢密碼允許輸入的錯誤次數為5次,當錯誤次數達到了5次了,就會需要重新登入,而這時這個超過次數的資訊可能會彈出框來提醒,或者直接顯示在TextView,也就是直接顯示在手勢密碼介面上,這都不是問題,不要點擊任何解密,比如它彈出了手勢密碼次數超過限制框框,資訊框下方會有個確認的按鈕,不要點擊,我們直接返回到案頭,然後清理掉背景APP,有時候會清理不乾淨,導致還是在後台允許著,這可能會導致失敗,所以,為了成功起見,到設定裡的找到相關的應用,然後選擇強制停止,然後再次開啟APP,這時如果驗證沒做好,就會直接進到首頁面,或請輸入新的手勢密碼頁面,或者會再次跳出手勢密碼驗證介面,這時跳出的手勢密碼驗證頁面就存在爆破的問題,因為現在你又有5次機會輸入手勢密碼,以此思路循壞,可造成對手勢密碼的暴力拆解。

這個問題我找到了相關的例子:

http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0127528.html

 

0x04   利用清理不當繞過

一些APP會這樣儲存手勢密碼,把手勢密碼儲存在本地文本資訊裡,把賬戶的登入狀態資訊儲存在本機資料庫裡,當清理掉這個本機資料後,實際上它並沒有清理掉登入資訊也就是並沒有清理掉本機資料庫資訊,而是清理掉了本地文本資訊,這就導致了清理掉了手勢密碼,而登入狀態還是保持的,就導致了繞過問題。另一個思路比如你直接卸載再安裝同樣是這個原理。

這裡我找到了2個例子,第一個例子:

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

第二個例子:

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

 

0x05   利用顯示不當繞過

一些APP當你啟動APP的時候,它會在短時間內進入到或者說可以點擊到APP內的某些功能,此時你只要一直點擊這個頁面,只要夠快,就可以繞過手勢密碼,達到這個功能介面。

關於這個問題,我找到了例子:

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

 

0x06   利用APP內建提示繞過

一些APP會內建提示,比如在狀態列內是不是推送一些資訊,如果驗證不當,就可以直接繞過手勢密碼,直接進入到首頁面。

 

0x07   利用快捷發送繞過

這個我從來就沒遇到過,APP手勢密碼驗證介面會出現設定按鈕,直接設定沒有加以驗證從而繞過。

這類問題我找到了例子:

http://wooyun.jozxing.cc/static/bugs/wooyun-2012-014456.html

 

0x09   利用清理缺陷繞過

跟剛剛那個說的很像,也是手勢密碼跟賬戶資訊儲存在不同處,而追後只清理掉手勢密碼沒清理掉登入資訊的問題,在需要手勢密碼驗證的介面點擊忘記手勢密碼,此時會跳轉到登入介面,直接返回到案頭,清理掉後台啟動並執行APP,再次開啟就直接進入到主介面,並且是登入狀態。

 

0x10   利用介面設計缺陷繞過

以前看到過相關問題,問題是出現在IOS下的,所以我就列出來了,當進入到手勢密碼介面,可以左右滑動,從而滑動到首頁面,繞過手勢密碼,這個問題可能已經很少軟體存在了。

 

總結:

以上思路有些是我自己測試過程中所發現的,有些是網上的,以上思路都是在無需ROOT環境下或越獄下實現的,但是IOS下的軟體這裡面的思路基本很少可以實現,因為這些思路主要是android 下的APP問題。現在很多大型APP有一半都存在這個問題,希望各大廠商下的SRC儘快去修複或者白帽子發現了儘快提交,避免對使用者以及自身產品造成影響。

 

以上是無需各種環境的,下面這些是需要高許可權的環境下的繞過思路。

 

ROOT許可權&越權許可權下繞過手勢密碼的思路

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

 

0x01   利用拒絕服務繞過

通過分析APP,找到跟手勢密碼相關的組件,利用拒絕服務的攻擊可直接繞過手勢密碼到達首頁面,因為都是不同的Activity,當這個Activity停止後,就會跳轉到下個Activity,而下個Activity就是首頁面,從而繞過了手勢密碼。

這個問題我沒有在測試過程中應用過,我找到了相關的例子可提供詳細的參考: 

http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0177256.html

 

0x02   修改shared_prefs目錄下的檔案從而繞過的思路總結

我為了省略一些不必要的分類,就把所有關於這個目錄下的繞過方式歸類到這第二種思路內,方法大家閱讀吸收。在我挖掘這方面問題的這麼多時間來,我把容易出現點儘可能詳細的描述出來。在這個檔案夾內我們只看XML,有些備份的檔案就沒必要看了,在這麼眾多的檔案內怎麼找到關於這個手勢密碼相關的檔案內, 這裡我就給大家說下我的技巧吧,我的技巧其實很簡單,比如你修改手勢密碼時過好1分鐘再修改,因為你進入APP時會載入資訊,此時檔案時間會同步變動,等在設定手勢密碼那裡我們停住,等過1分鐘再修改,這時,就可以篩選出相對來說比較精確的檔案了,這時再一一查看,全都是加密的值就沒必要去看,參數相對來說很少且基本都是time值,也沒必要去看,後面可以通過相同的方法再來一次篩選。

 

經過如上你找到了儲存手勢密碼的檔案後,就可以開始修改了,這裡我說下相關的思路。

 

第一種思路:修改檔案許可權

你可以把它的讀許可權去掉,只留下寫入許可權,如果APP驗證不當,當你啟動APP後它便會調用設定手勢密碼的介面,因為你沒有讀許可權,那麼只有寫,誤以為你需要設定手勢密碼,所以繞過了手勢密碼驗證。當然也可以把所有許可權全部去掉,不讓它載入手勢密碼,那麼直接啟動就行。

 

第二種思路:修改檔案內容

當修改許可權這種思路無用時,就得需要修改內容了。在檔案內找到手勢密碼,看手勢密碼是否加密,如果加密看能否得知加密方式以及明文資訊,比如是base64或MD5等一些常見加密,那就去解密,便可得帶密碼,直接輸入密碼就行。如何加密方式無從得知,可以測試當關閉手勢密碼後手勢密碼的值,如果這時這個參數內的值被清空或者這個參數被刪除了,就可以利用這種方式清空這個參數或參數值,如果當手勢密碼關閉時這時還是存在值,可以複製這個關閉時產生的值用在另一個賬戶當中,看能夠強制關閉,如果沒有做校正那麼就可以直接強制關閉手勢密碼,達到繞過目的。這裡我說下我的一個小技巧,可能這個問題會困擾到很多挖掘這方面問題的白帽子,在你修改這個檔案時,你可能你發現你修改了,但是APP任何變化,比如你都禁用了任何許可權了但是卻還是沒有任何變化,此時問題不是APP做了什麼驗證和限制,而且你沒有徹底的清理掉後台啟動並執行APP進場,當你修改時,其實它一直在運行著,運行著是不能修改檔案內容的,就好你你卸載正在啟動並執行軟體一樣,只不過在手機上你修改檔案時看不到任何關於APP正在運行無法修改檔案的提示,而電腦上就會提醒,所以你應該到設定內或捷徑找到對應APP,選擇強制退出,然後再修改檔案,再開啟,就可以了。網上我實在是找不到這相關的例子,找到了一個但是也只是很簡單簡單的明文顯示問題,這讓我很無奈。

這是一個手勢密碼明文顯示問題:

http://wooyun.jozxing.cc/static/bugs/wooyun-2016-0190545.html

 

第三種思路:修改目錄許可權

當你發現修改對應的檔案沒有作用的時候,可能是你找錯了或者修改有問題,這時你可以嘗試修改這個shared_prefs目錄許可權,把讀寫權限全部去掉再運行APP,這時就可以繞過手勢密碼。

 

0x03   修改databases目錄下的檔案從而達到繞過

同樣是利用上面的方法找到相關手勢密碼所存放的資料庫檔案。當你找到了儲存手勢密碼的相關檔案,我這裡就說下相關思路。

 

提前說下,如果你開啟資料庫檔案出現這個錯誤提示

 

其實有很多思路,你可以修改許可權,具體是修改哪裡的許可權我忘記了,好像是修改這個資料庫檔案的許可權,或者資料庫目錄許可權,把執行許可權都勾上,具體請自己去測試下。

 

也可以直接把這個資料庫地址複製到本地目錄也就是sdcard目錄下,就可以正常開啟,因為許可權允許,然後修改後再覆蓋回去,再修改好相關許可權即可。

 

第一種思路:修改資料庫檔案內容

如果手勢密碼是明文存放在資料庫檔案內,可以通過Sqlite編輯器找到對應的資料庫檔案,修改裡面內容,同樣,如果加了密可以嘗試解密,如果不行,進行不斷測試,看當無手勢密碼時這個資料庫裡的值得內容為什麼,如何為空白,那麼就可以直接清除掉當前的內容就可以繞過,如果是其它值同樣複製下這個關閉下的值去替換看能夠關閉不同的賬戶手勢密碼,如果能,那麼問題就存在。

 

第二種思路:修改資料庫檔案許可權

當第一種思路不行時,你可以嘗試修改當前資料庫檔案許可權,把所有許可權去掉,看能否繞過。

 

第三種思路:修改資料庫目錄許可權

如果都不行,那麼可能是你找錯了檔案或者修改出錯,可以直接修改目錄許可權,把所有許可權去掉或者只去掉執行許可權,看能否繞過

 

0x04   修改files目錄的檔案從而達到繞過

這個也是我在測試中發現的問題,有時候這個目錄下會存放這手勢密碼相關的檔案,在這裡你可以根據我上面說的思路是具體哪個檔案,然後不停開關手勢密碼查看其內容已經其它檔案是否跟著變換,也可以嘗試修改檔案許可權或者目錄許可權。

 

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

 

文章中有些思路算是我自己發現的也可以說是首發,最後我在把我一個最新思路公布出來,我真的毫無保留的奉獻給大家了,為的就是促進這方面更安全的發展以及讓你們學習到更多的相關思路,以後可能做開發或者以及在做開發的過程中可以規避這些問題

 

最新思路:禁用許可權再開啟許可權繞過

這個問題需要看APP是不是即時的互動,也就是當本地本件發送改變APP馬上就根據本地檔案的改變做出改變。

 

同樣是找到相關檔案,當你修改這個檔案的許可權時,比如把讀許可權去掉,你再開啟APP,發現沒有驗證手勢密碼,可能你此時此刻很開心,但是你會發現當前的登入資訊以及被清除掉了,這時不要沮喪,這時再把讀許可權修改回去,打上勾,你回到APP,只要它可以自動同步了,那麼此時就會讀取資料庫裡的登入資訊,那麼狀態就會從未登入狀態變為登入狀態了。

 

也可以直接修改目前的目錄的許可權,思路也是同樣的。

 

如果以上所有思路都是不可行的,可以嘗試最終的這個思路,只要它是即時的,基本可以繞過吧。

 

有些手勢密碼跟登入資訊混合在一起,也加了校正,此時你找到資料庫目錄databases,把讀許可權全部去掉,然後開啟APP,此時它會進入到首頁,但是沒有任何登入資訊,可能會顯示未登入或者一片空白資訊,此時你再把讀許可權修改回去再回到當前APP,此時它會自動載入APP登入資訊,那麼登入資訊就出來了,此時手勢密碼也就繞過成功。

 

總結:我為什麼寫這樣的一片文章?因為我注意到目前沒有人總結這方面的思路,所以我用我這麼久挖掘裡發現的思路和網上的一些思路歸結為一起做了總結,但是我想說網上的思路我都從來沒有成功過,我也沒在網上找相關的思路,文章內大部分思路都是我自己在繞過手勢密碼時逐一運用過的,所以我歸結為了一起,目前是讓更多的人學習到相關的知識以及思路,讓廠商更早得知道自己產品所存在的問題從而儘早修複。整個文章寫作過程用了4個多小時,很快樂!這裡面很多問題都是由於沒有對本地手勢密碼加以驗證以及做出即時驗證從而導致的問題,之前也有很多廠商說你這個問題不構成威脅,因為你是在ROOT許可權下實現的,但是我還是那句話,如果你的APP不存在問題,不管我在什麼環境下都無法找到你的漏洞,歸根到底還是你的APP存在問題,問題就在這裡,發現了問題,去解決,讓這個世界更美!最後希望大家堅持自己所學,在即將到來的新的一年,祝大家新年快樂吧!下次文章見~

 

 

  07v8  Double-S說

      

本文作者在文中歸納總結了作者在挖洞過程中對於APP手勢密碼繞過的思路以及網上的一些思路進行了總結,希望讓更多白帽們能認識到更多的挖洞思路和想法,希望大家有所收穫,也希望更多的廠商更加註重安全。

APP手勢密碼繞過

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.