iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0

大家好!我目前正在就讀資訊類科系,平常以接觸程式撰寫居多,對於資安領域的技術沒有太多了解/images/emoticon/emoticon16.gif因此希望藉由這30天的機會,以OWASP ZAP作為主要工具,從實際操作和分析,從環境架設、基本掃描到進階弱點發掘,一步步建立資安思維。
  我將學習如何利用ZAP自動化及主動/被動掃描常見的資安漏洞,並理解其背後的原理,以及該如何修復,例如SQL Injection、XSS等,讓我從「資安小白」進化成具備基本滲透測試技能的「資安入門者」。


今日內容概要:

  1. 環境準備
  2. 介紹ZAP REST API功能與結構
  3. Java 專案初始化與 API 客戶端設定
  4. 取得掃描結果與報告
  5. 撰寫簡單掃描腳本

介紹ZAP REST API功能與結構

為OWASP ZAP提供的REST API,允許使用者透過標準HTTP請求遠端控制ZAP的大部分核心功能,例如啟動自動掃描、獲取漏洞報告、配置代理設定等;其結構是基於RESTful原則的「無狀態」架構,透過URL、HTTP方法和參數來傳達指令,並透過API金鑰保護API的安全性。

  • 使用者可以透過ZAP桌面版的「Tools」>「Options」>「API」設定介面來啟用API並設定金鑰API Key,接著就可以使用任何程式語言,透過HTTP庫發送請求與ZAP互動,如附圖。
    https://ithelp.ithome.com.tw/upload/images/20251006/20169022CrzgflI9xT.png

環境準備

為了方便銜接之後的計畫,我選擇安裝OpenJDK 17和Maven,以下是安裝步驟:
更新Kali系統:sudo apt update
安裝OpenJDK 17:sudo apt install -y openjdk-17-jdk

  • java -version可用於檢查Java版本。
    安裝Apache Maven:sudo apt install -y maven
  • mvn -version可用於檢查Maven版本。
    建立與產生pom.xml:
    mvn archetype:generate -DgroupId=com.example.zaptest \ -DartifactId=zap-api-demo \ -DarchetypeArtifactId=maven-archetype-quickstart \ -DinteractiveMode=false
  • pom.xml為Maven專案的核心配置文件,Project Object Model (專案物件模型)的縮寫。使用宣告式的方式描述專案的各種資訊,包括專案的名稱、版本、相依的函式庫(依賴)、建構設定、外掛程式等, Maven能夠自動化管理專案的建構與依賴關係。

Java專案初始化與API客戶端設定

在pom.xml中加入ZAP Java API依賴:
(nano:打開文字編輯器)

  1. cd zap-api-demonano pom.xml打開文字編輯器編輯pom.xml。
  2. <dependencies>區塊內加入
    <dependency> <groupId>org.zaproxy</groupId> <artifactId>zap-clientapi</artifactId> <version>1.15.0</version> <!-- 版本根據ZAP官方更新調整 --> </dependency>
  3. 依序用Ctrl+O、Enter、Ctrl+X 儲存後,就可以使用了~

撰寫簡單掃描腳本

我有請ChatGPT幫我生成,以用Java程式依序觸發Spider、Active Scan,並輪詢進度直到完成,最後匯出報告與alerts的掃描腳本。

  • 流程:檢查ZAP版本 -> Spider -> 等待完成 -> Active Scan -> 等待完成
    -> 取得alerts -> 產生HTML掃描報告

取得掃描結果與報告

https://ithelp.ithome.com.tw/upload/images/20251006/201690226fN4Nw6Ic3.pnghttps://ithelp.ithome.com.tw/upload/images/20251006/20169022bE7xcpdaB7.png


上一篇
Day15—認識ZAP CLI與API自動化
下一篇
Day17—自動化登入流程(Form-Based Auth)
系列文
資安小白—30天學習滲透測試with OWASP ZAP (Zed Attack Proxy)30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言