gcarrilao / php-openvas-manager
PHP与OpenVas Manager协议之间的中间件
dev-master
2019-08-01 16:09 UTC
Requires
- php: >=5.6.0
This package is auto-updated.
Last update: 2024-09-29 05:22:01 UTC
README
PHP应用程序和Openvas Manager协议之间的中间件。
作者
Federico Carrilao : federicoca95@gmail.com Facundo Gregorini : gregojff@gmail.com
复杂度
存在简单的和复杂的XML之间的定义复杂度。所有查询都通过反射创建。如果没有参数,则不需要指定复杂度。
无复杂度
<get_version/>
print_r($ov->get_version());
false,简单查询示例
<get_reports report_id="f0fdf522-276d-4893-9274-fb8699dc2270"/>
$options= array( "complexity" => False, "report_id" => "92a80a0a-bf25-4927-ae99-f8a9d5e3ed9d", ); print_r($ov->get_reports($options));
true,复杂查询示例
<create_task> <name>Scan Webserver</name> <comment>Hourly scan of the webserver</comment> <config id="daba56c8-73ec-11df-a475-002264764cea"/> <target id="b493b7a8-7489-11df-a3ec-002264764cea" /> <scanner id="15348381-3180-213f-4eec-123591912388"/> </create_task> <create_target> <name>All GNU/Linux machines</name> <hosts>192.168.1.0/24</hosts> </create_target>
$options= array( "complexity" => true, "name" => "New task", "comment" => "Test Task", "target" => array( "id" =>"0aeba03c-86cb-477b-9656-d4fe9cff6c60"), "config" => array( "id" =>"74db13d6-7489-11df-91b9-002264764cea"), ); print_r($ov->create_task($options)); $options= array( "complexity" => true, "name" => "Maquina 2", "hosts" => "192.168.1.196", ); print_r($ov->create_target($options));
使用模式
方法的工作方式如下:__call方法被重新定义。当PHP中不存在方法时,它会重定向到__call。此方法能够识别根据其复杂度应该如何组装XML查询,并将其发送到OpenvasManager。收到的答案是xml,并将其转换为PHP对象。定义了一个唯一的方法“get_report_csv”,用于获取报告的csv结果。
获取版本
$ov = new OpenvasManager("localhost","9390","admin","admin"); print_r($ov->get_version());
获取目标
print_r($ov->get_targets());
获取特定目标
$options= array( "complexity" => false, "target_id" => "2e0b354e-c410-4dd6-90ba-b71156887838", ); print_r($ov->get_targets($options));
创建目标
$options= array( "complexity" => true, "name" => "Maquina 2", "hosts" => "192.168.1.196", ); print_r($ov->create_target($options));
创建任务
$options= array( "complexity" => true, "name" => "New task", "comment" => "Test Task", "target" => array( "id" =>"0aeba03c-86cb-477b-9656-d4fe9cff6c60"), "config" => array( "id" =>"74db13d6-7489-11df-91b9-002264764cea"), ); print_r($ov->create_task($options));
开始任务
$options= array( "task_id" => "225eee06-b029-4bed-8b83-ab4cf7943a63", ); print_r($ov->start_task($options));
获取报告
$options= array( "complexity" => False, "report_id" => "92a80a0a-bf25-4927-ae99-f8a9d5e3ed9d", ); print_r($ov->get_reports($options));
获取CSV格式的报告
$ov->get_report_csv("92a80a0a-bf25-4927-ae99-f8a9d5e3ed9d");