zaproxy / php-owasp-zap-v2
OWASP ZAP 的 PHP 客户端 API
2.4.3-beta1
2016-05-27 01:52 UTC
Requires
- php: >=5.3.0
Requires (Dev)
- mockery/mockery: dev-master@dev
- phpunit/phpunit: 4.3.*
This package is not auto-updated.
Last update: 2024-09-16 10:05:17 UTC
README
OWASP ZAP PHP 客户端 API 2.4
所有 API 类文件(除 Zapv2.php 外)都是使用 ZAProxy API 生成器自动生成的。
##入门
- 将以下行添加到您的 PHP 项目的
composer.json文件中。
{
...
"require": {
...
"zaproxy/php-owasp-zap-v2": "2.4.*@beta",
...
}
...
}
$ php composer.phar install/update
##使用示例
<?php require "vendor/autoload.php"; $api_key = "YOUR_API_KEY"; $target = "http://target.example.com/"; $zap = new Zap\Zapv2('tcp://:8090'); $version = @$zap->core->version(); if (is_null($version)) { echo "PHP API error\n"; exit(); } else { echo "version: ${version}\n"; } echo "Spidering target ${target}\n"; // Response JSON looks like {"scan":"1"} $scan_id = $zap->spider->scan($target, null, null, null, $api_key); $count = 0; while (true) { if ($count > 10) exit(); // Response JSON looks like {"status":"50"} $progress = intval($zap->spider->status($scan_id)); printf("Spider progress %d\n", $progress); if ($progress >= 100) break; sleep(2); $count++; } echo "Spider completed\n"; // Give the passive scanner a chance to finish sleep(5); echo "Scanning target ${target}\n"; // Response JSON for error looks like {"code":"url_not_found", "message":"URL is not found"} $scan_id = $zap->ascan->scan($target, null, null, null, null, null, $api_key); $count = 0; while (true) { if ($count > 10) exit(); $progress = intval($zap->ascan->status($scan_id)); printf("Scan progress %d\n", $progress); if ($progress >= 100) break; sleep(2); $count++; } echo "Scan completed\n"; // Report the results echo "Hosts: " . implode(",", $zap->core->hosts()) . "\n"; $alerts = $zap->core->alerts($target, "", ""); echo "Alerts (" . count($alerts) . "):\n"; print_r($alerts);
API
OWASP ZAP Wiki: ApiGen_Index · zaproxy/zaproxy Wiki
##许可证
- Apache License, Version 2.0