我正在尝试使用owasp zap自动扫描项目以识别安全漏洞,如下文所述:
https://www.securify.nl/blog/SFY20150303/automating-security-tests-using-owasp-zap-and-jenkins.html
我在下面的代码行中收到错误: -
zap.spider.scan(target)
脚本来源: -
https://github.com/zaproxy/zaproxy/wiki/ApiPython
我正在使用的代码: -
#!/usr/bin/env python
import time
from pprint import pprint
from zapv2 import ZAPv2
# Here the target is defined and an instance of ZAP is created.
target = 'http://google.com/'
zap = ZAPv2()
# Use the line below if ZAP is not listening on 8090.
# zap = ZAPv2(proxies={'http': 'http://127.0.0.1:8090', 'https': 'http://127.0.0.1:9090'})
# ZAP starts accessing the target.
print 'Accessing target %s' % target
zap.urlopen(target)
time.sleep(2)
# The spider starts crawling the website for URLs
print 'Spidering target %s' % target
zap.spider.scan(target)
# Progress of spider
time.sleep(2)
print 'Status %s' % zap.spider.status
while (int(zap.spider.status) < 100):
print 'Spider progress %: ' + zap.spider.status
time.sleep(400)
print 'Spider completed'
# Give the passive scanner a chance to finish
time.sleep(5)
# The active scanning starts
print 'Scanning target %s' % target
zap.ascan.scan(target)
while (int(zap.ascan.status) < 100):
print 'Scan progress %: ' + zap.ascan.status
time.sleep(600)
print 'Scan completed'
# Report the results
print 'Hosts: ' + ', '.join(zap.core.hosts)
print 'Alerts: '
pprint(zap.core.alerts())
我得到的错误: -
root @ kali:〜/ .jenkins / workspace / zap#python website-scan.py访问 目标http://google.com/蜘蛛目标http://google.com/ Traceback(最近一次调用最后一次):文件“website-scan.py”,第21行, 在 zap.spider.scan(target)文件“build / bdist.linux-x86_64 / egg / zapv2 / spider.py”,第189行,在扫描中 返回six.next(six.itervalues(self.zap._request(self.zap.base +'spider / action / scan /',params)))文件 “build / bdist.linux-x86_64 / egg / zapv2 / init .py”,第158行,in _request文件“/usr/lib/python2.7/dist-packages/requests/models.py”,第850行,在json中 return complexjson.loads(self.text,** kwargs)文件“/usr/lib/python2.7/dist-packages/simplejson/init.py”,第516行, 在负载 return _default_decoder.decode(s)File“/usr/lib/python2.7/dist-packages/simplejson/decoder.py”,第374行,in 解码 obj,end = self.raw_decode(s)文件“/usr/lib/python2.7/dist-packages/simplejson/decoder.py”,404行,in raw_decode return self.scan_once(s,idx = _w(s,idx).end())simplejson.scanner.JSONDecodeError:期望值:第1行第1列 (char 0)
如果我遗失任何内容,请告诉我
答案 0 :(得分:1)
http://google.com/会重定向到https://google.com/之类的内容,因此您需要使用它。
顺便说一下,你真的有权攻击google.com吗?您使用的是什么版本的ZAP,以及如何启动它?
默认情况下,从ZAP 2.6.0开始,您将需要使用API密钥,并且只能从localhost连接。您链接到的页面上的脚本已更新为使用API密钥(https://github.com/zaproxy/zaproxy/wiki/ApiPython)
如果您不想使用API密钥,或需要从远程计算机连接,请参阅此常见问题解答:https://github.com/zaproxy/zaproxy/wiki/FAQapikey