Web Vulnerability Scanners: A Case Study
Web Vulnerability Scanners: A Case Study
The address of a website or web application that needs to be scanned should be added to the
target. A description of the website can also be given while adding the target. Figure 1 below,
is the screenshot of adding a target with description.
Figure 1. Screenshot of adding target.
After adding the target, website is ready for scanning. As seen in Figure 2, options for setting
the business criticality, scan speed and others are available. Websites and web applications
can also be kept for continuous scanning.
As shown in Figure 3, Acunetix offers a feature which tries to auto login to the targeted
website. To accommodate this feature, two options are available. The tester can either enter
the username and password manually, or a use a pre-recorded login sequence for auto login.
If the targeted web application is using PHP or .NET, the scan results can be improved by
downloading and installing the proper AcuSensor. Figure 4 below shows enabling of
AcuSensor.
During scanning, Acunetix provides details such as scan progress, scan duration, number of
requests sent, average response time, and information about the target. It also provides the
latest detected vulnerabilities and their priorities. Based on the detected vulnerabilities,
Acunetix gives the overall threat level of website or web application. Figure 5 shows a
screenshot of Acunetix during a scan.
Once scanning is finished, the vulnerabilities detected by Acunetix are listed, based on the
priority. It gives the name, URL, parameter, and status of the threat detected. Figure 6 shows
the screenshot of scan result and Figure 7 shows the vulnerabilities identified during the scan.
Scan reports can be generated based on the scan results. Reports are available in different
templates, such as affected items, developer, executive summary, and also several
compliance reports can be generated. All the reports generated will be available under the
reports tab, and can be downloaded later. Figure 9 shows the options for generating reports.
Vulnerabilities
Few high priority vulnerabilities detected by Acunetix include Cross Site Scripting (XSS),
SQL injection, Blind SQL injection, and directory traversal.
XSS is inserting malicious code into a victim’s web application so that, when a victim
browses the web application, the malicious script code is executed (Gupta & Gupta, 2015). A
hacker injects malicious codes in the dynamic websites and when the code is executed in the
web browser, it changes the web pages (Jasmine, Devi, & George, 2017). The goal of an XSS
attack is to get access to the client cookies or any other sensitive information, which is used
to authenticate the client to the website (Jasmine, Devi, & George, 2017).
When users visit a website, their browsers send HTTP requests, in which the headers include
information about their browsers and operating systems. Based on this information, the users
may be directed to the mobile version of website that, along with different content, may have
different vulnerabilities. This has significant implications while trying to identify XSS issues.
For this reason, Acunetix aims to crawl different versions of each website with different user
agents.
SQL injection vulnerability can cause the exposure of all the sensitive data including
username, password, and credit card details of a web application database (Khalid & Yousif,
2016). The SQL attacker tries to insert a part of malicious SQL commands by using special
variables and inserting them in to the application. The web application in turn sends these
malicious commands to the target database in the server that executes them in a different
purpose using legitimate query (Abdulqader, Thiyab, Ali, & 2017). A blind SQL injection
involves asking the database a series of true or false questions, in order to get closer to the
vulnerable code itself. It is important to make a note here that identifying vulnerable code
itself may not be sufficient for hackers on its own. Additionally, phishing is often used to
obtain other user details (Erturk, 2012). These details can then be used as part of an SQL
injection attack to extract unauthorized information from an online database.
Directory traversal (also known as path traversal) can be defined as an attack that “aims to
access files and directories that are stored outside the web root folder” (OWASP, 2015). This
vulnerability can exist in the web server or web application code. This allows the attacker to
access parts of directories which are restricted, and to execute commands on the web server.
Technologies
Acunetix uses technologies like AcuSenor and AcuMonitor to achieve better scanning results.
Acunetix AcuSensor Technology is a security technology that allows the identification of
more vulnerabilities with less false positives. In addition, it indicates the exact location of the
code where the vulnerability is and reports debug information. This technology combines
black box scanning techniques and feedback from sensors placed inside the source code to
achieve more accuracy. The screenshots below show the SQL injection (Figure 11) and PHP
vulnerabilities (Figure 12) identified by the AcuSensor technology. It displays the stack trace
of SQL injection threat and the file name with line number for the PHP code injection, which
helps the developers to trace and fix vulnerabilities easily. It can also help developers to
understand more about vulnerabilities which in turn helps them to write more secure code.
Figure 11. SQL Injection Reported by AcuSensor Technology