系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > WiFi萬能鑰匙怎么知道WiFi密碼

WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?

時間:2017-10-26 10:31:20 作者:quers 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20171026/110086.html 手機查看 評論

  是不是一直都在好奇WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?有人說是直接破解,但對于WiFi萬能鑰匙的能力來說,窮舉法是很消耗時間的,事實上WiFi萬能鑰匙所用的是被偷偷上傳的WiFi數(shù)據(jù)存入服務器,然后再提供給下一個使用該網(wǎng)絡的用戶的。

WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?

  WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?

  WiFi萬能鑰匙的基礎功能并不是采用某些答案所述“密碼庫窮舉(逐個嘗試)暴力破解”的方式獲得正確密碼,而是通過用戶上傳分享的熱點(主動或“被動”)到后臺服務器的方式收集、積累數(shù)據(jù)。后臺服務器維護者一份熱點數(shù)據(jù)庫,其中包含著熱點名稱(或者用來唯一標識的MAC地址)以及與其對應的密碼字符串。查詢密碼時,用戶將周圍掃描到的陌生熱點信息上傳,服務器后臺查詢到相對應的密碼(如果分享過的話)后返回給APP供用戶選擇使用。不過WiFi共享鑰匙有一個“深度解鎖”的功能與“暴力破解”沾點邊,但它也僅僅是使用幾個常見的較為簡單的密碼來嘗試連接熱點,不能稱得上算“密碼庫窮舉”。

  現(xiàn)在WiFi萬能鑰匙充實密碼庫的方式主要是用戶主動分享,畢竟用戶基數(shù)變大了,但在以前可不是這樣。早期的WiFi萬能鑰匙得到熱點密碼數(shù)據(jù)的手段并不高明,甚至可以說是不光彩的。

  我們知道Android系統(tǒng)中有個文件是用來存儲WiFi密碼的,那就是/data/misc/wifi/wpa_supplicant.conf

WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?

  此文件只有當獲得root權限后才能訪問。

  圖上顯示有兩個WiFi熱點“network”,ssid是熱點名稱,psk是密碼。上面那個是我的私人熱點,另一個“Bjume”則是某商家提供的免費熱點。請注意,其中的密碼是明文顯示的“bjume2013”。

  得到了這個文件,或者能看到這個文件的內(nèi)容,就意味著能得到這臺手機登錄過的所有WiFi熱點,以及它們的明文密碼!

  早期版本的WiFi萬能鑰匙會向用戶申請root權限:

WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的?

  雖然我不是專職的Android開發(fā)者,但我畢竟也開發(fā)過一些自用的小工具,對系統(tǒng)提供的接口和權限還是略知一二的。WiFi萬能鑰匙的所有業(yè)務功能,包括掃描周邊的WiFi信號、通過網(wǎng)絡查詢對應WiFi信號的密碼、輸入密碼登錄WiFi、通過網(wǎng)絡將用戶在應用中輸入的密碼上傳到服務器,這些都可以使用基本的系統(tǒng)API實現(xiàn),不知道它為甚麼要申請root權限。難道是為了訪問wpa_supplicant.conf文件?單從這一點上作惡意揣測似乎不太妥當,畢竟在Android上很多別的行為也需要root(雖然我實在不知道WiFi萬能鑰匙哪個功能有這個需求),那么接下來的證據(jù)就無法回避了。

  通過對com.snda.wifilocating.apk文件(WiFi萬能鑰匙)進行反編譯之后,得到的很多smali腳本,有這么一個很有意思:

  1. 01/home/feng/documents/com.snda.wifilocating.apk/smali/com/snda/wifilocating/a/i.smali:
  2. 021049 invoke-direct {v2, v3}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
  3. 031050
  4. 041051: const-string v3, "cat /data/misc/wifi/wpa_supplicant.conf>/data/data/com.snda.wifilocating/wifi.conf\n"
  5. 051052
  6. 061053 invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
復制代碼
/home/feng/documents/com.snda.wifilocating.apk/smali/com/snda/wifilocating/a/i.smali: 1049 invoke-direct {v2, v3}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V 1050 1051: const-string v3, "cat /data/misc/wifi/wpa_supplicant.conf>/data/data/com.snda.wifilocating/wifi.conf\n" 1052 1053 invoke-virtual {v2, v3}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

  1051行,WiFi萬能鑰匙不僅訪問了wpa_supplicant.conf這個文件,還把其中的內(nèi)容復制了出來,放到了自己的緩存文件夾里。

  上面的數(shù)據(jù)表示W(wǎng)iFi萬能鑰匙有一項功能會默認上傳所有用戶登錄過的所有熱點密碼(注意1.0這個版本還沒有熱點備份功能),因此唯一合理的推測便產(chǎn)生了!當然這種推測仍然沒有十足的依據(jù)~

  以上內(nèi)容便是關于WiFi萬能鑰匙是怎么知道你家(別人家)WiFi密碼的一些分析,只是一個論證,并沒有十足的依據(jù),但筆者依然想告訴各位,在享受免費午餐的時候,請多多在意自身的信息安全,避免使用WiFi熱點支付。

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

人氣教程排行

相關系統(tǒng)推薦

官方交流群 軟件收錄