三位一體的漏洞分析方法-web應用安全測試方法

wyzsk發表於2020-08-19
作者: BMa · 2015/03/13 10:05

0x00 前言


節選自: http://www.owasp.org.cn/OWASP_Conference/owasp-20140924/02OWASPWeb20140915.pdf

  • 4.1  主動式(全自動 ):Web2.0、互動式漏洞掃描 
  • 4.2  半自動式漏洞分析:業務重放、url映象,實現高覆蓋度 
  • 4.3  被動式漏洞分析:應對0Day和孤島頁面

0x01 主動式(全自動 )Web掃描 


• 使用常見的漏洞掃描器  • 自動fuzz,填充各種攻擊性資料  • 業務邏輯混淆,導致服務出錯 

enter image description here

• 侷限:  • 難以處理高互動式應用  • 只能發現暴露給使用者(搜尋引擎)的連結,難以覆蓋100%的業務連結  • 解決方法:引入半被動式漏洞分析方法  • 在人工未參與的情況下,50%以上的Web應用系統存在高危漏洞 

0x02 半自動式漏洞分析:業務重放+url映象,實現高覆蓋度 


1. 方法一:業務重放 


  • 測試過程使用 burpsuite、fiddler:  
  1. HTTP(S)業務流量錄製與重放掃描 
  2. 手工修改業務資料流 
  3. 對手機APP也適用 

  檢測邏輯漏洞:  •水平許可權繞過  •訂單修改  •隱藏域修改 

enter image description here

2. 方法二: 手工記錄


• 從日誌中獲取url記錄 

1. Fiddler的Url日誌 
2. 獲取Apache、Nginx、Tomcat的access日誌 
3. 從旁路映象中提取url日誌 (安全人員不用再被動等待應用 的上線通知) 
  1. 從Fiddler2、 burpsuite 匯出Url日誌 再匯入到漏洞掃描器掃描

enter image description here

enter image description here

2.獲取Apache、Nginx、Tomcat的access日誌 

  • 360-日誌寶 
  • Splunk 
  • 各種日誌審計系統 
  1. 從旁路映象中提取url日誌 (安全人員不用再被動等待應用 的上線通知)  如:jnstniffer、 360鷹眼、各大IT公司等

enter image description here

• 從旁路映象中獲取url列表,能高效地檢出大量的漏洞,不需要運維人員通知,便可以獲知業務系統的上線情況並執行漏洞掃描任務。

0x03 半自動式漏洞分析:業務重放、url映象,高覆蓋度


  - 侷限  ① 時間滯後/token: 流量重發時,不一定能100%重現當時的業務流程及出現的bug。  ② 依然難以覆蓋100%的業務連結,存在孤島頁面。(正常資料流不觸發)  ③ 漏洞檢測(防禦)技術滯後於攻擊技術,無法解決0day漏洞  - 解決方法:引入全被動式漏洞分析 

0x04 全被動式漏洞分析: 


  國外產品:Nessus PVS被動掃描 

enter image description here

全被動式漏洞分析(不傳送任何資料包) 


  • 全被動式掃描VS主動式漏洞掃描器  相同點:都是根據雙向資料包的內容,判斷漏洞是否存在  不同點:  檢測方式:被動式掃描不需要聯網,不會主動發出url請求,也不發出任何資料包 PVS和IDS的區別:  • 更關注漏洞感知,而不是入侵,如頁面出現sql錯誤資訊,可觸發pvs報警,但不會觸發ids報警。  • 報警結果不一樣:pvs按照漏洞的風險等級,ids按照駭客的攻擊手段報警  • 雙向分析資料包文  • 更關注於web應用,OWASP TOP10的攻擊手段  • 按攻擊影響報警(分析雙向報文),而不是按攻擊手段去報警(分析單向報文) Nessus的PVS只是一個思路,它專注及網路及主機漏洞,對Web應用的檢測能力有限,需要重新設計一個針對web的PVS出來:WebPVS,同步接受使用者提交的所有業務請求,透過掃描引擎識別請求,一旦發現惡意請求或者該請求返回資料,觸發報警處理

enter image description here

• WebPVS的優點:    • 雖然依然難以覆蓋100%的業務連結,但是能覆蓋100%已經發生的業務連結。  • 能與駭客同步發現各種漏洞 • 由於HTTP協議是固定,因此能夠根據回包情況發現0day攻擊。 

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章