<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MMuszik</id>
	<title>Elvis Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://elvis.hcw.ac.at/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=MMuszik"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/MMuszik"/>
	<updated>2026-09-10T14:36:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5346</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5346"/>
		<updated>2020-12-21T09:58:18Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
=== Test target ===&lt;br /&gt;
&lt;br /&gt;
If you want to try out the features of ZAP and do not want to set up your own server, you can find places like [https://public-firing-range.appspot.com/ https://public-firing-range.appspot.com/] which is a free-to-use online installation of Google&#039;s Firing Range. Do NOT run active features of ZAP against public websites without permission, you might alter data and this kind of attack can be prosecuted!&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Spider ===&lt;br /&gt;
[[File:Zap-spider.png|thumb|ZAP Spider]]&lt;br /&gt;
After running a scan the Spider tab opens up in ZAP, you can press the &amp;quot;New Scan&amp;quot; button in there and start the spidering of your target.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
A series of short videos (~10 mins each) about different ZAP features can be found both [https://www.zaproxy.org/zap-in-ten/ here] and [https://www.alldaydevops.com/zap-in-ten here].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [https://www.zaproxy.org/docs/ Official Documentation for ZAP]&lt;br /&gt;
* R. S. Devi and M. M. Kumar, &amp;quot;Testing for Security Weakness of Web Applications using Ethical Hacking,&amp;quot; 2020 4th International Conference on Trends in Electronics and Informatics (ICOEI)(48184), Tirunelveli, India, 2020, pp. 354-361, doi: 10.1109/ICOEI48184.2020.9143018.[https://ieeexplore.ieee.org/document/9143018]&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5247</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5247"/>
		<updated>2020-12-20T13:13:00Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Manual Scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
=== Test target ===&lt;br /&gt;
&lt;br /&gt;
If you want to try out the features of ZAP and do not want to set up your own server, you can find places like [https://public-firing-range.appspot.com/ https://public-firing-range.appspot.com/] which is a free-to-use online installation of Google&#039;s Firing Range. Do NOT run active features of ZAP against public websites without permission, you might alter data and this kind of attack can be prosecuted!&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
=== Spider ===&lt;br /&gt;
[[File:Zap-spider.png|thumb|ZAP Spider]]&lt;br /&gt;
After running a scan the Spider tab opens up in ZAP, you can press the &amp;quot;New Scan&amp;quot; button in there and start the spidering of your target.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
A series of short videos (~10 mins each) about different ZAP features can be found both [https://www.zaproxy.org/zap-in-ten/ here] and [https://www.alldaydevops.com/zap-in-ten here].&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-spider.png&amp;diff=5246</id>
		<title>File:Zap-spider.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-spider.png&amp;diff=5246"/>
		<updated>2020-12-20T13:12:49Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: ZAP Spider screenshot taken by MMuzik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
ZAP Spider screenshot taken by MMuzik&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5244</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5244"/>
		<updated>2020-12-20T13:02:18Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Test target */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
=== Test target ===&lt;br /&gt;
&lt;br /&gt;
If you want to try out the features of ZAP and do not want to set up your own server, you can find places like [https://public-firing-range.appspot.com/ https://public-firing-range.appspot.com/] which is a free-to-use online installation of Google&#039;s Firing Range. Do NOT run active features of ZAP against public websites without permission, you might alter data and this kind of attack can be prosecuted!&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
A series of short videos (~10 mins each) about different ZAP features can be found both [https://www.zaproxy.org/zap-in-ten/ here] and [https://www.alldaydevops.com/zap-in-ten here].&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5243</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5243"/>
		<updated>2020-12-20T13:02:02Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
== Test target ==&lt;br /&gt;
&lt;br /&gt;
If you want to try out the features of ZAP and do not want to set up your own server, you can find places like [https://public-firing-range.appspot.com/ https://public-firing-range.appspot.com/] which is a free-to-use online installation of Google&#039;s Firing Range. Do NOT run active features of ZAP against public websites without permission, you might alter data and this kind of attack can be prosecuted!&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
A series of short videos (~10 mins each) about different ZAP features can be found both [https://www.zaproxy.org/zap-in-ten/ here] and [https://www.alldaydevops.com/zap-in-ten here].&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5241</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5241"/>
		<updated>2020-12-20T12:58:12Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;br /&gt;
&lt;br /&gt;
== Videos ==&lt;br /&gt;
&lt;br /&gt;
A series of short videos (~10 mins each) about different ZAP features can be found both [https://www.zaproxy.org/zap-in-ten/ here] and [https://www.alldaydevops.com/zap-in-ten here].&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5240</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5240"/>
		<updated>2020-12-20T12:56:15Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Manual Scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial (see figure &amp;quot;ZAP HUD Welcome Message&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5074</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5074"/>
		<updated>2020-12-18T13:28:45Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A10 Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated / Manual&#039;&#039; || The Spider(s), Active Scanner, Fuzzer, and Access Control addon can all be used to generate traffic and ”attacks” which are&lt;br /&gt;
potential sources/causes for logging and alerting.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: Add-ons marked with a * are not part of the default installation of ZAP, they can be installed using the ZAP Marketplace&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5073</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5073"/>
		<updated>2020-12-18T13:27:47Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A9 Using Components with Known Vulnerabilities&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Alpha*) and Retire&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5072</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5072"/>
		<updated>2020-12-18T13:26:50Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A6 Security Misconfiguration&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Ajax Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Session comparison&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A7 Cross-Site Scripting (XSS)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* files&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Plug-n-Hack&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A8 Insecure Deserialization&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || There are two outstanding issues that are relevant to this Top 10 entry: Insecure deserialization active scanner &amp;amp; Java Serialization Handling&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5071</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5071"/>
		<updated>2020-12-18T13:21:56Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A5 Broken Access Control&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Access Control Testing*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HttpsInfo*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Port Scanner*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Wappalyzer - Technology detection*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5070</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5070"/>
		<updated>2020-12-18T13:20:08Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A3 Sensitive Data Exposure&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Passive Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A4 XML External Entities (XXE)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5069</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5069"/>
		<updated>2020-12-18T13:17:14Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A1 Injection&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Active Scan Rules (Release, Beta*, and Alpha*)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automated&#039;&#039; || Advanced SQLInjection Scanner* (Based on SQLMap)&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Fuzzer, combined with the FuzzDb* and SVN Digger* files&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ A2 Broken Authentication&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || HTTP Sessions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Spider&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Forced Browse&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Token Generator*&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Automatic&#039;&#039; || Access Control Testing*&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5068</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5068"/>
		<updated>2020-12-18T13:14:03Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;Manual&#039;&#039; || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5067</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5067"/>
		<updated>2020-12-18T13:13:31Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Attack the OWASP Top 10 using ZAP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Manual&#039;&#039;&#039; || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5066</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5066"/>
		<updated>2020-12-18T13:13:13Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
===Attack the OWASP Top 10 using ZAP===&lt;br /&gt;
&lt;br /&gt;
One of the many guides found at the ZAP website is about how to attack the top 10 security threats using ZAP. The content of the following tables is taken from the [https://www.zaproxy.org/docs/guides/zapping-the-top-10/ Zapping the Top 10 Guide].&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Common Components&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Man-in-the-middle proxy&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Manual request / resend&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Scripts&lt;br /&gt;
|-&lt;br /&gt;
| Manual || Search&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5065</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5065"/>
		<updated>2020-12-18T13:05:00Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===User Agent Settings===&lt;br /&gt;
If you go to &#039;&#039;Tools → Options → Connection&#039;&#039; in the ZAP GUI you can configure the Default User Agent (as in, which browser as well as operating system) that ZAP should pretend to be when connecting to websites. You may get different responses depending on this, especially older websites did have their own configurations for Internet Explorer that were unlike those for other browsers.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5064</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5064"/>
		<updated>2020-12-18T13:03:29Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Manual Scan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud firefox.png|thumb|ZAP HUD Welcome Message]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-hud_firefox.png&amp;diff=5063</id>
		<title>File:Zap-hud firefox.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-hud_firefox.png&amp;diff=5063"/>
		<updated>2020-12-18T13:02:06Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: Screenshot of ZAP head-up-display (HUD) in Firefox Browser taken by MMuzik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of ZAP head-up-display (HUD) in Firefox Browser taken by MMuzik&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5062</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5062"/>
		<updated>2020-12-18T13:01:31Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart/Automated Scan===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Manual Scan===&lt;br /&gt;
[[File:Zap-hud_firefox.png|thumb|ZAP HUD]]&lt;br /&gt;
A manual scan can be done the following way:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window. (see above)&lt;br /&gt;
* Click the large Manual Explore button.&lt;br /&gt;
* In the URL to explore text box, enter the full URL of the web application you want to explore.&lt;br /&gt;
* Select the browser you would like to use&lt;br /&gt;
* Click the Launch Browser&lt;br /&gt;
&lt;br /&gt;
Next you will be presented with a welcome message that includes the HUD tutorial.&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5061</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5061"/>
		<updated>2020-12-18T12:54:37Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
[[File:Zap-installation.png|thumb|ZAP Installation]]&lt;br /&gt;
&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-installation.png&amp;diff=5060</id>
		<title>File:Zap-installation.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-installation.png&amp;diff=5060"/>
		<updated>2020-12-18T12:54:11Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5059</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5059"/>
		<updated>2020-12-18T12:51:09Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Installation===&lt;br /&gt;
First, go to the [https://www.zaproxy.org/download/ Download section on the official website for ZAP] and select the installer for your operating system.&lt;br /&gt;
&lt;br /&gt;
Additionally, a Java version 8 or higher must be installed. That’s pretty much it, one needs to agree to the terms of service and then ZAP is ready to go.&lt;br /&gt;
&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5058</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5058"/>
		<updated>2020-12-18T12:49:46Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Modes==&lt;br /&gt;
ZAP has different modes to to choose from:&lt;br /&gt;
* Safe: only allows operations that are considered not dangerous&lt;br /&gt;
* Protected: the officially recommended mode, it does allow dangerous operations but only on URLs that were put in the Scope of our target&lt;br /&gt;
* Standard: everything goes&lt;br /&gt;
* ATTACK: this mode sets ZAP to scan new nodes within the Scope to be actively scanned as soon as they are discovered&lt;br /&gt;
&lt;br /&gt;
===Passive versus Active Scanning===&lt;br /&gt;
Passive scanning is considered safe and legal, too, it is used to find vulnerabilities and none of the requests or responses change. It is also run in a background thread so it does not negatively affect the performance when exploring an application.&lt;br /&gt;
&lt;br /&gt;
With Active Scanning we might actually attack our target so this should be done with caution and of course permission only, we could end up altering data at the target site with an active scan.&lt;br /&gt;
&lt;br /&gt;
Limitations of a standard passive scan are that pages that require a login can not be accessed by ZAP since the authentication will not be handled by ZAP. It is, however, possible to configure the functionality to authenticate. Another limitation is that the sequence in which a passive scan explores the target is pretty much uncontrollable. But ZAP offers a solution for almost every limitation, and that means there are many extra features in ZAP for exploring and attacking other than the passive scan. For exploring a site we already mentioned spidering as a viable option but we need to keep in mind that they also are rather limited when it comes to filling out forms, they may enter default data or random strings instead of the required information. So it is suggested that spidering is used in combination with manual exploration, so that an actual user can, for example, fill out form data if an error message is returned.&lt;br /&gt;
&lt;br /&gt;
Another recommendation for exploration is to take a look at the web application with a browser proxying through ZAP, the benefit of this method is that all requests and responses undergo a passive scan by ZAP and a site tree is built. Additionally, ZAP will record potential vulnerabilities that it finds for future reference.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5057</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5057"/>
		<updated>2020-12-18T12:42:24Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== API ===&lt;br /&gt;
It is possible to interact with ZAP using its powerful Application Programming Interface (API), almost every feature that the GUI offers can be accessed via API and more features are being added with future versions. It also helps not only beginners that there is an [https://www.zaproxy.org/docs/api extensive documentation] for the API, giving examples for Shell script, Python and Java commands to run features.&lt;br /&gt;
&lt;br /&gt;
Requests to the API are via GET and POST endpoints, responses are available in a variety of formats such as JSON, HTML and HTML but also custom formats such as HAR. The content of the response formats is always the same but the developer can select the format that best fits their use case depending on what they are looking for. There are recommendations given such as using HTML for good readability in reports, JSON or XML if one is looking to quickly parse the returned result.&lt;br /&gt;
&lt;br /&gt;
It is also possible to use ZAP to scan APIs and even automate the scanning process for these API scans, using the same file formats we that we use for ZAP’s own API (JSON, etc.). However, the main problem with scanning APIs is the exploration, figuring out what to target and using which methods since most of the time browsing or spidering will not lead to useful results for APIs.&lt;br /&gt;
&lt;br /&gt;
====Why is an API key required by default?====&lt;br /&gt;
Since ZAP can be controlled via API, we also must protect it from malicious sites or attackers that are looking to basically remotely control our ZAP installation or make changes to it. So it was decided to make the usage of an API key mandatory to hinder these attempts.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-addons.png&amp;diff=5056</id>
		<title>File:Zap-addons.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-addons.png&amp;diff=5056"/>
		<updated>2020-12-18T12:38:37Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: Screenshot of ZAP UI taken by MMuzik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of ZAP UI taken by MMuzik&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5055</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5055"/>
		<updated>2020-12-18T12:38:06Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* How-To */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;br /&gt;
&lt;br /&gt;
===Add-Ons===&lt;br /&gt;
There is a so-called &#039;&#039;&#039;Marketplace&#039;&#039;&#039; for ZAP where Add-ons can be found. These make it possible to extend the functionality of ZAP even further, and typically it is possible to add or remove them without restarting the ZAP application.&lt;br /&gt;
Usually Add-ons are assigned one of the following states:&lt;br /&gt;
* Release: high-quality add-on&lt;br /&gt;
* Beta: reasonable quality but possibly incomplete or still requires testing • Alpha: requires further development&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-addons.png|thumb|Manage Add-Ons]]&lt;br /&gt;
You can reach the marketplace by clicking on the blue-red-green squares symbol in the UI, it stands for &amp;quot;Manage Add-Ons&amp;quot;.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5054</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5054"/>
		<updated>2020-12-18T12:26:55Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-persist session.png|thumb|ZAP Session Persistence]]&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-persist_session.png&amp;diff=5053</id>
		<title>File:Zap-persist session.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-persist_session.png&amp;diff=5053"/>
		<updated>2020-12-18T12:26:03Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: After starting up the ZAP application you are presented with this window asking if you want to persist (save) your session details or not.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
After starting up the ZAP application you are presented with this window asking if you want to persist (save) your session details or not.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5052</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5052"/>
		<updated>2020-12-18T12:25:05Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
&lt;br /&gt;
After opening ZAP you are asked if you want to persist the session. Answer &amp;quot;No&amp;quot; to quickly skip to the Quickstart.&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5051</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5051"/>
		<updated>2020-12-18T12:23:19Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack button&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5050</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5050"/>
		<updated>2020-12-18T12:21:02Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan:&lt;br /&gt;
* Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
* Click the large Automated Scan button.&lt;br /&gt;
* In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
* Click the Attack&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5049</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5049"/>
		<updated>2020-12-18T12:20:42Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan :&lt;br /&gt;
• Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
• Click the large Automated Scan button.&lt;br /&gt;
• In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
• Click the Attack&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5048</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5048"/>
		<updated>2020-12-18T12:20:22Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Quickstart */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan :&lt;br /&gt;
• Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
• Click the large Automated Scan button.&lt;br /&gt;
• In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
• Click the Attack&lt;br /&gt;
&lt;br /&gt;
[[File:Zap-quickstart.png|thumb|ZAP Quickstart]]&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-quickstart.png&amp;diff=5047</id>
		<title>File:Zap-quickstart.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Zap-quickstart.png&amp;diff=5047"/>
		<updated>2020-12-18T12:18:41Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: Screenshot of ZAP Quickstart taken by MMuzik&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Screenshot of ZAP Quickstart taken by MMuzik&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5046</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5046"/>
		<updated>2020-12-18T12:17:20Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Introduction/About */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
=== About ===&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;br /&gt;
&lt;br /&gt;
=== Description ===&lt;br /&gt;
ZAP’s focus is on testing web applications, the core idea behind it is a ”Man-in-the-Middle proxy”, that is, all web traffic between the web browser and the web application is first directed through ZAP. The data and messages can be intercepted, inspected, even modified before they are forwarded to their actual destination.&lt;br /&gt;
There are different ways to run ZAP, it is possible to use it as a stand-alone application (Java 8+ is required) or as a daemon process.&lt;br /&gt;
&lt;br /&gt;
It is also possible to run ZAP in combination with another proxy, e.g. if a company runs their web traffic through their own proxy or firewall solution first. In this case we configure our browser to connect to ZAP, and then we can configure ZAP to connect to that other proxy.&lt;br /&gt;
&lt;br /&gt;
There are various Add-ons as well as an API which make it possible to be used in a variety of scenarios and also to extend ZAP further in the future.&lt;br /&gt;
As stated in the principles, ZAP targets all skill levels, from those new to security testing who will probably start out by using automated tests, to developers, to those that run security tests for a living and can be considered specialists, making use of a variety of features including manual tests. The flexibility and extensibility (via add-ons in the ZAP marketplace that is part of the client) that ZAP provides make it a popular choice among security testers, add to that it is available for free and for pretty much every major operating system.&lt;br /&gt;
Since we’re talking about security, to a lot of people it is also important to know what their security tools really do. ZAP is open source and code examination is possible if so desired, one can look at how certain functions are implemented and the developers are transparent about which data ZAP is ”sending home” (e.g. checks for new versions), and also how that background data can be controlled or even disabled (where possible).&lt;br /&gt;
The ZAP community is also very open to new developers, anyone can submit bug fixes or create additional features for ZAP.&lt;br /&gt;
&lt;br /&gt;
==How-To==&lt;br /&gt;
===Quickstart===&lt;br /&gt;
The easiest way to start using ZAP is via the Quick Start tab. Quick Start is a ZAP add-on that is included automatically when you installed ZAP.&lt;br /&gt;
To run a Quick Start Automated Scan :&lt;br /&gt;
• Start ZAP and click the Quick Start tab of the Workspace Window.&lt;br /&gt;
• Click the large Automated Scan button.&lt;br /&gt;
• In the URL to attack text box, enter the full URL of the web application you want to attack.&lt;br /&gt;
• Click the Attack&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5045</id>
		<title>OWASP ZAP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_ZAP&amp;diff=5045"/>
		<updated>2020-12-18T12:01:05Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: Created page with &amp;quot;== Introduction/About == ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used fo...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction/About ==&lt;br /&gt;
ZAP is short for Zed Attack Proxy. Before we delve into details as to what this means, what it is about, why it was created and what it can be used for, let us start by having a look at the &#039;&#039;principles of ZAP&#039;&#039; first for a better understanding.&lt;br /&gt;
&lt;br /&gt;
The principles are:&lt;br /&gt;
* It is free, open source which means anyone can access and use it.&lt;br /&gt;
* It is also cross platform that is it works on Linux, Windows and Macs.&lt;br /&gt;
* It is easy to use; any user be it beginner or a professional can use it easily.&lt;br /&gt;
* It is easy to install; it requires Java Runtime Environment but everything else is included in standard downloads.&lt;br /&gt;
* It is fully internationalized, i.e., it has been translated to many other languages.&lt;br /&gt;
* It is fully documented, set of useful documents and helpline files are included.&lt;br /&gt;
* It works well with other tools, so that we can use other tools in conjunction with zap if we need to.&lt;br /&gt;
* It supports the use of well-regarded components.&lt;br /&gt;
These principles can be seen as the motivation behind ZAP, to summarise, it is designed to give everyone interested the chance to easily run security tests, at no cost, no matter their experience, the computer they use or the language they speak.&lt;br /&gt;
OWASP (Open Web Application Security Project) is a non-profit organisation that publishes freely-available articles, and aside from tools like ZAP they also provide documentation and technologies that deal with web application security. A lot of other security publications refer to the OWASP publications, for example the OWASP Top 10 which is looking at the biggest security risks for organisations and which will be featured in its own chapter in this here paper later on.&lt;br /&gt;
They also offer a Testing guide as well as a Development guide offering best practice information to those interested and many more interesting resources.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4153</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4153"/>
		<updated>2020-06-09T08:40:00Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Turning devices on/off */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
Light Bulb ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Light Bulb OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is longer than the off sequence:&lt;br /&gt;
&lt;br /&gt;
Smart Plug ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Smart Plug OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
(these were done using arpspoof on 192.168.0.106, 192.168.0.101 is the Internet Gateway, 192.168.0.104 is the TRADFRI Gateway, commands were sent via 192.168.0.103 - so keep in mind that you see duplicates of each packet in the Wireshark caps because they include the sniff and forward to the actual target device)&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypted with DTLS. Two attacks were performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observe that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log.&lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4152</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4152"/>
		<updated>2020-06-09T08:37:17Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Interrupt Communication */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
Light Bulb ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Light Bulb OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
Smart Plug ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Smart Plug OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
(these were done using arpspoof on 192.168.0.106, 192.168.0.101 is the Internet Gateway, 192.168.0.104 is the TRADFRI Gateway, commands were sent via 192.168.0.103)&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypted with DTLS. Two attacks were performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observe that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log.&lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4151</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4151"/>
		<updated>2020-06-09T08:35:55Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* MitM Proxy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
Light Bulb ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Light Bulb OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
Smart Plug ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Smart Plug OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
(these were done using arpspoof on 192.168.0.106, 192.168.0.101 is the Internet Gateway, 192.168.0.104 is the TRADFRI Gateway, commands were sent via 192.168.0.103)&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypt with DTLS. Two attacks where performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observe that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log.&lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4150</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4150"/>
		<updated>2020-06-09T08:28:35Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Turning devices on/off */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
Light Bulb ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Light Bulb OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
Smart Plug ON&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Smart Plug OFF&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Ikea-strom aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
(these were done using arpspoof on 192.168.0.106, 192.168.0.101 is the Internet Gateway, 192.168.0.104 is the TRADFRI Gateway, commands were sent via 192.168.0.103)&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypt with DTLS. Two attacks where performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observer that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log. &lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-strom_aus.png&amp;diff=4149</id>
		<title>File:Ikea-strom aus.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-strom_aus.png&amp;diff=4149"/>
		<updated>2020-06-09T08:25:32Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4148</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4148"/>
		<updated>2020-06-09T08:25:10Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Turning devices on/off */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
Light Bulb ON&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Light Bulb OFF&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
Smart Plug ON&lt;br /&gt;
[[File:Ikea-strom ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Smart Plug OFF&lt;br /&gt;
[[File:Ikea-strom aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypt with DTLS. Two attacks where performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observer that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log. &lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-strom_ein.png&amp;diff=4147</id>
		<title>File:Ikea-strom ein.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-strom_ein.png&amp;diff=4147"/>
		<updated>2020-06-09T08:24:29Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4146</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4146"/>
		<updated>2020-06-09T08:23:37Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Turning devices on/off */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypt with DTLS. Two attacks where performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observer that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log. &lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4145</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=4145"/>
		<updated>2020-06-09T08:23:14Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: /* Data Transmission when using TRADFRI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
For testing purposes an iphone was cleaned as far as possible. All uninstalable services were erased and synchronization plans were deactivated.&lt;br /&gt;
However iphones are not that good for this kind of tests because after all cleaning there were still some connections to apple servers.&lt;br /&gt;
&lt;br /&gt;
To use pihole for capturing the dns queries of the Tradfri Gateway itself you may use an USB networkadapter or an external router as wifi bride. Otherwise you cannot use the Tradfri Gateway due to the lack of connection possibilities. As an workaround outside the Raspion software package classic arpspoofing was used.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Preliminary overview IP addressess:&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|900px]]&lt;br /&gt;
&lt;br /&gt;
Immediately after power on the app is sending dns requests to get ip addresses for fw.ota.homesmart.ikea.net. In the dns answer the ip&#039;s to d262cmbxmzphsu.cloudfront.net were included which is an address belonging to amazons aws.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Also an http get request can be found:&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The data from fw.ota.homesmart.ikea.net/feed/version_info.json are not that spectacular. As the name implies it only consists of version information.&lt;br /&gt;
&lt;br /&gt;
As soon as the Ikea Smart Home App starts the setup it tries to find a Tradfri Gateway with mDNS queries.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
The mDNS queries are not forwarded through our pihole setup so this technique finding the Tradfri Gateway fails. The app itself provides another way to find the Tradfri Gateway by entering the ip address directly. After submitting the input the app finds the gateway and asks you to scan the QR code on the bottom side of the divce or to enter the security code which can be found near the QR code.&lt;br /&gt;
&lt;br /&gt;
The QR code contains the security code which is used as the pre shared key of the DTLS connection. As soon as the app gets the security code the app and the gateway are initiating the DTLS connection. All applicationdata is send over this encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Same implies to connections of additional smart home devices: All data is sent over the encrypted connection.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
As far as the initial setup goes there are only a few connections to the internet. This connections are all from app to some aws cloud addresses. It seems this is relating to the setup of a new device:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
Overview of IP addresses used:&lt;br /&gt;
&lt;br /&gt;
[[File:ip_overview_muzik.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
=== Turning devices on/off ===&lt;br /&gt;
When devices are turned on or off, the individual packet sequences are made up of packets that are the same in size but with some devices there are more packets sent when turning on than off. Let me illustrate this by comparing the on/off sequences of the light bulb (pretty much the same for on/off, although of course different packet content):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:File:Ikea-gluehbirne_ein.png|700px]]&lt;br /&gt;
[[File:File:Ikea-gluehbirne_aus.png|700px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As opposed to the smart plug where the on sequence is 12 packets (versus 8 packets for &amp;quot;off&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
== Interrupt Communication ==&lt;br /&gt;
This experiment will show if it is possible to interrupt or sniff the communication between the IKEA and the IKEA gateway. This is not possible with only a packet sniffer like Wireshark, because the communication is encrypt with DTLS. Two attacks where performed, a mitm proxy attack and a replay attack. For the mitm attack the mitm proxy from the c’t Raspion was used and for the replay attack a scapy script.  The network structure is as follows:&lt;br /&gt;
&lt;br /&gt;
IP overview:&lt;br /&gt;
&lt;br /&gt;
[[File:mitm_findings.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Structure ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android can be operated as a virtual machine, or you can also use a smart phone that has the IKEA Smarthome app installed. If it is operated as a virtual machine, make sure that bridge mode is used, since the VM will then have its own IP. This has the advantage that you only have to analyze the traffic generated by Android and not that of the host system.&lt;br /&gt;
&lt;br /&gt;
In order to be able to use the mitm, certificates must be added to the key store on the android os. This can be done by opening the website mitm.it in the browser of android. If you are in the right network, you will see the following window.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Here you choose the right operating system and download the certificates.&lt;br /&gt;
&lt;br /&gt;
The official documentation can be found here[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== MitM Proxy ===&lt;br /&gt;
When you start the app in Wireshark you can see that the handshake for the DTLS connection is being carried out.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
You can also observe that there are several connections to different servers outside the network.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
The following messages can be decrypted.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Both include a JSON-file.&lt;br /&gt;
&lt;br /&gt;
[[File:Json-file-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* In the debug log, you can observer that there are additional TLS connections, but the mitm proxy couldn’t decrypt these.&lt;br /&gt;
&lt;br /&gt;
[[File:Debug-log-mitm.jpg]]&lt;br /&gt;
&lt;br /&gt;
The DTLS connection between the app and the gateway, however, does not appear in the mitm log. &lt;br /&gt;
&lt;br /&gt;
=== Replay-Attack ===&lt;br /&gt;
In order to be able to carry out a replay attack, the data traffic between the device on which the IKEA app is running and the IKEA gateway must be recorded. Then the SRC and DST in IP and MAC have to be adjusted accordingly. In this particular example, a sequence number is available in the DTLS protocol. This must also be adjusted so that it is preliminary. Since the payload is also included in the UDP checksum, it must be recalculated too.&lt;br /&gt;
&lt;br /&gt;
[[File:replay-attack.png]]&lt;br /&gt;
&lt;br /&gt;
As you can see, the attack is unsuccessful because no response is sent from the gateway, which is likely to drop the packets.&lt;br /&gt;
&lt;br /&gt;
This may be because DTLS also uses MAC (message authentication code). The sequence number is used to calculate the MAC value. Unfortunately, this value cannot be recalculated without knowing the encryption.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-gluehbirne_aus.png&amp;diff=4144</id>
		<title>File:Ikea-gluehbirne aus.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-gluehbirne_aus.png&amp;diff=4144"/>
		<updated>2020-06-09T08:21:16Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-gluehbirne_ein.png&amp;diff=4143</id>
		<title>File:Ikea-gluehbirne ein.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-gluehbirne_ein.png&amp;diff=4143"/>
		<updated>2020-06-09T08:20:09Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=3647</id>
		<title>Install c&#039;t&#039;-Raspion on Raspberry PI</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Install_c%27t%27-Raspion_on_Raspberry_PI&amp;diff=3647"/>
		<updated>2020-05-11T16:57:37Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements ==&lt;br /&gt;
* Raspberry PI with Raspbian OS&lt;br /&gt;
* Internet connection&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: System Update ===&lt;br /&gt;
&lt;br /&gt;
In the command line interface enter:&lt;br /&gt;
&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Download ===&lt;br /&gt;
Download the latest version of Raspion:&lt;br /&gt;
&lt;br /&gt;
 wget ct.de/s/x5Pm -O raspion.zip &lt;br /&gt;
&lt;br /&gt;
=== Step 3: Installation ===&lt;br /&gt;
Unzip:&lt;br /&gt;
 unzip raspion.zip&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
 cd raspion&lt;br /&gt;
 ./install.sh or bash install.sh&lt;br /&gt;
&lt;br /&gt;
[[File:Install_Raspion.png]]&lt;br /&gt;
&lt;br /&gt;
At the end of the installation there is the wifi name and password of the c&#039;t-Raspion.&lt;br /&gt;
&lt;br /&gt;
=== Launch c&#039;t-Raspion web interface ===&lt;br /&gt;
Atfer connecting to the wifi of the c&#039;t&#039;-Raspion go to http://&amp;lt;ip-address of your Raspberry-PI&amp;gt;:81&lt;br /&gt;
&lt;br /&gt;
[[File:Raspion_webinterface.png]]&lt;br /&gt;
&lt;br /&gt;
== Services of the c&#039;t-Raspion ==&lt;br /&gt;
&lt;br /&gt;
=== Pi-hole ===&lt;br /&gt;
Pi-hole shows DNS-Requests. They can also be blocked.&lt;br /&gt;
&lt;br /&gt;
[[File:pi-hole.png]]&lt;br /&gt;
&lt;br /&gt;
=== ntopng ===&lt;br /&gt;
They include the&lt;br /&gt;
involved communication partners, the network protocol and information on duration and volume. ntopng does not show the contents of the packages. But it analyses the flows and provides information about which application is communicating, such as Skype, BitTorrent etc., and provides statistics.&lt;br /&gt;
&lt;br /&gt;
=== Wireshark ===&lt;br /&gt;
Wireshark offers a deeper analysis of the network traffic as ntopng.  The program allows recording and analyzing network traffic down to the last bit and can be operated via browser as a special feature of c&#039;t-Raspion. The recorded network traffic will be saved in pcap-files.&lt;br /&gt;
 &lt;br /&gt;
=== mitmproxy ===&lt;br /&gt;
The mitm-Proxy can loop into the communication between the local and remote devices by the c&#039;t-Raspion redirecting all access from the internal network on TCP ports 80 and 443 to the mitm-Proxy. It takes the redirected accesses to port&lt;br /&gt;
8080 towards. The redirection is handled by firewall rules, which  can be activated and deactivated as required by clicking in the c&#039;t-Raspion web interface.&lt;br /&gt;
&lt;br /&gt;
== Ikea Tradfri Setup Sniff ==&lt;br /&gt;
Als Testgerät wurde ein möglich leergeräumtes iPhone verwendet. Alle deinstallierbaren Services wurden entfernt, wo möglich Synchronisierung deaktiviert.&lt;br /&gt;
 Jedoch sind Apple geräte mäßig geeignet, es werden zu viele Verbindungen vom Betriebssystem hergestellt (auch von deaktivierten iOs Services). &lt;br /&gt;
&lt;br /&gt;
Um Pihole auch zur Aufzeichnung von DNS queries vom Tradfri Gateway zu nutzen muss eine USB Netzwerkadapter verwendet werden oder ein externer Router als WiFi Bridge konfiguriert werden. Ohne diese Hardwareänderungen lässt sich ein Tradfri Gateway nicht in das Raspion Netzwerk integrieren. Um dennoch Pakete mitschneiden zu können wurde arpspoofing verwendet.&lt;br /&gt;
&lt;br /&gt;
Vorab Übersicht IP config&lt;br /&gt;
&lt;br /&gt;
[[File:ip-config.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Direkt beim Einschalten (cap power_on_gateway) werden von der App einige DNS anfragen gestellt um IPs von fw.ota.homesmart.ikea.net zu erhalten. In den DNS Antworten sind ebenfalls IPs zu d262cmbxmzphsu.cloudfront.net enthalten. Ikea nutzt dabei AWS.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap1.png|700px]]&lt;br /&gt;
[[File:wireshark-cap2.png|700px]]&lt;br /&gt;
&lt;br /&gt;
Weiters findet man eine http Verbindung:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-http.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Die unter fw.ota.homesmart.ikea.net/feed/version_info.json vorhandenen Daten sind nicht allzu spektakulär: Es sind lediglich Versionsinfos.&lt;br /&gt;
&lt;br /&gt;
Sobald über die Ikea Smart Home App das Setup gestarted wird versucht die App mit mDNS queries den Tradfri Gateway zu finden.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-mDNS.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Bei dem verwendeten Setup schlägt dies natürlich fehl, jedoch bietet die App direkt die option eine IP manuell einzugeben. Nach Eingabe der IP muss entweder der QR Code auf der Rückseite des Gerätes gescannt werden oder der Sicherheitscode eingegeben werden der sich ebenfalls auf der Rückseite des Geräts befindet.&lt;br /&gt;
&lt;br /&gt;
Der Sicherheitscode ist dabei der PSK der DTLS Verbindung. Sobald der App der QR Code bzw der Sicherheitscode bekannt sind bauen App und Gateway eine DTLS Verbindung auf. Über diese Verbindung werden alle Applikationsdaten gesendet.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Auch beim Verbinden von weiteren SH Geräten baut die App keine gesonderten Verbindung auf sondern kommuniziert ausschließlich über DTLS.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-dtls-snap.png|550px]]&lt;br /&gt;
&lt;br /&gt;
Einige Verbindungen zur AWS Cloud baut die App dennoch auf. Dies steht anscheinend im Zusammenhang mit dem Verbinden von Geräten da immer direkt nach dem Verbinden eines Gerätes diese Seiten abgefragt werden:&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-cap-aws.png|550px]]&lt;br /&gt;
&lt;br /&gt;
== Data Transmission when using TRADFRI ==&lt;br /&gt;
&lt;br /&gt;
The IKEA TRADFRI Gateway was connected via LAN cable while the mobile phone running the IKEA app was connected wirelessly to the same network.&lt;br /&gt;
&lt;br /&gt;
Wireshark was used to record the traffic (using arpspoof because the IKEA TRADFRI Gateway requires a LAN connection so it is not possible to just monitor the Raspion WiFi) which was then filtered.&lt;br /&gt;
&lt;br /&gt;
It turns out that TRADFRI is rather well-behaved when it comes to sending data.&lt;br /&gt;
&lt;br /&gt;
For the most part it uses encrypted (DTLS) communication internally between the Gateway and the mobile phone. To initially find the Gateway after opening the mobile app, an MDNS request is sent out via multicast (224.x.x.x).&lt;br /&gt;
&lt;br /&gt;
However, 2 external connections or destinations could also be found:&lt;br /&gt;
&lt;br /&gt;
* IP address 13.227.156.82 / privacypolicy.config.homesmart.ikea.net (as the url indicates, this has the current policy one has to agree to before using the app)&lt;br /&gt;
* IP address 13.227.156.50 / supportdetails.config.homesmart.ikea.net (this is where the secure certificates are located, apparently).&lt;br /&gt;
&lt;br /&gt;
=== Wireshark caps ===&lt;br /&gt;
privacypolicy.config.homesmart.ikea.net Client Hello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-privacy policy-clientHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
supportdetails.config.homesmart.ikea.net ServerHello:&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-supportdetails-serverHello.png|700px]]&lt;br /&gt;
&lt;br /&gt;
=== Certificate Information ===&lt;br /&gt;
The Server Hello contains the information regarding the .cer and .crl:&lt;br /&gt;
 http://ocsp.rootca1.amazontrust.com&lt;br /&gt;
 http://crt.rootca1.amazontrust.com/rootca1.cer&lt;br /&gt;
 http://crl.rootca1.amazontrust.com/rootca1.crl&lt;br /&gt;
Starfield Technologies, Inc.; Starfield Services Root Certificate Authority&lt;br /&gt;
&lt;br /&gt;
Also:&lt;br /&gt;
 http://crl.sca1b.amazontrust.com/sca1b.crl&lt;br /&gt;
 http://ocsp.sca1b.amazontrust.com&lt;br /&gt;
 http://crt.sca1b.amazontrust.com/sca1b.crt &lt;br /&gt;
&lt;br /&gt;
That&#039;s pretty much it. We couldn&#039;t find any unwanted connections.&lt;br /&gt;
&lt;br /&gt;
The app also checks for updates for the used devices, this is also indicated in the app when it happens, so this is very transparent. It is indicated in the app when an update is happening or when the app is checking for new updates as can be seen in the screenshot below. If a device happens to be unavailable, e.g. because it is currently disconnected/turned off, then the app does not report back the current version but instead says the device is unreachable (&#039;Nicht erreichbar&#039;)&lt;br /&gt;
&lt;br /&gt;
[[File:Ikea-tradfri-update.png|360px]]&lt;br /&gt;
&lt;br /&gt;
== Kommunikation entschlüsseln ==&lt;br /&gt;
Bei diesem Versuch wird geschaut ob es möglich ist die Kommunikation, zwischen der IKEA App und dem IKEA Gateway mitzuhören. Nur mit einem Packet Sniffer ist dies nicht möglich, da die Kommunikation per DTLS verschlüsselt wird. Es kam zum Einsatz der MITM Proxy, welcher bei dem c’t-Raspion dabei ist.&lt;br /&gt;
&lt;br /&gt;
=== Aufbau ===&lt;br /&gt;
[[File:mitm-top.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Android kann als eine Virtuelle Maschine betrieben werden, oder es kann auch ein Smart Phone benutzt werden welches die IKEA Smarthome App installiert hat. Wenn es als Virtuelle Maschine betrieben wird, ist drauf zu achten, dass der Bridge Mode benutzt wird, da dann die VM eine eigene IP erhält. Dies hat den Vorteil, dass man nur den Traffic analysieren muss, welcher von Android erzeugt wird und nicht dem des Host Systems.&lt;br /&gt;
Um den MITM benutzten zu können, müssen die Zertifikaten zu dem Key-Store hinzugefügt werden. Dies kann getan werden in dem man die Website mitm.it ansurft. Ist man in dem richtigen Netzwerk sieht man folgendes Fenster.&lt;br /&gt;
&lt;br /&gt;
[[File:mitmproxy-cert.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Hier wählt man das richtige Betriebssystem und lädt die Zertifikate herunter.&lt;br /&gt;
&lt;br /&gt;
Die offizielle Dokumentation findet man hier[https://docs.mitmproxy.org/stable/concepts-certificates/#quick-setup].&lt;br /&gt;
&lt;br /&gt;
=== Findings ===&lt;br /&gt;
Beim Starten der App kann man in Wireshark stehen, dass der Handshake für die DTLS Verbindung durchgeführt wird. &lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-dtls.png]]&lt;br /&gt;
&lt;br /&gt;
Ebenso kann man beobachten, dass mehrere Verbindungen mit verschiedenen Servern nach draußen aufgebaut werden.&lt;br /&gt;
&lt;br /&gt;
[[File:wireshark-tls.png]]&lt;br /&gt;
&lt;br /&gt;
Die Nachrichten zu diesen Servern können durch den MITM entschlüsselt werden.&lt;br /&gt;
&lt;br /&gt;
[[File:mitm-sniff.png]]&lt;br /&gt;
&lt;br /&gt;
Beide Nachrichten beinhalten eine JSON-Datei. &lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;descriptionText&amp;quot;: &amp;quot;That’s why we have updated the terms and conditions. Please agree below in order to continue. You can find the updated legal information in Settings or you can read more below.&amp;quot;,&lt;br /&gt;
    &amp;quot;lastUpdatedTimestampCookie&amp;quot;: 1568799375000,&lt;br /&gt;
    &amp;quot;lastUpdatedTimestampPP&amp;quot;: 1568798738000,&lt;br /&gt;
    &amp;quot;lastUpdatedTimestampTnC&amp;quot;: 1568798786000,&lt;br /&gt;
    &amp;quot;titleText&amp;quot;: &amp;quot;We’ve changed the name of our app! &amp;quot;&lt;br /&gt;
}&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;versionCode&amp;quot;: &amp;quot;44&amp;quot;,&lt;br /&gt;
    &amp;quot;versionName&amp;quot;: &amp;quot;1.11.3&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Im debug log kann beobachtet werden, dass weitere TLS Verbindung aufgebaut werden jedoch nicht entschlüsselt werden können.&lt;br /&gt;
&lt;br /&gt;
	192.168.24.241:59332: Client Handshake failed. The client may not trust the proxy&#039;s certificate for data.logentries.com.&lt;br /&gt;
	192.168.24.241:59332: ClientHandshakeException(&#039;Cannot establish TLS with client (sni: data.logentries.com): TlsException(&amp;quot;(-1, \&#039;Unexpected EOF\&#039;)&amp;quot;)&#039;)&lt;br /&gt;
	::ffff:192.168.24.241:58971: serverdisconnect&lt;br /&gt;
	  -&amp;gt; (&#039;99.86.243.4&#039;, 443)&lt;br /&gt;
	192.168.24.241:59332: clientdisconnect&lt;br /&gt;
	::ffff:192.168.24.241:40204: serverdisconnect&lt;br /&gt;
	  -&amp;gt; (&#039;99.86.243.50&#039;, 443)&lt;br /&gt;
	192.168.24.241:58971: clientdisconnect&lt;br /&gt;
	192.168.24.241:40204: clientdisconnect&lt;br /&gt;
	192.168.24.241:41657: clientconnect&lt;br /&gt;
	::ffff:192.168.24.241:41657: Establish TLS with client&lt;br /&gt;
	192.168.24.241:50453: clientconnect&lt;br /&gt;
	::ffff:192.168.24.241:50453: serverconnect&lt;br /&gt;
	  -&amp;gt; (&#039;99.86.243.36&#039;, 443)&lt;br /&gt;
	192.168.24.241:42222: clientconnect&lt;br /&gt;
	::ffff:192.168.24.241:42222: serverconnect&lt;br /&gt;
	  -&amp;gt; (&#039;99.86.243.4&#039;, 443)&lt;br /&gt;
	::ffff:192.168.24.241:42222: Establish TLS with server&lt;br /&gt;
	::ffff:192.168.24.241:50453: Establish TLS with server&lt;br /&gt;
	::ffff:192.168.24.241:42222: ALPN selected by server: -&lt;br /&gt;
	::ffff:192.168.24.241:42222: Establish TLS with client&lt;br /&gt;
	::ffff:192.168.24.241:50453: ALPN selected by server: -&lt;br /&gt;
	::ffff:192.168.24.241:50453: Establish TLS with client&lt;br /&gt;
	::ffff:192.168.24.241:42222: ALPN for client: b&#039;http/1.1&#039;&lt;br /&gt;
	::ffff:192.168.24.241:50453: ALPN for client: b&#039;http/1.1&#039;&lt;br /&gt;
	::ffff:192.168.24.241:50453: request&lt;br /&gt;
	  -&amp;gt; Request(GET /US/en/getPolicyUpdate/?deviceType=android)&lt;br /&gt;
	::ffff:192.168.24.241:42222: request&lt;br /&gt;
	  -&amp;gt; Request(GET /AppDetails)&lt;br /&gt;
	::ffff:192.168.24.241:42222: response&lt;br /&gt;
	  -&amp;gt; Response(200 OK, application/json, 44b)&lt;br /&gt;
	::ffff:192.168.24.241:50453: response&lt;br /&gt;
	  -&amp;gt; Response(200 OK, application/json, 374b)&lt;br /&gt;
&lt;br /&gt;
Die DTLS Verbindung zwischen der App und dem Gateway, erscheint jedoch nicht in dem Log des MITM.&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-tradfri-update.png&amp;diff=3646</id>
		<title>File:Ikea-tradfri-update.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:Ikea-tradfri-update.png&amp;diff=3646"/>
		<updated>2020-05-11T16:54:26Z</updated>

		<summary type="html">&lt;p&gt;MMuszik: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>MMuszik</name></author>
	</entry>
</feed>