问题描述
我在尝试为HTTPS网站设置zap扫描时遇到麻烦。代码就是这样-
from zapv2 import ZAPv2
def main():
args = fetchArguments()
zap = openZapProxy(args)
sys.stdout.write('Creating a new session on ZAP server %s\n' % args.zap_host)
zap.core.new_session("tempsession","true")
sys.stdout.write('Accessing %s\n' % args.target)
zap.urlopen(args.target)
if __name__ == '__main__':
main()
通过TLS网站运行时,zap会在urlopen上引发错误-
Creating a new session on ZAP server http://<server>
Accessing https://<website>
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py",line 159,in _new_conn
conn = connection.create_connection(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py",line 84,in create_connection
raise err
File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py",line 74,in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py",line 667,in urlopen
self._prepare_proxy(conn)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py",line 930,in _prepare_proxy
conn.connect()
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py",line 308,in connect
conn = self._new_conn()
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py",line 171,in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f5d4e1f9d30>: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py",line 439,in send
resp = conn.urlopen(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py",line 724,in urlopen
retries = retries.increment(
File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py",in increment
raise MaxRetryError(_pool,url,error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='https://<website>',port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.',NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f5d4e1f9d30>: Failed to establish a new connection: [Errno 111] Connection refused')))
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "/zap/pen-test-app.py",line 95,in <module>
main()
File "/zap/pen-test-app.py",line 56,in main
zap.urlopen(args.target)
File "/usr/local/lib/python3.8/site-packages/zapv2/__init__.py",line 145,in urlopen
return requests.get(url,proxies=self.__proxies,verify=False,*args,**kwargs).text
File "/usr/local/lib/python3.8/site-packages/requests/api.py",line 76,in get
return request('get',params=params,**kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/api.py",line 61,in request
return session.request(method=method,url=url,**kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py",line 530,in request
resp = self.send(prep,**send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py",line 643,in send
r = adapter.send(request,**kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/adapters.py",line 510,in send
raise ProxyError(e,request=request)
requests.exceptions.ProxyError: HTTPSConnectionPool(host='https://<website>',NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f5d4e1f9d30>: Failed to establish a new connection: [Errno 111] Connection refused')))
进一步研究此错误,发现该线程中正在讨论类似的内容-Cannot connect to proxy error on requests.get() or requests.post() in python
现在的问题是,如何将headers = {'User-Agent':'Chrome'}传递给zap.urlopen,以查看其是否有效。还是有其他解决此特定问题的方法?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)