When we use zap tool one thing that we have to do is maintain the url tree structure. Normally when we run the zap tool[1] we perform all the UI actions manually so zap tool can trace them. Zap tool will use these urls when the tool starting to attack. So if we want more accurate result with the required strength, the url tree structure should be maintained properly. Other wise there is a chance that zap tool will miss some urls where there are actual threats that could harm the application.
But the system i am developing is a cloud computing solution. So there is no one to do the UI actions manually. But some how this should be done. I have came up with some ideas that will make this possible.
Request for a selenium script.
When we develop web applications most of us use selenium to automate web applications . Even though selenium is used as a testing automation tool we could use that same tool to over come this issue. As mentioned in my other posts i am going to create a front end web application. There i can ask for a selenium script as well. Once i pull the source code and deploy it in my sever i can run the selenium script and create the url tree. Also i can use same selenium script to verify whether the deployment is successfully done or not as well.
Creating a crawler.
while i search for this problem i found a tool called linkchecker[2]. That is a application written in python to find broken URLs. But it is capable of saving all the URLs with their parent URL within a given depth.
some Features of linkchecker.
I was able to generate a XML report of a small web application.
With the XML file and by asking values for the forms in the front end application i will create a script that will perform the UI actions. With that script i can create the .session file and run the zap scan.
Request for .session file
There will be some developers who have knowledge about zap and know how to perform the security scan by them self. But they won't do the security scan by them self because of the time and resource problems. If the situation is like that we can ask them to do the UI actions manually (They will most likely do this because they want more accurate results.) when the zap tool is running. Once zap tool finishes tracing the UI actions end users can upload the .session file as well. we can use that .session file in our servers to run the ZAP tool. But everyone will not be able to that.
[1]https://pavithraprbd.blogspot.com/2017/03/owasp-zap-zed-attack-proxy.html
[2]https://wummel.github.io/linkchecker
Creating a crawler.
while i search for this problem i found a tool called linkchecker[2]. That is a application written in python to find broken URLs. But it is capable of saving all the URLs with their parent URL within a given depth.
some Features of linkchecker.
- recursive and multi threaded checking and site crawling
- restriction of link checking with regular expression filters for URLs
- proxy support
- honors robots.txt exclusion protocol
- Cookie support
- Different interfaces: command line, GUI and web interface
I was able to generate a XML report of a small web application.
With the XML file and by asking values for the forms in the front end application i will create a script that will perform the UI actions. With that script i can create the .session file and run the zap scan.
Request for .session file
There will be some developers who have knowledge about zap and know how to perform the security scan by them self. But they won't do the security scan by them self because of the time and resource problems. If the situation is like that we can ask them to do the UI actions manually (They will most likely do this because they want more accurate results.) when the zap tool is running. Once zap tool finishes tracing the UI actions end users can upload the .session file as well. we can use that .session file in our servers to run the ZAP tool. But everyone will not be able to that.
File -> Session properties
[1]https://pavithraprbd.blogspot.com/2017/03/owasp-zap-zed-attack-proxy.html
[2]https://wummel.github.io/linkchecker





















