ZAP Scripting으로 Custom Header

ZAProxy에서 replacer를 이용해 Request/Response 내용 중 일부를 자동으로 변경할 수 있습니다. 물론 추가도 가능하구요.그치만 우리는 때때로 조금 더 디테일한 변경이 요구되기도 합니다. 이때는 script로 넣어두고 쓰면 편리하니 공유드립니다.

customHeader.js

// This script crafted by hahwul

function proxyRequest(msg) {
    var custom_header
    custom_header = 'this is custom header values!'
    msg.getRequestHeader().setHeader('Custom Header', custom_header)
    return true
}

function proxyResponse(msg) {
    // Leave the response alone
    return true
}

Request

GET / HTTP/1.1
Host www.hahwul.com
Custom Header: this is custom header values!
....

대충 설명하자면 Proxy 쪽 스크립트는 proxyRequest(), proxyResponse() 두가지 function으로 나누어져 요청을 처리할 수 있습니다.

  • proxyRequest : 요청 내용 제어
  • proxyResponse : 응답 내용 제어

그래서 각각 부분에 처리 로직을 넣어주시면 Requset/Response에 대해 제어할 수 있습니다 :)