ZAP 2.15 Review ⚡️

ZAP 2.15가 릴리즈되었습니다. OWASP를 나오는 이슈로 인해 2.14가 빠르게 출시됬던 상태라 2.15까지의 기간 또한 짧았네요. 오늘은 2.15 버전에 대해 빠르게 리뷰해봅니다.

Scripts as First Class Scan Rules

드디어 Scripts가 ActiveScanRule, PassiveScanRule과 동일한 레벨로 올라왔습니다. 이제 각 Script에서도 고유 ID를 명시할 수 있고 이로 인해 ScanPolicy 등에서 스크립트로 추가된 스캔을 각각 컨트롤 할 수 있어집니다.

https://github.com/zaproxy/zaproxy/issues/7105

기존 Active/Passive Rule에 아래와 같이 getMetadat() 함수에 ScanRuleMetadata를 사용해서 리턴해주면 됩니다.

var ScanRuleMetadata = Java.type(
  "org.zaproxy.addon.commonlib.scanrules.ScanRuleMetadata"
);

function getMetadata() {
  return ScanRuleMetadata.fromYaml(`
id: 100033
name: HAHWUL Injections
description: Hi
solution: Empty
references:
  - https://www.hahwul.com
category: injection
risk: high
confidence: medium
cweId: 20  # CWE-20: Improper Input Validation
wascId: 20  # WASC-20: Improper Input Handling
status: alpha
`);
}

스크립트를 저장하여 ZAP에 반영이 되며, Active Scan Policy나 Automatino에서 각각 스캔 룰을 컨트롤할 수 있게 됩니다.

Context menu

메뉴 순서가 조정됬습니다. 큰 변화는 아니지만 눈에 적응할 시간이 필요할 것 같네요.

이제 Search에서 Tag 기반으로 검색이 가능합니다.

여기서 Tag는 Options > Passive Scan Tags에 지정된 룰(Regex)에 따라 수집된 태그이고 이제 태그 이름으로 찾을 수 있기 때문에 수고를 덜었네요.

References