信息收集
網絡搜索
目錄遍歷:site:域名 intitle:index.of
配置文件泄露:site:域名 ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini | ext:git | ext:svn | ext:DS_Store
數據庫文件泄露:site:域名 ext:sql | ext:dbf | ext:mdb
日志文件泄露:site:域名 ext:log
備份和歷史文件:site:域名 ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup
登陸頁面:site:f域名 inurl:login
SQL錯誤:site:foresealife.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:"Warning: mysql_query()" | intext:"Warning: pg_connect()"
公開文件信息:site:域名 ext:doc | ext:docx | ext:odt | ext:pdf | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv
phpinfo(): site:域名 ext:php intitle:phpinfo "published by the PHP Group"
Whois(注冊人信息)
根據已知域名反查,分析此域名的注冊人、郵箱、電話(工具:站長工具、愛站網、微步在線https://x.threatbook.cn、site.ip138.com 、searchdns.netcraft.com)
域名信息
- 對應IP信息(nslookup、http://reverseip.domaintools.com/等)
- 子域名收集(工具:layer、subDomainsBrutes http://dns.aizhan.com/)
- shodan https://www.shodan.io/
- shadan(傻蛋 聯網設備搜索系統) https://www.oshadan.com/
- ZoomEy https://www.zoomeye.org/
端口掃描
FTP -21、SSH-22、Telnet-23、pop3-110、SQL server-1433、3306-MySQL、3389-遠程登陸
8080-tomcat/jboss、9090-websphere
常用工具:nmap、portscan、ntscan
敏感信息
Robots.txt、后台目錄、安裝包、上傳目錄、msyql管理接口、安裝頁面、phpinfo、編輯器、iis短文件
常用工具:
字典爆破:御劍、dirbuster、wwwscan、IIS_shortname_Scanner等
蜘蛛爬行:爬行菜刀、webrobot,burp、awvs等
整站分析
- 應用入口識別(請求方式、http頭信息)
- 服務器類型(平台、版本 httpprint)
- 網站容器(搭建網站的服務器組建iis、apache、nginx、tomcat)
- 腳本類型(asp、php、jsp、aspx)
- 數據庫類型(access、sqlserver、MySQL、Oracle、postgresql)
- cms類型(readme.txt)
- Waf
后台
弱口令后台(admin、admin/login.asp,manage,login.asp)
查看網頁的鏈接:一般網站的主頁有管理登陸類似的東西,但可能會被刪除
查看網站圖片的屬性
查看網站使用的管理系統,從而確定后台 cms查詢yunsee.cn
用工具查找:wwwscan,intellitamper,御劍
Googlehacker Robots.txt
查看網站使用的編輯器是否有默認后台
短文件利用
網站CDN
是否存在CDN檢測:站長工具ping檢測
獲取真實地址:查找二級域名、讓服務器給你發包(郵件)、敏感文件泄露phpinfo、查詢歷史解析IP ip138.com、app的話可以抓包
訪問繞過cdn(修改host)
旁站c段
工具:web k8旁站、御劍1.5
端口:portscan
url采集
采集相關url的相關網站(谷歌hacker、url采集器)
信息泄露測試
源代碼和注釋
名稱 |
源代碼和注釋檢查測試 |
描述 |
在瀏覽器返回頁面查看源碼有無敏感信息 |
嚴重級別 |
中 |
備注 |
敏感數據范圍(IP、郵件、口令等) |
日志審計
名稱 |
日志審計測試 |
描述 |
審查日志是否有敏感信息 |
嚴重級別 |
中 |
備注 |
敏感數據范圍(IP、郵件、口令等) |
認證測試
敏感數據傳輸
名稱 |
敏感數據傳輸保密性測試 |
描述 |
測試敏感數據是否通過加密通道傳輸 |
嚴重級別 |
高 |
備注 |
敏感數據是否使用https協議傳輸,常見的敏感數據有用戶口令、用戶個人信息、session ID等,需結合實際判定 |
http方法測試
名稱 |
http傳輸方法測試 |
描述 |
1、測試敏感數據是否已post方法進行提交已防止信息泄露 2、測試系統使用http方法,若包含Trace/Track,測試XST 3、http方法篡改測試 4、測試https安全性強弱(https://myssl.com) |
XST攻擊 |
1.“被攻擊的服務器”允許 Trace/Track 方法(例如,http://www.example.com這個被攻擊的站點允許使用Trace方法) 2.“攻擊者”在自己的站點構造一個HTML頁面,里面放上一些極具吸引力的內容(圖片,文字標題等),點擊這些內容就會觸發一段惡意JavaScript代碼,這段代碼主要的作用: (1)以Trace方法向http://www.example.com這個站點發送請求,而“被攻擊的用戶”也恰恰好是這個站點的用戶並且曾經登錄站點(意味着會攜帶着cookie和HTTP認證信息去請求http://www.example.com), (2)然后就會接收到服務器原樣返回的請求內容(cookie+http認證信息等) (3)然后將接收的、“被攻擊用戶”的個人信息保存到自己的站點上(通過請求 save.php 將數據保存起來) (4)最后就能使用這些信息偽裝自己,冒充“被攻擊用戶”去登錄訪問http://www.example.com上面的內容 注:上面的是需要“被攻擊用戶”手動觸發,當然也可以自動觸發(就是用戶進入頁面的時候自動執行惡意JavaScript代碼) |
篡改測試 |
找到您要訪問的包含安全限制的網頁。它通常會迫使 302 重定向到登錄頁或迫使直接登入。同許多 Web 應用程序一樣,如果獲得200 的返回而不是登陸頁面,那就有可能繞過驗證,得到授權。 如果您認為該系統對這個問題存在漏洞,執行類似 CSRF 攻擊以充分挖掘這個問題。: FOOBAR /admin/createUser.php?member=myAdmin JEFF /admin/changePw.php?member=myAdmin&passwd=foo123&confirm=foo123 CATS /admin/groupEdit.php?group=Admins&member=myAdmin&action=add |
測試SSL/TLS |
l nmap識別SSL服務 nmap -F -sV localhost l 使用nessus檢查弱類型 l 使用OpenSSL進行人工檢查弱密碼程度 |
鎖定策略
名稱 |
賬戶鎖定測試 |
描述 |
鎖定策略用來緩解口令等敏感數據被惡意攻擊者嘗試暴力破解。 |
測試方式 |
1、測試賬戶是否可以枚舉 2、測試賬戶密碼可以暴力破解 |
暴力破解方法 |
hydra用法 hydra <參數> <IP地址> <服務名> hydra的參數是區分大小寫的. hydra支持的服務有:telnet ftp ssh mysql mssql vnc pcanywhere RDP(3389)等. hydra的一些參數: -R 繼續從上一次的進度開始爆破 -s <port> 指定端口 -l <username> 指定登錄的用戶名 -L <username-list> 指定用戶名字典 -p <password> 指定密碼 -t <number> 設置線程數 -P <passwd-list> 指定密碼字典 -v 顯示詳細過程 示例: hydra -l root -P /tmp/passwd.txt -t 4 -v 192.168.57.101 ssh #爆破ssh登錄密碼 brutus用法 brutus是針對windows的遠程密碼破解工具,可以破解http、ftp、pop3、telnet、smb等密碼。 |
備注 |
1、鎖定策略不僅僅是針對賬戶口令的,而是針對所有可通過暴力破解獲得的敏感數據,比如:短信驗證碼(短信炸彈)、找回密碼的問答等。 2、鎖定策略不僅僅針對於web接口,同樣適用於其它協議的接口,比如:FTP、SNMP等。 |
認證繞過
名稱 |
認證繞過測試 |
描述 |
測試訪問受限數據時是否需要認證以及是否可以繞過認證 |
復雜度策略
名稱 |
口令復雜度策略測試 |
描述 |
測試目標系統是否存在足夠安全的口令復雜度策略 |
口令復雜度 |
口令必須包含數字、大寫普通字符[A-Z]、小寫普通字符[a-z]和特殊字符中的3項。 口令存在一個明確的有效期限,建議3個月。 最近使用過的N個口令不能在新口令中使用,建議N取值8。 口令中不能出現連續N個字符(比如:aaa123),建議N取值3。 口令不存在於常見弱口令列表中(比:abc123、qwerty等)。 口令不能夠和用戶名以及用戶名的反向字符串相同。 使用默認口令登錄的用戶要求強制或提示修改口令。 |
問答策略
名稱 |
修改口令功能安全性測試 |
描述 |
系統存在問答策略時,嘗試修改口令功能是否存在缺陷 |
測試方式 |
1、問題的答案和家庭成員或者朋友有關。比如某個家庭成員的名字或者用戶本人的生日等。 2、問題的答案容易猜解或通過搜索引擎獲得,比如:“我喜歡的顏色/球隊”和“我的第一所學校”等。 3、檢查問答系統是否實施鎖定策略以防止暴力破解答案(參考用例:“鎖定策略”)。 4、檢查業務系統是否允許自定義問題和答案,如果是,確認是否定義任意簡單的問題和答案。比如:“1加1等於幾? 5、檢查問題是否有繞過的風險 |
短信驗證碼
名稱 |
短信驗證碼安全性測試 |
描述 |
當業務系統存在短線驗證碼功能模塊時,測試短信驗證碼的安全性設計是否存在缺陷。 |
測試方法 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、登錄業務系統,進入使用短信驗證碼的功能模塊(比如:找回密碼),並提交獲取短信驗證碼的請求。 3、 將攔截到的http請求轉入burp repeater,並在burp repeater中反復提交該請求,檢查業務系統是否實施鎖定策略來防止惡意濫發短信(參考用例:“鎖定策略”)。 4、 嘗試多次提交獲取短信驗證碼,檢查短信驗證碼是否存在復雜度策略(4-6位長度,由純數字或者數字加字符組成)。 5、 在獲取到短信驗證碼后,等待30分鍾,然后提交使用該短信驗證碼,檢查是否返回類似“短信驗證碼過期”的信息。 6、 使用burp將提交使用短信驗證碼的請求攔截並轉入burp repeater,在burp repeater中反復重放該請求,檢查服務器是否會返回“短信驗證碼失效”的信息或者相關錯誤碼。 7、 檢查短信網關接口是否對外開放,如果是,檢查直接在瀏覽器上輸入短信網關地址是否可以向任意號碼發短信。比如,網關地址可能如下: http://www.example.com/sms/smsNetgateServlet?phone=xxx&content=xxx |
修改密碼
名稱 |
修改密碼功能安全性測試 |
描述 |
系統存在修改密碼模塊,測試修改密碼功能是否存在安全缺陷。 |
測試方式 |
1、檢查是否需要舊密碼才能修改新密碼。 2、檢查舊密碼和新密碼是否在同一個請求中傳輸。 3、檢查密碼是否通過加密進行傳輸(參考用例:“敏感數據傳輸”)。 4、檢查是否存在密碼復雜度策略(參考用例:“口令復雜度策略”)。 5、 反復提交錯誤的舊密碼,檢查是否對舊密碼提交實施鎖定策略(參考用例:“鎖定策略”)。 6、檢查修改密碼的功能頁面是否需要認證才能夠訪問(參考用例:“認證繞過”)。 7、檢查修改密碼是否對舊密碼進行校驗(前端和后端,防止任意密碼修改) 8、驗證修改密碼的限制是否可以被繞過(例如兩個賬號同時修改密碼,一個密碼正常通過修改限制,測試此時是否對另一密碼修改限制有什么影響) |
找回密碼
名稱 |
找回密碼測試 |
描述 |
系統存在找回密碼模塊時,測試找回密碼功能是否存在安全缺陷。 |
測試步驟 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、登錄web應用,並進入到找回密碼頁面。 3、如果系統要求對用戶預設的問題給出答案,則檢查是否滿足問答系統的安全要求(參考用例:“問答策略”)。 4、如果系統使用短信驗證碼進行驗證,則檢查是否滿足短信驗證碼的安全要求(參考用例:“短信驗證碼”),並檢測收取驗證碼的手機號是否為任意。 5、如果在完成步驟3或者步驟4后,檢查系統是否會將原始密碼(即用戶忘記的密碼)返回給用戶。 6、如果系統發一個重置密碼的鏈接到用戶注冊的郵箱,檢查該鏈接是否具有可預測性。比如: http://www.example.com/resetPwd.jsp?token=xxxx,token的值是可預測的,可能是對用戶名進行MD5的哈希值等等。 7、如果系統發送一個臨時密碼給用戶,讓用戶使用該臨時密碼進行登錄,檢查該臨時密碼具有足夠的復雜度(參考用例:復雜度策略)。 8、檢查用戶使用臨時密碼登錄后系統是否強制要求用戶修改密碼。 9、如果在完成步驟3或者步驟4后,系統要求用戶在當前頁面內設置新密碼,檢查新密碼和短信驗證碼或者問題的答案是否在同一個HTTP請求內進行提交。 |
備注 |
步驟6中,重置密碼鏈接的可預測性測試使用黑盒的方式效果並不是特別好,最好是跟研發人員一起確認生成session id的算法(比如:UUID)。 |
圖形驗證碼
名稱 |
圖形驗證碼設計測試 |
描述 |
系統存在驗證碼模塊時,測試圖形驗證碼設計是否存在缺陷。 |
測試步驟 |
1、使用瀏覽器打開目標系統的web登錄頁面,並激活圖形驗證碼。 2、觀察圖形驗證碼字符長度。 3、檢查圖形驗證碼的圖片背景是否為單一顏色(比如:純白色、藍色等,檢測能否被腳本識別)。 4、連續20次刷新並記錄圖形驗證碼,觀察圖形驗證碼的生成規律(檢測驗證碼生成算法)。 5、在存在圖形驗證碼的頁面上點擊右鍵,選擇“查看源文件”,在源文件中搜索當前顯示的圖像驗證碼,並觀察結果(檢測是否存在跟驗證碼相關的信息)。 6、在圖形驗證碼圖片上點擊右鍵,選擇“屬性”,復制圖形驗證碼的地址,重新在瀏覽器上多次刷新訪問該地址,觀察結果(驗證碼是否隨機變化)。 |
名稱 |
圖形驗證碼邏輯測試 |
描述 |
測試圖形驗證碼使用是否存在安全缺陷 |
測試內容 |
1、密碼或用戶和驗證碼同時錯誤,應返回驗證碼錯誤; 2、驗證碼應該有過期機制,每次請求后都應更新,且舊驗證碼需要失效 |
會話測試
會話復雜度
名稱 |
會話復雜度測試 |
描述 |
目標系統使用登陸會話機制時,測試目標系統產生的session id是否具備足夠的復雜度。 |
測試步驟 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、打開目標系統的登錄頁面,使用正確的用戶名和密碼提交登錄,比如: POST /login.php HTTP/1.1 #登錄請求 Host: www.example.com [other HTTP headers] username=admin&password=123456 3、將burp攔截到的登錄請求轉入burp sequencer。 4、使用burp sequencer向目標系統快速大量地提交登錄請求以獲得批量session id,並將得到的session id保存到本地。 5、使用文本編輯器打開保存session id的文件。 6、檢查所有session id的長度。 7、檢查所有session id的構成。 |
備注 |
Session id的長度大於等於16 Session id 由數字、大小寫字母和特殊字符組合而成Session id只是所有會話標記的統稱,不同系統會話標記名稱可能不一樣,比如:jssessionid、sid和DDNSCOOKIE等。 |
會話預測
名稱 |
會話可預測性測試 |
描述 |
目標系統采用登陸會話機制時,測試session id是否可以預測,避免會話劫持。 |
測試 |
1、利用burp sequencer向目標系統快速大量提交獲取session id 2、檢查得到的session id是否存在靜止不變的部分 3、檢查是否存在可預測的部分 4、將可以預測或者靜止不變的部分刪除,檢查剩余部分是否滿足會話復雜度要求 |
會話定置
名稱 |
會話定置測試 |
描述 |
測試用戶成功登陸后系統是否會更新會話標識,若沒有重置,則存在會話固定漏洞。 |
測試步驟 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、打開目標系統的登錄頁面,使用正確的用戶名和密碼提交登錄。 3在burp攔截到的http請求中檢查是否存在會話標記(比如:session id),如果存在則記錄下來,如果沒有則測試結束(通過),比如: POST /login.php HTTP/1.1 #登錄請求 Host: www.example.com Cookie: PHPSESSID=urvo14kd4ke4j5vef07t4edj43;
[other HTTP headers] username=admin&password=123456 4、釋放提交被攔截的登錄請求,直至登錄成功。 5、登錄成功后,點擊目標系統需要帶cookie才能訪問的任意功能。 6、在burp攔截到的http請求中檢查會話標記的值(一般在cookie中)。
|
CSRF
名稱 |
跨站偽造請求測試 |
描述 |
目標系統使用登陸會話機制,測試在目標系統上進行關鍵性或者敏感性操作時,是否攜帶隨機token |
測試 |
測試在進行關鍵操作時http參數中是否含有不可預測的隨機因子 |
備注 |
1、對於關鍵性或者敏感性操作的判斷一般具有較大的主觀性,通常來講,可以從執行該操作后可能造成的結果來判斷,但不同的人可能看到的危害程度不一樣,最終應當以最嚴重的情況為標准 2、“寫”操作往往是關鍵性或敏感性操作的特征,比如:增、刪和改,對於此類操作應當予以關注 |
會話注銷
名稱 |
會話注銷測試 |
描述 |
目標系統使用登陸會話機制,測試目標系統的會話注銷功能是否存在安全缺陷。 |
會話超時
名稱 |
會話閑置超時測試 |
描述 |
目標系統采用登陸會話機制,測試會話在限制預設時間后是否被強制銷毀。 |
測試步驟 |
1、使用正確賬戶名和密碼登錄目標系統。 2、打開任意需要登錄才能訪問的功能頁面。 3、在目標系統上閑置N分鍾並且不進行任何操作。 4、刷新步驟2的功能頁面,並觀察結果。 |
名稱 |
會話絕對超時 |
描述 |
安全性要求較高的系統會采用此限制 |
授權測試
路徑遍歷
名稱 |
路徑遍歷測試 |
描述 |
路徑遍歷漏洞隱藏一般在文件讀取或者展示圖片功能塊這樣的通過參數提交上來的文件名 |
垂直權限提升
名稱 |
垂直權限提升測試 |
描述 |
目標系統使用不用等級的角色和權限時,測試用戶是否具有超越其角色范圍之外的權限。 |
測試步驟 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、使用高級別權限賬號(比如:管理員賬號)登錄目標系統。 3、訪問某個只有該高級別權限賬號才能夠訪問的接口或者資源,比如: POST /admin/addUser.jsp HTTP/1.1 #添加賬戶接口 Host: www.example.com Cookie: Sessionid = 21232f297a57a5a743894a0e4a801fc3 [other HTTP headers] userName=test&phoneNum=138xxx 4、使用burp攔截該HTTP請求並轉入burp repeater。 5、注銷高級別權限賬號。 6、使用另外一個低級別權限賬號(比如:普通用戶)登錄目標系統。 7、訪問任意接口或資源並用burp攔截對應的HTTP請求,比如: POST /commonUser/info.jsp HTTP/1.1 #查詢賬戶信息接口 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 [other HTTP headers] 8、復制該HTTP請求的cookie字段,然后替換掉burp repeater中的高級別賬戶產生的HTTP請求的cookie字段,比如: POST /admin/addUser.jsp HTTP/1.1 #添加賬戶接口 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #替換cookie [other HTTP headers] userName=test&phoneNum=138xxx 9、 在burp repeater中重新向目標系統發送該被替換過cookie的HTTP請求,觀察目標系統的返回結果。 |
水平權限提升
名稱 |
水平權限提升測試 |
描述 |
目標系統擁有多個不同的賬戶,並且各自擁有受限訪問的資源信息 |
測試步驟 |
1、開啟burp,設置對http請求進行攔截,並在瀏覽器中配置代理。 2、使用賬號A登錄目標系統。 3、訪問某個只有賬號A才能夠訪問的資源,比如: POST /info/Info.jsp HTTP/1.1 #通過userID查詢對應的賬戶信息 Host: www.example.com Cookie: Sessionid = 21232f297a57a5a743894a0e4a801fc3 #賬戶A cookie [other HTTP headers] userID=111111 #賬戶A的userID 4、使用burp攔截該HTTP請求並轉入burp repeater。 5、記錄賬戶A的資源標簽(比如:userID)並注銷賬戶A。 6、使用賬號B登錄目標系統。 7、訪問同樣的接口並用burp攔截對應的HTTP請求,比如: POST /info/Info.jsp HTTP/1.1 #通過userID查詢對應的賬戶信息 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #賬戶B cookie [other HTTP headers] userID=222222 #賬戶B的userID 8、使用賬戶B的資源標簽替換掉賬戶A的資源標簽,比如: POST /info/Info.jsp HTTP/1.1 #通過userID查詢對應的賬戶信息 Host: www.example.com Cookie: Sessionid = fab0ec1c41247e83e2189f2094952eb4 #賬戶B cookie [other HTTP headers] userID=111111 #賬戶A的userID 9、向目標系統發送該被篡改過的請求,觀察目標系統的返回結果 |
業務邏輯測試
名稱 |
業務邏輯測試 |
描述 |
業務邏輯可能存在安全漏洞,允許用戶做一些業務所不允許做的事情。例如,如果賠償限額是1000美元, 攻擊者是否可能濫用系統並要求更多的賠償呢 |
例 |
在電子商務網站將產品的數量設置成負數,這樣可以導致現金記入攻擊者名下。因為應用程序允許在購物車數量字段中輸入負數,這一問題的對策是執行更有力的數據驗證 |
邏輯測試指導方案 |
1、權限表——在創建應用程序特定邏輯威脅時參考權限表。同城測試每一個管理特權,檢測是否可由擁有最小特權或者無特權的非法用戶執行管理員權限。 2、特殊用戶操作順序處理不當-以某種方式瀏覽應用程序或者以非預期的順序重新訪問頁面可能產生的邏輯錯誤,導致應用程序執行其他操作。 3、覆蓋所有商業交易路徑--當設計測試時,需要查看所有方法以完成同樣的業務交易。例如,測試現金或者信用卡支付方式 |
常見業務邏輯漏洞 |
1、訂單金額任意修改 2、驗證碼回傳(如果驗證碼采用前端驗證,則有可能存在泄漏風險,一般可以后台驗證) 3、未進行登錄憑證驗證 4、接口無限制枚舉 5、找回密碼存在設計缺陷 6、cookie設計缺陷 參考https://www.freebuf.com/vuls/112339.html |
驗證碼類
驗證碼繞過
圖形驗證碼復用(驗證碼刷新后歷史驗證碼還是可以繼續使用,驗證碼使用過后,時效性不過期,可以一直復用)
圖形驗證碼易識別(驗證碼生成算法簡單或者可以被機器識別)
短信類驗證碼過於簡單&接口未做限制&驗證碼發送復用(驗證碼接口沒有做任何限制,或者在一定時間內發送驗證碼,驗證碼不變,可以被暴力破解)
萬能驗證碼(許多系統在上線前會加888888、000000這樣的萬能驗證碼,上線后又沒有刪除)
短信/語音驗證碼重放
短信/語音驗證碼重放
無限制發送
代碼邏輯問題(為了方便用戶體驗,程序會將用戶輸入的一些空格及特殊符號刪除,如果在刪除之前校驗手機號是否發送過短信,則相當於對手機號碼發送次數沒有限制)
手機號可遍歷發送
應該限制手機號遍歷發送驗證碼
業務流程繞過
數據驗證測試
測試反射型XSS
測試存儲型XSS
測試DOM型XSS
測試CSF(flash XSS)
測試HTML注入
測試SQL注入
測試LDAP注入
測試ORM注入
測試XML注入(http://www.hackdig.com/?03/hack-8921.htm)
測試XXE注入
測試SSI注入(http://www.hackdig.com/?01/hack-7955.htm)
測試XPath注入
測試XQuery注入
測試IMAP/SMTP注入
測試Code注入
測試EL注入(https://www.owasp.org/index.php/Expression_Language_Injection)
測試Command注入
測試Overflow (堆, 棧和整形溢出)
測試Format String(錯誤的字符串格式化)
測試incubated vulnerabilities(缺陷孵化)
測試HTTP Splitting/Smuggling(協議層)
測試HTTP Verb Tampering(權限干涉)
測試Open Redirection
測試本地文件包含
測試遠程文件包含
比較客戶端與服務端的驗證規則
測試NoSQL注入
測試HTTP參數污染
測試自動綁定(auto-binding:https://click.apache.org/docs/user-guide/html/ch02s03.html)
測試Mass Assignment(見ror經典漏洞,http://blog.xdite.net/posts/2012/03/05/github-hacked-rails-security/)
測試NULL/Invalid Session Cookie
拒絕服務
測試反自動化/機器請求
測試賬號鎖定
測試HTTP 協議DoS
測試SQL通配符DoS/sleep Dos
業務邏輯
測試功能濫用
測試缺乏不可否認性(非對稱加密作用)
測試信任關系
測試數據完整性
測試指責分離
密碼學
檢查應加密數據是否加密
根據上下文檢查是否使用了錯誤的算法
檢查使用弱算法
檢查是否合理使用鹽
檢查隨機函數(的隨機性)
風險功能—文件上傳
檢查可接受的文件類型是否在白名單內
檢查文件尺寸限制、上傳頻率和總文件數的閾值與限制情況
檢查文件內容是否與定義的文件類型相符
檢查所有上傳的文件都經過殺毒軟件掃描
檢查不安全的文件名是否經過處理
檢查不能在web根目錄下直接訪問上傳文件
檢查上傳的文件是否存儲在相同的主機名和端口
檢查文件和其他媒體繼承了身份驗證和授權功能
風險功能—支付信息
測試WEB服務器或應用程序是否存在已知漏洞和配置問題
測試默認或易被猜到的密碼
測試生產環境的非生產數據或做相反的測試
測試注入漏洞
測試緩沖區溢出
測試不安全的加密存儲
測試傳輸層保護不足
測試不適當的錯誤處理
測試CVSS v2 評分> 4.0的全部漏洞
測試身份驗證和授權的問題
測試CSRF
HTML 5
測試WEB消息傳遞
測試WEB本地存儲SQL注入
檢查CORS的實現
檢查離線的WEB應用程序