我使用net :: nessus :: Rest模块具有Perl脚本。目前我正在使用:
$nessus->create_session(
username => $NESSUSUSER,
password => $NESSUSPASSWORD
);
这一点代码以创建会话令牌。只要我的扫描在30分钟内完成,这效果很好。30分钟后,会话令牌即将到期,我会收到此错误消息。
服务器错误:nessus.pl行68
的无效凭据除非有人知道将超时设置为86400秒之类的方法,否则我想使用我生成的API访问/秘密键。我唯一的问题是,我找不到如何使用net :: nessus :: Rest Module使用一些Perl脚本列出此示例的示例。有人可以帮助我使用我可以在上面的create_session示例中交换的代码的位api键?
谢谢,
它确实很简单;您必须在每个请求中包括一个http-header" x-apikeys":
java:
con.setRequestProperty("X-ApiKeys", "accessKey="+YourAccKey+";secretKey="+YourSecKey+";");
卷曲:
curl -X POST -H 'X-ApiKeys: accessKey=YOURKEY;secretKey=YOURSECRET' -H 'Content-Type:application/json'
--data '{"scan_id":"21", "alt_targets":[127.0.0.1]}'
-k "https://NessusServerIp:8834/scans/21/launch" | python -m json.tool
..这将使所有的魔术。
有关更多信息,请查看API -DOCU [ -> https://yoursessusip:8834/api#/授权]:
api键这些密钥是通过nessus生成的。Sessess:键或nessus.users:键,可用于身份验证而无需创建会话。使用以下HTTP标头将它们添加到您的请求中:
X-ApiKeys: accessKey={accessKey}; secretKey={secretKey};
示例:
curl -H "X-ApiKeys: accessKey={accessKey}; secretKey={secretKey}" https://{nessus-host}/scans
*