📜 ⬆️ ⬇️

What to look for vulnerabilities in web applications: compare eight popular scanners

Web application scanners are a rather popular category of software today. There are paid scanners, there are free. Each of them has its own set of parameters and vulnerabilities that can be detected. Some are limited only to those published in the OWASP Top Ten (Open Web Application Security Project), some go much further in their black-box testing.



In this post, we collected eight popular scanners, examined them in more detail and tried it out. Independent points on two platforms (.NET and php) were chosen as training targets: premium.pgabank.com and php.testsparker.com .

OWASP ZAP


As the name suggests, the OWASP organization that we mentioned in the introduction is responsible for the release of the OWASP ZAP . This is a free tool for penetration testing and for finding vulnerabilities in web applications.
')
Main features of OWASP ZAP:


Additional features
  • Dynamic SSL certificates
  • Smartcard and Client Digital Certificates support
  • Web sockets support
  • Support for a wide range of scripting languages
  • Plug-n-Hack support
  • Authentication and session support
  • Powerful REST based API
  • Automatic updating option
  • Integrated and growing marketplace of add-ons

The program interface is translated into Russian, which will be convenient for some users. The OWASP ZAP workspace is composed of several windows. Below - tabs with current tasks and the process of their implementation, on the left - the site tree, in addition, you can display in the right side of the requests and responses window.



With the help of the marketplace, you can slightly extend the functionality of the scanner.



Each component of the program has many customizable parameters. For example, we can configure incoming vectors for active scanning, generate dynamic SSL certificates, add HTTP session identifiers, etc.



Let's move on to the tests. While scanning a site php.testsparker.com Blind SQL Injection was found. At this critical vulnerabilities end.

Full OWASP ZAP results on php.testsparker.com
H: Advanced SQL Injection - AND boolean-based blind - WHERE or HAVING clause
M: X-Frame-Options Header Not Set
L: X-Content-Type-Options Header Missing
L: Web browser xss protection is not enabled

At premium.bgabank.com we see more interesting results: the Server Side Include (SSI) and Reflected Cross Site Scripting feature was found.

Complete OWASP ZAP results on premium.bgabank.com
H: Server Side Include
H: Reflected Cross Site Scripting
M: X-Frame-Options Header Not Set
M: Application Error Disclosure
M: Directory Browsing
M: Secure Pages Include Mixed Content (Including Scripts)
L: X-Content-Type-Options Header Missing
L: Web browser xss protection is not enabled
L: Cross-Domain JavaScript Source File Inclusion
L: Incomplete or No Cache-control and Pragma HTTP Header Set
L: Cookie No HttpOnly Flag
L: Cookie Without Secure Flag
L: Content-Type Header Missing
L: Private IP Disclosure
I: Image Exposes Location or Privacy Data

All scan results can be exported to a report (supported * .pdf, * .html, * .xml, * .json). The report describes in detail the vulnerabilities, vectors found, as well as methods for "closing" vulnerabilities.



In general, we liked working with OWASP ZAP. There are all the necessary tools for pentest web applications, simple and intuitive interface, quick scanning in one click. And at the same time flexible, deep settings for a more detailed scan, which can serve as a starting point for further manual search for vulnerabilities. Below we will talk about the Burp Suite Pro scanner, which has a lot in common with the OWASP ZAP. In terms of the quantity and quality of the vulnerabilities found, the first scanner we reviewed showed a very good result. Recommended for use in work.

W9scan


W9scan is a free console site vulnerability scanner with over 1200 built-in plug-ins that can detect web page footprints, ports, analyze web site structure, find various popular vulnerabilities, scan for SQL Injection, XSS, etc.

A more complete list of W9scan features
- Fingerprint detection

  • Can identify common website CMS fingerprints (300+)
  • Recognizable common website frame
  • Identify common port service fingerprints
  • Detect website scripting language
  • Detect operating system type
  • Detection Website Firewall (WAF)

- Attack parameter

  • SQL injection (based on crawlers)
  • XSS injection (based on reptiles)
  • A large number of Fuzz parameter scans
  • CVE vulnerability
  • struts Vulnerability collection (including automatic detection)
  • Shellshock cgi test
  • heartbeat bleeding heart
  • IIS parsing vulnerability
  • IIS Put vulnerability

- Violent cracking

  • Backup files and directories (based on crawlers)
  • Backup files and directories (based on domain name)
  • Common directory
  • Common file
  • Subdomain violence analysis
  • fckeditorPath enumeration
  • Common mdbdatabase enumeration
  • git svn Leak identification
  • TOMCAT web.xml Give way

- Collect message

  • Emails (based on reptiles)
  • Private IP (based on reptiles)
  • E-mail (based on reptiles)
  • Detecting Warnings, Fatal Error, ...
  • PHP version identification
  • IIS information disclosure
  • IP address attribution
  • Integrated Wappalyzer recognition script
  • robots.txt Analysis
  • Detecting unsafe headers in headers
  • Detecting unsafe factors in cookies


W9scan automatically generates HTML scan reports. To start the scan, you only need to specify the URL of the site and the plugins to be used. You can select everything at once by adding “all”.



While scanning php.testsparker.com, W9scan found svn and possible payload download paths. Of the less critical, he determined the versions of the services used, the possible vectors for conducting the XXE, XXS attacks, found the server configuration files and conducted a search for subdomains.

On the website premium.bgabank.com nothing critical was found. But the scanner identified possible vectors for the attacks, the versions of services, directories and subdomains were determined.

Based on the scan results, W9scan automatically generates a report file in HTML format.



W9scan scanner is suitable for quick launch into one command and we recommend using it as an auxiliary tool for determining service versions as well as potential attack vectors.

Wapiti


Another good console scanner . As well as W9scan, it is ready to start in one team, while it has more different scan settings.



Wapiti searches for the following vulnerabilities:


In addition to all of the above, there is support for proxies (HTTP, HTTPs, and SOCKS5), various authentication methods (Basic, Digest, Kerberos, NTLM), support for SSL certificates, the ability to add various HTTP headers or user-agent settings.

When scanning a site php.testsparker.com vulnerabilities were found Blind SQL Injection, Cross Site Scripting, Commands execution. On premium.bgabank.com Wapiti compared with other scanners does not show such outstanding results: only Cross Site Scripting was detected.



The results of the scanner also generate a report in HTML format, which contains the categories and number of found vulnerabilities, their description, requests, commands for curl, and tips on how to close the found security holes.

As expected, the Wapiti does not reach the level of the OWASP ZAP, of course. Nevertheless, it worked better than W9scan , although no directories, subdomains, or versioning of services were searched.

Arachni




Powerful free combine for web application security testing and vulnerability search. It has a graphical interface and great functionality, which you can read more about on the official website .

Active Testing:


Full feature list for active testing.
  • CSRF detection
  • Code injection
  • Blind code injection using timing attacks
  • LDAP injection
  • Path traversal
  • File inclusion
  • Response splitting
  • OS command injection
  • Blind OS command injection timing timing attacks
  • Remote file inclusion
  • Unvalidated redirects
  • Unvalidated DOM redirects
  • Xpath injection
  • Xss
  • Path xss
  • XSS in event attributes of HTML elements
  • XSS in HTML tags
  • XSS in script context
  • DOM XSS
  • DOM XSS script context
  • Source code disclosure
  • XML External Entity


Passive testing:


Complete list of passive testing features.
  • HTTP PUT
  • Insufficient Transport Layer Protection for password forms
  • WebDAV detection (webdav).
  • HTTP TRACE detection
  • Credit Card number disclosure
  • CVS / SVN user disclosure
  • Private IP address disclosure
  • Common backdoors
  • .htaccess LIMIT misconfiguration
  • Interesting responses
  • HTML object grepper
  • E-mail address disclosure
  • US Social Security Number disclosure
  • Forceful directory listing
  • Mixed Resource / Scripting
  • Insecure cookies
  • HttpOnly cookies
  • Auto-complete for password form fields.
  • Origin Spoof Access Restriction Bypass
  • Form-based upload
  • localstart.asp
  • Cookie set for parent domain
  • Missing Strict Transport-Security headers for HTTPS sites
  • Missing X-Frame-Options headers
  • Insecure CORS policy
  • Insecure cross-domain policy
  • Insecure cross-domain policy
  • Insecure client-access policy


Impressive, isn't it? But that's not all. A bunch of plugins are wrapped in the web, for example, Passive Proxy, Dictionary attacker for HTTP Auth, Cookie collector, WAF Detector, etc.

The scanner has a nice and concise web interface:



And that's what found Arachni on our test sites. Php.testsparker.com :


The remaining vulnerabilities on php.testsparker.com
H: File Inclusion
H: Cross-Site Scripting (XSS) in HTML tag
H: Cross-Site Scripting (XSS)
H: Path Traversal
M: Backup file
M: Common directory
M: HTTP TRACE
L: Missing 'X-Frame-Options' header
L: Password field with auto-complete
L: Insecure client-access policy
L: Insecure cross-domain policy (allow-access-from)
L: Common sensitive file

On premium.bgabank.com , only the possibility of intersite request forgery (CSRF) was discovered from critical.

Full Arachni results on premium.bgabank.com
H: Cross-Site Request Forgery
M: Mixed Resource
M: HTTP TRACE
M: Common directory
M: Missing 'Strict-Transport-Security' header
L: Private IP address disclosure

Separately, we note what kind of reports Arachni gives us. Many formats are supported - HTML, XML, text, JSON, Marshal, YAML, AFR.



In general, Arachni leaves only positive impressions after work. Our opinion: this is the “Mast kev” in the arsenal of any self-respecting specialist .

Paros


Another web vulnerability scanner with a graphical interface. By default, it is included in the Kali Linux distribution and installed locally there. It has a built-in proxy, through which sites are added for analysis, an embedded web spider capable of analyzing a site and building a map of requests.

To scan a user's personal account, you need to log in to the browser with traffic redirection through the Paros proxy enabled. The scanner will use authorized cookies during the scan. Work report can be exported to HTML. It is saved to the root / paros / session / LatestScannedReport.htm file and is overwritten later. If you want to save the result of the previous scan, before starting the next scan you need to create a copy of the existing file.

Key features (with an eye on OWASP TOP 10 2017):


Additional features:




The final report for each type of vulnerabilities has more detailed information and some recommendations on how to fix it.



In our testing, Paros showed rather weak results. On php.testsparker.com were found:

H: SQL injection
M: XSS
M: Legacy source files
M: Use autocomplete in forms with important information (passwords, etc.).
L: Internal IP discovery
On premium.bgabank.com and even less:
M: Directory browsing
M: Use autocomplete in forms with important information (passwords, etc.).

As a result, although the Paros scanner is simple and easy to use, weak scan results force it to be abandoned .

Tenable.io


Paid multifunctional cloud scanner that can find a large number of web vulnerabilities and almost completely covers OWASP TOP 10 2017.

The service has a built-in web spider. If you specify authorization data in the scan settings (authorization request, login and password, authorized cookies), then the scanner will also check your personal account (authorized user zone).

In addition to scanning web applications, Tenable.io can scan the network, both for known vulnerabilities and to search for hosts. It is possible to connect agents to scan the internal network. It is possible to export the report to various formats: * .nessus, * .csv, * .db, * .pdf.


In the screenshot all domains are “test”


Additional scan profiles. This article does not affect

After scanning, statistics and prioritization of found vulnerabilities become available - critical, high, middle, low, information



The vulnerability card provides additional information about it and some recommendations for fixing it.



We scan php.testsparker.com . High priority vulnerabilities:

H: Component Vulnerabilities
- PHP version out of support
- out of support version of Apache
H: Code injection
H: SQLinj
H: XSS
H: LFI
H: Path Traversal

Middle and low vulnerabilities
M: Disclosure of valuable data - full path backups
M: Internal IP discovery
M: Cookie without HTTPOnly flag
M: Sending a password via HTTP
L: Using autocomplete in forms with important information
L: Server response to TRACE requests
L: Cache-Control, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection headers not installed

Now premium.bgabank.com . High priority vulnerabilities:

H: Component Vulnerabilities


Middle and low vulnerabilities
M: Web server phpinfo ()
M: Sharing HTTP and HTTPS
M: No redirection from HTTP to HTTPS
M: Directory browsing
M: Backup files found
M: Using an insecure version of the SSL protocol
M: SSL / TLS Certificate Expiration
L: Internal IP discovery
L: Cookie without HTTPOnly flag
L: Server response to TRACE requests
L: Strict-Transport-Security, Cache-Control, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection headers not installed

Scanner Tenable.io proved to be good, found many vulnerabilities . Work with him simplifies user-friendly graphical interface and data presentation. Another plus is the presence of additional scanning profiles, in which we have decided not to dig in yet. An important feature is the cloud structure of the service. On the one hand, the service does not use the local computing resources of the working computer. On the other hand, it will not be able to scan web applications on the local network.

Burp Suite Pro


Burp Suite is a complete web application verification solution . It includes a variety of utilities to improve and speed up the search for vulnerabilities in web applications.

The Burp Suite includes the following utilities:


The Scanner utility is presented in the tab of the Burp Suite main window of the same name. The interface is English-speaking, but who can it scare now?



The Issue Definition tab provides a complete list of all the vulnerabilities that this scanner can detect. It should be noted that the list is very impressive.



All vulnerabilities are divided into 3 categories: high, medium, low. There is also a category of information, which includes mechanisms for collecting various useful information about the scanned resource.
When we run the scan in the Scan queue window, we can monitor the progress in stages. "Color differentiation of pants" is present.



The Options tab is the basic setting for scanning.



For convenience, the options are divided into categories. If necessary, you can get help for each category right from the settings window.



In general, Burp Suite Pro showed a good result. When scanning php.testsparker.com , enough vulnerabilities were found and classified to gain complete control over the web application and its data - this is both OS command injection, and SSTI, and File path traversal.

Full Burp Suite Pro results in php.testsparker.com
H: OS command injection
H: File path traversal
H: Out-of-band resource load (HTTP)
H: Server-side template injection
H: Cross-site scripting (reflected)
H: Flash cross-domain policy
H: Silverlight cross-domain policy
H: Cleartext submission of password
H: External service interaction (DNS)
H: External service interaction (HTTP)
M: SSL certificate (not trusted or expired)
L: Password field with autocomplete enabled
L: Form action hijacking (reflected)
L: Unencrypted communications
L: Strict transport security not enforced

The site premium.bgabank.com found:
H: Cross-site scripting (reflected)
M: SSL cookie without secure flag set
M: SSL certificate (not trusted or expired)
L: Cookie without HttpOnly flag set
L: Password field with autocomplete enabled
L: Strict transport security not enforced

If you often use Burp Suite for web pentest , you like its ecosystem, but I would like to somehow automate the process of searching for vulnerabilities, then this utility will perfectly fit into your arsenal .

Acunetix


In conclusion - another very good commercial scanner . It is very actively promoted through advertising, but Acutenix would not succeed without its extensive functionality. Among the vulnerabilities available to him for detecting vulnerabilities are all types of SQL injection, Cross site scripting, CRLF injection and other pleasures of the web application pentester. It is worth noting that for high-quality scanning is required to select the correct profile.

The dashboard interface is nice:



All identified vulnerabilities traditionally fall into four categories: High, Medium, Low. Well and where without the category Information, which includes all the interesting, according to the scanner, data.



On the Scans tab, we can observe scanning progress and other diagnostic information.



After the scan is completed on the Vulnerabilities tab, we can familiarize yourself with what and how much was found. Color differentiation in place.

In the test for php.testsparker.com the scanner showed a good result, but with premium.bgabank.com frankly let us down .

Full Acunetix Results
php.testsparker.com:
H: Apache 2.2.14 mod_isapi Dangling Pointer
H: Blind SQL Injection
H: Cross site scripting
H: Cross site scripting (verified)
H: Directory traversal
H: File inclusion
H: PHP code injection
H: Server-side template injection
H: SVN repository found
H: User controllable script source
M: Access database found
M: Apache 2.x version older than 2.2.9
M: Apache httpd remote denial of service
M: Apache httpOnly cookie disclosure
M: Application error message
M: Backup files
M: Directory listing
M: HTML form without CSRF protection
M: Insecure clientaccesspolicy.xml file
M: Partial user controllable script source
M: PHP hangs on parsing number
M: PHP preg_replace used on user input
M: Source code disclosure
M: User credentials are sent in clear text
L: Apache 2.x version older than 2.2.10
L: Apache mod_negotiation filename bruteforcing
L: Clickjacking: X-Frame-Options header header missing
L: Login page password-guessing attack
L: Possible relative path overwrite
L: Possible sensitive directories
L: Possible sensitive files
L: TRACE method is enabled

premium.bgabank.com:
L: Clickjacking: X-Frame-Options header header missing


Acunetix has great features and is suitable if you are looking for a stand-alone solution . The web interface is simple and straightforward, infographics and reports look quite digestible. There may be misfires when scanning, but, as Tony Stark said: “This happens to men. Infrequently. One time out of five.

Grand total


And now the findings for all tested scanners.

Source: https://habr.com/ru/post/456892/


All Articles