RequestRecorder

You can build multi-step request sequences without scripting and can use them on ZAPROXY.

View project on GitHub

RequestRecorder for ZAP.

RequestRecorder is an extension of Zed Attack Proxy(ZAP). You can test applications that need to access pages in a specific order, such as shopping carts or registration of member information. This Extension records the http request sequence of the web application, tracks the anti-CSRF token and session cookies, and can tests it by ZAPROXY tools(ActiveScan).
To summarize the above, this addon can build multistep request sequence without scripting, and can use them with tool such as scanners or manual request on ZAP.

LANG LICENSE

typical usage

Prerequisite

  • ZAP ver 2.13.0 or later
  • java ver 11 or later

how to use

Click here below: 
  English manuals
  Japanese manuals

a member registration sample web test results.

I tested member registration my sample page which has CSRF token. below is result:

Test Environment: WEBSAMPSQLINJ Docker image(docker-compose)
Scantarget: [Modify User] 3.2.moduser.php (See Sitemap)
ZAPROXY Version: 2.10.0-SNAPSHOT
Addon: RequestRecorder ver0.9.6, ActiveScan rule addons(See below).
ZAPROXY Mode: Standard mode

urlparameterAdvanced SQLInjection Scanner
Ver13 beta
CustomActiveScan
ver0.0.1 alpha
http://localhost:8110/moduser.phppasswordDETECTED
(time based
pg_sleep(5))
DETECTED(boolean based)
http://localhost:8110/moduser.phpageDETECTED
(time based
pg_sleep(5))
DETECTED(boolean based)

Download & Building in Ubuntu

The add-on is built with [Gradle]: https://gradle.org/

build with command line tools(Ubuntu)

To download & build this addon, simply run:

$ git clone https://github.com/gdgd009xcd/RequestRecorder.git  
$ cd RequestRecorder/  
$ ./gradlew addOns:requestRecorderForZAP:jarZapAddOn  

The add-on will be placed in the directory RequestRecorder/addOns/requestRecorderForZAP/build/zapAddOn/bin

$ cd addOns/requestRecorderForZAP/build/zapAddOn/bin  
$ ls  
requestRecorderForZAP-beta-1.2.1.zap  
$   
  • Gradle builds may fail due to network connection timeouts for downloading dependencies. If you have such problems, please retry the gradlew command each time. or you can download addon file from release page

build with IntelliJ IDEA(Hereafter referred to as IJ)

  1. Start IJ, click [Clone Repository]
  2. Specify URL of repository. for example: https://github.com/gdgd009xcd/RequestRecorder.git
  3. Click [Clone]. IJ’s IDE is opened.
  4. In the IJ’s IDE, To display the Gradle tool window,
    select menu:[View->Tool Windows->Gradle] or click [gradle] icon.
    It shows a tree of Gradle tasks.
  5. Double click gradle task named:
    [zap-extensions->Tasks->build->jarZapAddon]
  6. The addon zap file will be placed in the directory:
    RequestRecorder/addOns/requestRecorderForZAP/build/zapAddOn/bin

install

This addon is 3rd party addon, so you must add this addon file to ZAPROXY manually. this addon does not have any telemetry feature.

  1. get addon file requestRecorderForZAP-xxx-n.n.n.zap on this release page
  2. Start ZAPROXY in your PC’s Desktop.
  3. Install add-on requestRecorderForZAP-xxx-n.n.n.zap file according to the ZAP add-on installation method (example: File menu “Load add-on file”).
    AddonInstall
  4. restart zap(sorry, currently this addon does not work unless restart zap after install it.)

FAQ

FAQ is here

Author

gdgd009xcd