<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    移動應用測試之APP日志的抓取

    VSole2023-01-11 11:51:41

    1.為什么要抓取app日志

    在移動應用滲透測試中敏感信息安全風險檢測需要對應用日志進行分析,日志內容如果包含敏感信息,可能會造成數據泄漏的風險。

    在app應用程序發生異常出現Crash崩潰、ANR阻塞時通常說明應用程序存在一定的問題,這時候需要收集應用日志定位錯誤位置幫助開發調試修復程序。

    2.Logcat收集app日志相關工具配置

    Android日志系統提供了記錄和查看系統調試信息的功能。日志都是從各種軟件和一些系統的緩沖區中記錄下來的,緩沖區可以通過logcat命令來查看和使用。logcat本身是android的shell的一個命令,可以通過adb shell進入shell后執行logcat命令,也可以通過adb logcat直接運行。

    2.1 ADB的安裝與基礎使用

    adb全稱是Android Debug Bridge,它是一個命令行工具,通過它可以與Android設備進行交互,可以進行常見的安裝/卸載app、打開app、查看app的日志等操作。

    這里簡單列出幾條ADB常用命令為下文中我們測試使用:

    # 1.查看
    adb --help #查看幫助手冊
    adb devices #檢查連接到電腦的安卓設備,常用的檢查命令
    adb shell dumpsys activity | find "mFocusedActivity" #Android 7.0及以下查看前臺應用包名
    adb shell dumpsys activity | find "mResumedActivity" #Android 8.0及以上用此命令查看包名
    adb logcat #打印log信息
    adb logcat -v time #log信息顯示時間戳
    adb logcat -v time > d:\logcat.txt #把日志信息重定向至d:/logcat.txt
    
    # 2.連接與交互
    adb connect ip:port #通過WiFi進行遠程連接手機進行調試,手機和電腦需在同一個局域網上,計算機內部通信地址127.0.0.1,夜神模擬器默認的端口號是62001
    adb disconnect ip:port #斷開一個(ip:port)連接
    adb shell #登錄設備shell(安卓的底層是Linux)
    
    # 3.文件傳輸
    adb pull <手機文件路徑> <本機路徑> #從手機拉取文件到本地電腦
    adb push <本地電腦路徑> <手機路徑> #從本地推送文件到手機
    
    # 4.安裝與卸載
    adb install *.apk #為了快速獲取apk的安裝包路徑,可以直接把apk直接拖到cmd的窗口,安裝成功會返回success
    adb uninstall  #卸載需要輸入應用包名
    

    ADB的安裝:

    實際上adb是一個免安裝工具,使用adb時只需要adb工具被命令行調用到就可以了。

    1.首先根據系統的版本下載adb

    2.解壓下載的Platform-tools zip包,將Platform-tools路徑添加到系統環境變量中。隨后在命令行執行adb version查看adb版本,未出現報錯安裝配置成功。

    3.mac os中可直接使用brew進行安裝

    brew install android-platform-tools
    

    安裝完成后在根目錄.bash_profile添加環境變量,使用open .bash_profile打開編輯,在下方插入如下代碼

    export ANDROID_HOME=/Users/用戶名/Library/Android/sdk
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    

    保存后source .bash_profile更新變量,查看adb

    2.2Logcat語法命令

    語法格式:
    
    [adb] logcat [
    ] … [] …
    選項:
    -b:加載可供查看的備用日志緩沖區,例如event或radio。默認使用 main和system緩沖區集。請參閱查看備用日志緩沖區
    
    -c, –clear:清除所選的緩沖區并退出,默認緩沖區集為main和system。要清除所有緩沖區,請使用-b all -c。
    
    -e, –regex=:只輸出日志消息與匹配的行,其中是一個正則表達式
    
    -m, –max-count=:輸出行后退出。這樣是為了與–regex配對,但可以獨立運行
    
    -print:與–regex和–max-count配對,使內容繞過正則表達式過濾器,但仍能夠在獲得適當數量的匹配時停止
    
    -d:將日志轉儲到屏幕并退出
    
    -f:將日志消息輸出寫入
    
    -g, –buffer-size:輸出指定日志緩沖區的大小并退出
    
    -n:設置輪替日志的數量上限,默認值為4,需要使用 -r 選項
    
    -r:每輸出時輪替日志文件,默認值為16。需要使用-f選項
    
    -s:相當于過濾器表達式‘*:S’;它將所有標記的優先級設為“靜默”,并用于放在可添加內容的過濾器表達式列表之前
    
    -v:設置日志消息的輸出格式。默認格式為threadtime。
    
    -D, –dividers:輸出各個日志緩沖區之間的分隔線
    
    -c:清空(清除)整個日志并退出
    
    -t:僅輸出最新的行數。此選項包括-d功能
    

    2.3Logcat緩沖區

    android log輸出量巨大,特別是通信系統的log,因此,android把log輸出到不同的緩沖區中,目前定義了四個log緩沖區:

    1)Radio:輸出通信系統的log

    2)System:輸出系統組件的log

    3)Event:輸出event模塊的log

    4)Main:所有java層的log,遺跡不屬于上面3層的log

    緩沖區主要給系統組件使用,一般的應用不需要關心,應用的log都輸出到main緩沖區中。默認log輸出(不指定緩沖區的情況下)是輸出System和Main緩沖區的log。

    實例:

    adb logcat –b radio
    
    adb logcat –b system
    
    adb logcat –b events
    
    adb logcat –b main
    
    //將緩沖區的log打印到屏幕并退出
    adb logcat -d 
    //清除緩沖區log(testCase運行前可以先清除一下)
    adb logcat -c
    //打印緩沖區大小并退出
    adb logcat -g
    //輸出log
    adb logcat -f /data/local/tmp/log.txt -n 10 -r 1
    

    3.日志收集過程

    連接設備

    先將設備通過usb數據線連接到電腦,設備開啟USB調試。

    通過adb devices命令查看是否連接成功:

    molengsu@mlsdeMacBook-Pro / % adb devices
    List of devices attached
    FJH5T19114009780 device
    

    查看設備log輸出

    我們直接通過adb logcat查看的輸出是所有應用的

    adb logcat -d  ##所有應用logcat輸出
    

    為了精準分析我們可以通過應用pid來查看我們想要分析的應用日志。首先列出設備已安裝的應用查看應用包名

    adb shell pm list package
    

    然后獲取應用的pid,在獲取時現在手機上打開要獲取的應用,因為pid是分給進程的,應用運行起來才會分配pid。需要注意的是,pid是分配給進程的,如果app關閉了再重新打開,就會分配一個新的進程,同一個包名對應的pid就會變。

    adb shell dumpsys meminfo com.xxxx.xxxx  ##com.xxxx.xxxx是包名
    

    拿到pid后就接著可以輸出應用日志了

    adb logcat -d --pid=30923
    

    為了方便查找也可以將日志導出到文件中,導出時要注意新建一個文本向里寫入文本設置好可寫的權限。

    adb logcat -d --pid=30923 > logcat_test.txt
    

    loglogcat
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    大多數計算機系統設計為可與多個用戶一起使用。特權是指允許用戶執行的操作。普通特權包括查看和編輯文件或修改系統文件。特權升級意味著用戶獲得他們無權獲得的特權。這些特權可用于刪除文件,查看私人信息或安裝不需要的程序,例如病毒。
    一文吃透 Linux 提權
    2021-10-23 07:09:32
    特權升級意味著用戶獲得他們無權獲得的特權。通常,當系統存在允許繞過安全性的錯誤或對使用方法的設計假設存在缺陷時,通常會發生這種情況。結果是,具有比應用程序開發人員或系統管理員想要的特權更多的應用程序可以執行未經授權的操作。
    滲透過程中,我們可能用普通賬號進到了系統,在提權或者進一步信息收集的過程中,我們會獲得一些日志文件,根據這些日志文件我們需要進一步的分析。
    在app應用程序發生異常出現Crash崩潰、ANR阻塞時通常說明應用程序存在一定的問題,這時候需要收集應用日志定位錯誤位置幫助開發調試修復程序。日志都是從各種軟件和一些系統的緩沖區中記錄下來的,緩沖區可以通過logcat命令來查看和使用。logcat本身是android的shell的一個命令,可以通過adb shell進入shell后執行logcat命令,也可以通過adb logcat直接運行。
    Android 應用gl,使用了加固i,老版本的應用gl是js源碼,新版本更新后,剛開始以為是加密了源碼,分析后才知道是使用了Hermes優化引擎。Hermes優化的優化效果如下:優化前:優化后:二、前期準備2.1 繞過root檢測應用gl使用了加固i,在被root 的手機上運行,閃退。繞過方法也很簡單,在magisk的設置中,開啟遵守排除列表,然后在配置排除列表中選擇應用gl。
    為了避免下半輩子只能在幾平米的空間活動,我在某魚上淘到了一款藍牙鎖作為小藍車的平替。nRF藍牙抓包首先需要解決的問題是獲取藍牙鎖的MAC地址,因為最后我們需要使用gatttool直接通過MAC地址與藍牙鎖交互。比較好用的是nRF這個軟件,能夠直接掃描查看周圍的藍牙設備。使用gatttool嘗試連接并使用primary看查所有service:然后通過characteristics命令看查所有的特性:其中handle是特性的句柄,char properties是特性的屬性值,char value handle是特性值的句柄,uuid是特性的標識。
    C:\Users\bk\Desktop\天府科技云APP\天府科技云服務平臺\天府科技云服務平臺.apkC:\Program Files\Java\jdk1.8.0_111\bin\jarsigner.exe?文件將解壓出來的classes.dex文件拷貝到dex2jar工具文件夾中執行命令:d2j-dex2jar classes.dex執行完畢后,得到反編譯而來的classes-dex2jar.jar文件使用jd-gui.exe或者luyten-0.5.4打開 classes-dex2jar.jar文件,得到360安全加固混淆加密的源代碼。應同時使用V1+V2簽名)6.應用完整性校檢將反編譯出來源碼中修改圖片文件名為test.png進行重新生成apk包,命令如下:java -jar apktool.jar b -f?
    未正確驗證用戶輸入的應用程序使它們容易受到 SQL 注入的攻擊。SQL 注入攻擊 發生在攻擊者能夠通過操縱用戶輸入數據將一系列惡意 SQL 語句插入“查詢”以供后端數據庫執行時。使用這種類型的威脅,應用程序可以很容易地被黑客入侵并被攻擊者竊取機密數據。
    FartExt是我之前學習脫殼實踐時做的一個自動脫殼機,是基于FART的主動調用思想實現對特定的抽取殼進行優化處理的工具。由于原本的FART沒有配置相關的,所以我增加了配置對指定app脫殼。
    最近在學習Android APP客戶端漏洞挖掘過程中,對Android APP端漏洞挖掘做了一個基本的梳理總結本節主要是在介紹Android APP漏洞挖掘過程中,使用常見的Android漏洞挖掘工具的安裝和使用辦法,幫助Android漏洞挖掘人員提供便利。本文里面一部分的介紹采摘與網絡博客,大家可以點擊對應的網址進行查看。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类