Oh, I see. In zap installation folder default version of file.
But in C:\Users\USERNAME\OWASP ZAP\ on windows there is actual config.xml file.
Updated to this. Tbh, interested to know, what enabled means. I have no idea where to find info about it, in reasonable amount of time.
I have cookie based session. It's defined in mine context. This script used to add accessToken from global variable set by other script used in this guide. So I assume that it's useless for me. Unless I need similar workaround for auth working in desktop mode, when I convert it into docker command.
Oh, %User Name from context, not his id% and many others was words I used as sanitizing replacement for sensitive info. Let me try to use this
color to highlight such replacements. Sounds like a bad option, but enclosing in $, %, {} and other colors not sounds better. Hope you have better option in mind.
So now I have:
📦auth_files
┣ 📂files_to_copy_in_zap_folder
┃ ┣ 📂scripts
┃ ┃ ┗ 📂authentication
┃ ┃ ┃ ┣ 📜AzureAuth.zst
┃ ┣ 📂xml
┃ ┃ ┗ 📜config.xml
┃ ┗ 📜log4j2.properties
┣ 📜copy_files.sh
┣ 📜
APPNAME.context
┃ ┃ ┃ ┣ 📜AzureAuth.zst
Not changed since I given it previous time.
┃ ┣ 📂xml
┃ ┃ ┗ 📜config.xml
┃ ┗ 📜log4j2.properties
Described bofore in this message.
┣ 📜
APPNAME.context
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<context>
<name>http://APPNAME.com/</name>
<desc/>
<inscope>true</inscope>
<incregexes>http://APPNAME.com.*</incregexes>
<incregexes>https://APPNAME.com.*</incregexes>
<excregexes>h*SignOut*</excregexes>
<tech>
<include>Db.MySQL</include>
<include>Language.ASP</include>
<include>Language.C</include>
<include>Language.JavaScript</include>
<include>OS</include>
<include>OS.Linux</include>
<include>OS.MacOS</include>
<include>OS.Windows</include>
<include>SCM</include>
<include>SCM.Git</include>
<include>SCM.SVN</include>
<include>WS</include>
<include>WS.Apache</include>
<include>WS.IIS</include>
<include>WS.Tomcat</include>
<exclude>Db</exclude>
<exclude>Db.CouchDB</exclude>
<exclude>Db.Firebird</exclude>
<exclude>Db.HypersonicSQL</exclude>
<exclude>Db.IBM DB2</exclude>
<exclude>Db.Microsoft Access</exclude>
<exclude>Db.Microsoft SQL Server</exclude>
<exclude>Db.MongoDB</exclude>
<exclude>Db.Oracle</exclude>
<exclude>Db.PostgreSQL</exclude>
<exclude>Db.SAP MaxDB</exclude>
<exclude>Db.SQLite</exclude>
<exclude>Db.Sybase</exclude>
<exclude>Language</exclude>
<exclude>Language.JSP/Servlet</exclude>
<exclude>Language.Java</exclude>
<exclude>Language.PHP</exclude>
<exclude>Language.Python</exclude>
<exclude>Language.Ruby</exclude>
<exclude>Language.XML</exclude>
</tech>
<urlparser>
<class>org.zaproxy.zap.model.StandardParameterParser</class>
<config>{"kvps":"&","kvs":"=","struct":[]}</config>
</urlparser>
<postparser>
<class>org.zaproxy.zap.model.StandardParameterParser</class>
<config>{"kvps":"&","kvs":"=","struct":[]}</config>
</postparser>
<authentication>
<type>4</type>
<strategy>POLL_URL</strategy>
<pollurl>http://APPNAME.com/api/Authorization</pollurl>
<polldata/>
<pollheaders/>
<pollfreq>30</pollfreq>
<pollunits>REQUESTS</pollunits>
<loggedin>\Q"fullName"\E</loggedin>
<loggedout>\QUnauthorizedE</loggedout>
<script>
<name>AzureAuth.zst</name>
<params>EXCLUDED SANITIZED DATA</params>
</script>
</authentication>
<users>
<user>1882;true;EXCLUDED SANITIZED DATA</user>
</users>
<forceduser>1882</forceduser>
<session>
<type>0</type>
</session>
<authorization>
<type>0</type>
<basic>
<header/>
<body/>
<logic>AND</logic>
<code>-1</code>
</basic>
</authorization>
</context>
</configuration>
┣ 📜copy_files.sh
consist string:
cp -rv /zap/wrk/auth_files/files_to_copy_in_zap_folder/* /zap/
So now I do:
zap-full-scan.py -t https://
APPNAME.com/ -d -r zap-full-scan-$(date +%Y-%m-%d_%H-%M).html -n /zap/wrk/auth_files/
APPNAME.context -U
USERNAME
I use replacement to "
USERNAME" instead of "%User" due to fact that I guide was used userid in one place.
$ zap-full-scan.py -t https://
APPNAME.com/ -d -r zap-full-scan-$(date +%Y-%m-%d_%H-%M).html -n /zap/wrk/auth_files/
APPNAME.context -U USERNAME
2020-12-24 10:46:19,943 Could not find custom hooks file at /home/zap/.zap_hooks.py
2020-12-24 10:46:19,943 Trigger hook: cli_opts, args: 1
2020-12-24 10:46:19,944 Using port: 53141
2020-12-24 10:46:19,944 Trigger hook: start_zap, args: 2
2020-12-24 10:46:19,944 Starting ZAP
2020-12-24 10:46:19,944 Params: ['zap-x.sh', '-daemon', '-port', '53141', '-host', '0.0.0.0', '-config', 'database.recoverylog=false', '-config', 'api.disablekey=true', '-config', '
api.addrs.addr.name=.*', '-config', 'api.addrs.addr.regex=true', '-config', 'spider.maxDuration=0', '-addonupdate', '-addoninstall', 'pscanrulesBeta', '-addoninstall', 'ascanrulesBeta']
2020-12-24 10:46:19,952 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:20,954 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:21,956 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:22,958 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:23,960 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:24,962 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:25,966 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:26,969 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:27,018 ZAP Version 2.10.0
2020-12-24 10:46:27,019 Took 7 seconds
2020-12-24 10:46:27,020 Trigger hook: zap_started, args: 2
2020-12-24 10:46:27,020 Tune
2020-12-24 10:46:27,020 Disable all tags
2020-12-24 10:46:27,023 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:27,030 Set max pscan alerts
2020-12-24 10:46:27,031 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:27,038 Trigger hook: zap_tuned, args: 1
2020-12-24 10:46:27,038 Trigger hook: zap_import_context, args: 2
2020-12-24 10:46:27,039 Starting new HTTP connection (1): localhost:53141
2020-12-24 10:46:27,057 Failed to load context file /zap/wrk/vdm.talrace.context : does_not_exist
2020-12-24 10:46:27,058 Trigger hook: zap_import_context_wrap, args: 1
2020-12-24 10:46:27,058 Trigger hook: zap_set_scan_user, args: 2
ERROR <class 'TypeError'>
2020-12-24 10:46:27,059 Unexpected error: <class 'TypeError'>
Traceback (most recent call last):
File "/zap//zap-full-scan.py", line 337, in main
zap_set_scan_user(zap, user)
File "/zap/zap_common.py", line 104, in _wrap
return_data = func(*args_list, **kwargs)
File "/zap/zap_common.py", line 577, in zap_set_scan_user
for usr in context_users:
TypeError: 'NoneType' object is not iterable
Found Java version 11.0.9.1
Available memory: 2994 MB
Using JVM args: -Xmx748m
1389 [main] INFO org.zaproxy.zap.DaemonBootstrap - OWASP ZAP 2.10.0 started 24/12/2020, 10:42:09 with home /home/zap/.ZAP/
1448 [main] INFO org.parosproxy.paros.common.AbstractParam - Setting config database.recoverylog = false was false
1448 [main] INFO org.parosproxy.paros.common.AbstractParam - Setting config api.disablekey = true was true
1449 [main] INFO org.parosproxy.paros.common.AbstractParam - Setting config
api.addrs.addr.name = .* was .*
1450 [main] INFO org.parosproxy.paros.common.AbstractParam - Setting config api.addrs.addr.regex = true was true
1450 [main] INFO org.parosproxy.paros.common.AbstractParam - Setting config spider.maxDuration = 0 was 0
1459 [main] INFO org.parosproxy.paros.network.SSLConnector - Reading supported SSL/TLS protocols...
1459 [main] INFO org.parosproxy.paros.network.SSLConnector - Using a SSLEngine...
1560 [main] INFO org.parosproxy.paros.network.SSLConnector - Done reading supported SSL/TLS protocols: [SSLv2Hello, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3]
1561 [main] INFO org.parosproxy.paros.extension.option.OptionsParamCertificate - Unsafe SSL renegotiation disabled.
1977 [main] INFO hsqldb.db.HSQLDB379AF3DEBD.ENGINE - dataFileCache open start
1995 [main] INFO hsqldb.db.HSQLDB379AF3DEBD.ENGINE - dataFileCache commit start
2009 [main] INFO hsqldb.db.HSQLDB379AF3DEBD.ENGINE - dataFileCache commit end
2009 [main] INFO hsqldb.db.HSQLDB379AF3DEBD.ENGINE - dataFileCache open end
2066 [ZAP-daemon] INFO org.zaproxy.zap.control.ExtensionFactory - Loading extensions
3232 [ZAP-daemon] INFO org.zaproxy.zap.control.ExtensionFactory - Installed add-ons: [[id=alertFilters, version=10.0.0], [id=ascanrules, version=38.0.0], [id=ascanrulesBeta, version=33.0.0], [id=bruteforce, version=10.0.0], [id=commonlib, version=1.2.0], [id=diff, version=10.0.0], [id=directorylistv1, version=4.0.0], [id=domxss, version=10.0.0], [id=encoder, version=0.4.0], [id=formhandler, version=3.0.0], [id=fuzz, version=13.1.0], [id=gettingStarted, version=12.0.0], [id=graaljs, version=0.1.0], [id=graphql, version=0.2.0], [id=help, version=11.0.0], [id=hud, version=0.12.0], [id=importurls, version=7.0.0], [id=invoke, version=10.0.0], [id=onlineMenu, version=8.0.0], [id=openapi, version=17.0.0], [id=pscanrules, version=31.0.0], [id=pscanrulesBeta, version=24.0.0], [id=quickstart, version=29.0.0], [id=replacer, version=8.0.0], [id=retire, version=0.6.0], [id=reveal, version=3.0.0], [id=saverawmessage, version=5.0.0], [id=savexmlmessage, version=0.1.0], [id=scripts, version=28.0.0], [id=selenium, version=15.3.0], [id=soap, version=4.0.0], [id=spiderAjax, version=23.2.0], [id=tips, version=7.0.0], [id=webdriverlinux, version=23.0.0], [id=websocket, version=23.0.0], [id=zest, version=33.0.0]]
3292 [ZAP-daemon] ERROR org.zaproxy.zap.ZAP.UncaughtExceptionLogger - Exception in thread "ZAP-daemon"
java.awt.AWTError: Can't connect to X11 window server using ':1.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) ~[?:?]
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:315) ~[?:?]
at java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101) ~[?:?]
at java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83) ~[?:?]
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129) ~[?:?]
at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231) ~[?:?]
at java.lang.Class.forName0(Native Method) ~[?:?]
at java.lang.Class.forName(Class.java:315) ~[?:?]
at java.awt.Toolkit$2.run(Toolkit.java:588) ~[?:?]
at java.awt.Toolkit$2.run(Toolkit.java:583) ~[?:?]
at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582) ~[?:?]
at javax.swing.ImageIcon.<init>(ImageIcon.java:198) ~[?:?]
at javax.swing.ImageIcon.<init>(ImageIcon.java:217) ~[?:?]
at org.zaproxy.zap.extension.hud.ExtensionHUD.<clinit>(ExtensionHUD.java:87) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
at org.zaproxy.zap.control.AddOnLoaderUtils.loadAndInstantiateClassImpl(AddOnLoaderUtils.java:118) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.AddOnLoaderUtils.loadAndInstantiateClass(AddOnLoaderUtils.java:64) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.AddOnLoader.loadAddOnExtension(AddOnLoader.java:897) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.AddOnLoader.loadAddOnExtensions(AddOnLoader.java:886) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.AddOnLoader.getExtensions(AddOnLoader.java:842) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.AddOnLoader.getExtensions(AddOnLoader.java:813) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.control.ExtensionFactory.loadAllExtension(ExtensionFactory.java:109) ~[zap-2.10.0.jar:2.10.0]
at org.parosproxy.paros.control.Control.addExtension(Control.java:185) ~[zap-2.10.0.jar:2.10.0]
at org.parosproxy.paros.control.AbstractControl.loadExtension(AbstractControl.java:54) ~[zap-2.10.0.jar:2.10.0]
at org.parosproxy.paros.control.Control.init(Control.java:141) ~[zap-2.10.0.jar:2.10.0]
at org.parosproxy.paros.control.Control.initSingletonWithoutViewAndProxy(Control.java:371) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.HeadlessBootstrap.initControl(HeadlessBootstrap.java:58) ~[zap-2.10.0.jar:2.10.0]
at org.zaproxy.zap.DaemonBootstrap$1.run(DaemonBootstrap.java:75) ~[zap-2.10.0.jar:2.10.0]
at java.lang.Thread.run(Thread.java:834) [?:?]
2020-12-24 10:46:27,074 Trigger hook: pre_exit, args: 3