1. 程式人生 > >【滲透測試】分析

【滲透測試】分析

本章來講解下作為乙方滲透測試工程師的一些心得吧!

我總結的主要就是兩個字:
細:做滲透測試時,一定要細心加仔細,不要放過任何一個數據包和功能項。
全:一定要掌握大量的漏洞知識,儘量不要漏掉常規高中危漏洞。

滲透測試工程師和黑帽的目的是不一樣的,黑帽只需要挖掘能夠進入系統的漏洞,而作為滲透測試工程師是需要儘量挖掘全部存在的風險點,從出發點就不一樣。

滲透測試思路

每個人在進行滲透測試時都有自己的一套挖掘漏洞的體系,這也是在時間的積累下形成自己的一套體系。接下來寫下自己在滲透測試時喜歡來的套路。

先開啟目標站點進行瀏覽,瞭解下目標是做什麼的,用來幹嘛的,站點大不大等。

一、資訊蒐集

這一步不可獲缺也是最重要的,是每個滲透測試開始的第一步。

1、搜尋引擎搜尋

外網環境

如果測試專案是在外網,則先利用谷歌黑客語法搜尋引擎看看搜錄了目標哪些頁面,是否有敏感資訊(後臺、敏感目錄及檔案、物理路徑、info資訊、使用者名稱、手機號、郵箱號,robots.txt、頁面錯誤除錯等有利用價值的資訊),把所有的二級目錄URL及敏感資訊記錄下來,為後期做鋪墊。
查詢下域名的whois資訊,記錄下註冊人的姓名、郵箱、地址、DNS資訊。
是否有手機版、電腦板、微信版等不同形式。

子域名、旁站等一般不做,都有規定的授權範圍。

內網環境

如果測試專案是在內網,那就免除了搜尋引擎和域名的資訊收集。

2、web伺服器及程式框架識別

通過各種方式獲取當前目標採用的web環境、程式、框架等資訊。

  • HTTP響應頭中的Server欄位:web環境資訊及程式語言資訊
  • 頁面字尾名:判斷程式語言型別
  • 錯誤除錯資訊:404、500等、框架資訊或web環境
  • 指紋識別工具:cms識別等
  • 檔名大小寫:windows和linux區別
  • cookie的鍵:phpsession=xxx
  • 等等

3、web程式目錄資訊收集

開啟burp,讓其自動記錄瀏覽資訊,先手工瀏覽站點及利用搜索引擎搜尋到的二級目錄url開啟瀏覽。如果目標沒有WAF之類的web防護,開啟爬蟲功能(關閉表單自動提交功能)進行目錄收集(若有防護,把執行緒設定低一點)。爬取完畢就大概明白目標站點的大小及測試範圍。

這裡也可加上目錄猜解工具:御劍目錄掃描,看看爬蟲爬不到的或敏感檔案資訊洩露

4、註釋和元資料資訊洩露

在目錄資訊收集階段也可以同時做這個,檢視網頁原始碼:html、js、json等,觀察有無敏感資訊洩露,如開發者的註釋、JS檔案中的API介面等。

5、HTTP方法測試

使用OPTIONS方法檢視目標伺服器支援的HTTP方法。是否開啟了危險的HTTP方法:TRACE、PUT、DELETE等,若開啟了請驗證測試是否可利用。

二、認證測試

對於登陸表單等形式認證可測試:
1、是否明文傳輸
2、弱口令
3、賬戶列舉
4、暴力破解:無賬戶鎖定機制
5、弱加密
對於有圖片驗證碼機制的還可測試:
5、驗證碼重放攻擊
6、弱驗證碼導致可識別
7、驗證碼繞過:0000或空等。
對於有簡訊驗證碼機制的還可測試:
8、簡訊炸彈
9、簡訊暴力破解
10、簡訊未登出:可利用前一次的驗證碼結果
11、手機號後面加入非數字繞過限制
對於登陸成功的可測試:
11、固定會話攻擊
12、登陸繞過

三、會話管理測試

1、cookie資訊是否包含敏感資訊,是否可破解
2、cookie或session是否可預測,是否有規律
3、cookie是否加入了httponly屬性,防止xss盜取cookie
4、是永久cookie還是記憶體cookie
5、會話標識洩露:是否包含在url中、html原始碼中等。
6、重要操作是否有防禦:CSRF攻擊

四、輸入測試

1、XSS攻擊
2、SQL注入
3、任意檔案讀取、下載等
4、SSRF攻擊
5、其他注入:XML、ORM、LDAP、SSI、Xpath、檔案包含、命令注入、CRLF等

五、錯誤處理測試

1、資料庫錯誤
2、WEB伺服器錯誤
3、框架錯誤

六、其他測試

1、根據爬蟲得到的二級目錄,檢視是否有目錄遍歷漏洞
2、業務邏輯測試
3、檔案上傳漏洞
4、URL跳轉漏洞
5、跨域測試
6、點選劫持測試
當然,還有很多沒有列舉出來,如業務邏輯漏洞就包含很多。