App 資料安全測試

2022-09-10 04:00:14 字數 1707 閱讀 1248

一、簡介

在 android 中選擇 sqlite 的原因是其記憶體占用較低不需要設定或配置資料庫,並且可以在應用程式中直接呼叫。

二、獲取 sqlite 檔案

sqlite 資料庫預設在 android 中儲存在 /data/data/[package name]/databases/ 位置,拓展名為 .db 檔案,注意 android 裝置需要root。

1、進入裝置的 /data/data目錄,查詢對應的測試包.

2、這裡獲取包 com.xueqiu.android 的db檔案為例,進入包檔案 databases 目錄內部可以看到如下 db 檔案。

3、退出adb shell ,將需要的db檔案拷貝出來

三、檢視sqlite 檔案

匯出 db 檔案後可以使用 db browser for sqlite 來檢視資料內容。

1、啟動應用,依次點選選單欄: 檔案->開啟資料庫,選擇開啟拷貝出來的db檔案即可檢視資料庫表結構和內容

2、點選 瀏覽資料 選單可以檢視表具體資料內容,或者點選 執行sql 進行查詢

四、sqlite 資料安全

sql注入

如果通過應用獲取使用者輸入的資料並將其插入 sqlite資料庫,就有可能發生sql注入攻擊的安全問題。

sql注入,就是通過把sql命令插入到表單提交或者輸入網域名稱的查詢字串,最終達到欺騙伺服器執行惡意的 sql 命令

例如,有乙個表單,使用者可以輸入name

$name = $_get['name'];

$dbh->query("select * from users where name=''");

那麼當使用者輸入的name為 python';delete from user; ' 時會變成什麼?

select * from users where name='python';delete from user;'';

這條語句執行執行一下,會把我們的user 表清空。

五、預防sql注入

防止 sql 注入,需要注意以下幾個要點:

1、不要相信使用者的輸入

2、對使用者的輸入進行校驗,可以通過正規表示式,或者限制長度;對單引號和雙引號進行轉換等。

3、不要使用動態拼裝 sql ,可以使用 sql 預處理語句

4、不要使用管理員許可權的資料庫連線,為每個應用使用單獨的許可權有限的資料庫連線。

5、不要把機密資訊直接存放,加密或者 hash 掉密碼和敏感的資訊。

6、應用的異常資訊應該給出盡可能少的提示,最好使用自定義的錯誤資訊對原始錯誤資訊進行包裝。

APP安全測試總結

假設你以上兩個過程都做了加固,但是在安裝apk的時候,本地檔案path被錯誤修改了,仍然可以安裝錯誤的apk,這不僅 會對使用者體驗產生不利,甚至會威脅手機安全。安裝過程也必須對apk檔案進行包名和簽名驗證,防止apk被惡意植入木馬,或替換。public class upgrademodel pub...

APP功能測試和安全測試

效能評估 評估典型使用者應用場景下,系統資源的使用情況。容量測試 即儲存空間已滿時的測試,包括手機使用者可用記憶體和sim卡的所有空間被完成使用的測試。此時再對可編輯的模組進行和儲存空間有關的任何操作測試,如果軟體在極限容量狀態下處理不好,有可能導致宕機或嚴重的花屏等問題出現。相容性測試 也就是不同...

軟體測試之App測試點 基礎安全測試

1.軟體許可權 1 扣費風險 包括傳送簡訊 撥打 連線網路等 2 隱私洩露風險 包括訪問手機資訊 訪問聯絡人資訊等 4 限制 允許使用手機功能接入網際網路 5 限制 允許使用手機傳送接受資訊功能 6 限制 允許應用程式來註冊自動啟動應用程式 7 限制或使用本地連線 8 限制 允許使用手機拍照或錄音 ...