Acunetix 2020 Web Application Vulnerability Report
Acunetix 2020 Web Application Vulnerability Report
Vulnerability Report
2020
Contents Executive Summary
Introduction 2
The 2020 edition of the
Methodology 4
Acunetix Web Application
The Data 5 Vulnerability Report contains
Vulnerabilities at a Glance 6
a statistical data analysis for
web vulnerabilities and network
Vulnerabilities by Type 6
High Severity 6
perimeter vulnerabilities.
Medium Severity 7
We prepared the report by doing the following:
Vulnerability Severity 8 • Taking data from Acunetix Online for scans performed
between March 2019 and February 2020
Vulnerability Analysis 9
• Randomly and anonymously selecting 5,000 scan targets
Remote Code Execution 9 • Focusing on High Severity and Medium Severity
SQL Injection (SQLi) 10 vulnerabilities
Overflow Vulnerabilities 18
• Remote code execution (RCE): 3% (↑ from 2% in 2019)
Perimeter Network Vulnerabilities 19 • SQL Injection (SQLi): 8% (↓ from 14% in 2019)
DoS-related Vulnerabilities 20 • Directory traversal: 4% (↑ from 2% in 2019)
Cross-site Request Forgery 21 • Cross-site Scripting (XSS): 25% (↓ from 33% in 2019)
• Vulnerable JavaScript libraries: 24% (↓ from 33% in 2019)
Host Header Injection 22
• Server-side Request Forgery (SSRF): 1% (1% in 2019)
Directory Listing 23
• Cross-site Request Forgery (CSRF): 36% (↓ from 51% in 2019)
TLS/SSL Vulnerabilities 23 • Host header injection: 2.5% (↓ from 4% in 2019)
WordPress (and Other CMS) Vulnerabilities 24 • WordPress vulnerabilities: 24% (↓ from 30% in 2019)
Conclusion 26
100%
the Acunetix Web Application
84%
Vulnerability Report. 80% 79%
72%
63%
Every year, Acunetix analyzes data received from Acunetix
60% 55%
Online and creates a vulnerability testing report. This
report represents the state of security of web applications 42%
40%
and network perimeters. This year’s report contains the 35%
This is worrying from a security perspective. It means It is also interesting when we compare server-side
that new developers do not have the knowledge that is programming languages. We see that PHP remains as
required to avoid vulnerabilities. It also suggests that popular as before. The second most popular language is
these developers are working within a development ASP.NET, but developers more and more often use other,
structure that does not promote web security. Old habits, less popular server-side languages.
unfortunately, die hard.
20%
15%
10%
5%
2018 2019
We excluded scans for websites that are intentionally results of a scan are typically summarized in reports.
vulnerable for educational purposes. You can use reports for compliance and management
purposes. Acunetix offers several report templates for
different purposes, for example, OWASP Top 10 and
How Automatic Web ISO 27001 reports.
Scanning Works
Remediation
Acunetix Online can perform dynamic application security
testing (DAST) scans (also called black-box scans), as well Fixing vulnerabilities:
Scanning
Once the crawler has built the website model, each
available page or endpoint is automatically tested to
identify all potential vulnerabilities.
156,291 2,500,000
120,000
150,000
2,000,000
90,000
1,000,000
50,000
30,000
500,000
0 0 0
2018 2019 2018 2019 2018 2019
AverageHTTP
Average HTTPrequests
requests sent
sent perper month
month Average vulnerability alerts triggered per month
Average vulnerability alerts triggered per month
350,000,000 250,000
315,000,000
222,000
300,000,000
200,000
250,000,000
223,000,000
150,000,000
100,000
100,000,000
50,000
50,000,000
0
0
2018 2019 2018 2019
Vulnerabilities by Type
The charts list vulnerabilities by type. They are grouped by the vulnerability severity level.
HIGH SEVERITY
This chart illustrates vulnerability types that fall into our High Severity category.
24.52%
25% 24.06% 23.81%
20%
15% 13.86%
10%
7.94%
6.76%
4.83%
5%
3.03% 2.82%
1.43% 1.39% 1.48%
0.43% 0.73%
0%
s
s
er ure
s
ds
S
er RF
P)
l)
S)
)
E
Li
pa rie
ie
tie
SH
sa
ai
JS XS
RC
or
N
FT
SQ
lit
s
SS
ili
ak bra
m
r
(S
(D
lo
w
ve
bi
et rk (
ab
(e
ss
ss disc
k
tra
li
k
or
or
o
or
w
w
ln
ln
w
y
de
w
et
or
et
vu
vu
e
et
bl
co
N
ct
N
e
N
ow
ra
N
ire
W ce
re
ne
rfl
/d
dP
ur
l
ve
Vu
So
or
I
O
LF
MEDIUM SEVERITY
This chart lists vulnerability types that fall into our Medium Severity category.
40%
35.90% 36.17%
35%
30%
25%
20%
15%
10.88%
10%
5.78%
5%
2.48%
0%
io r
tin y
ili SL
oS
ct e
lis tor
je d
SR
ab /S
n
s
in hea
D
tie
c
er TLS
C
ire
D
t
os
H
ln
vu
What is a Vulnerability?
A vulnerability is a flaw in an application or device that the impact that the exploit may have on the system.
can be exploited by malicious hackers. Attackers can Severity also depends on how difficult it is to exploit the
exploit a vulnerability to achieve a goal such as stealing vulnerability.
sensitive information, compromise the system by making
it unavailable (in a denial-of-service scenario), or Your business may have many systems running
corrupt the data. simultaneously – and some are more critical than others.
Acunetix allows you to grade these systems using business
The impact of vulnerabilities varies depending on the criticality. Essential systems have a higher criticality than
exploit. Acunetix assigns severity mostly depending on non-essential ones.
This level indicates that an attacker can This level indicates that an attacker can This level indicates that an attacker
fully compromise the confidentiality, partially compromise the confidentiality, can compromise the confidentiality,
integrity, or availability of a system integrity, or availability of a target integrity, or availability of a target
without specialized access, user system. They may need specialized system in a limited way. They need
interaction, or circumstances that are access, user interaction, or circumstances specialized access, user interaction,
beyond the attacker’s control. It is very that are beyond the attacker’s control. or circumstances that are beyond
likely that the attacker may be able to Such vulnerabilities may be used the attacker’s control. To escalate an
escalate the attack to the operating together with other vulnerabilities to attack, such vulnerabilities must be used
system and other systems. escalate an attack. together with other vulnerabilities.
COMBINED VULNERABILITIES
In most cases of Medium Severity and Low Severity vulnerabilities, the attack is possible or more dangerous when the
attacker combines it with other vulnerabilities. Such vulnerabilities often involve social engineering.
(RCE) is at the top of the High The percentage of web applications vulnerable to RCE is
Severity list. An attacker can low but it was much lower last year (2%). This is worrying
use this vulnerability to run because this vulnerability can cause serious damage. Such
vulnerabilities must be fixed as first priority.
arbitrary code in the web
application.
If the attacker can run code, they can take it to the next
level by running commands in the operating system. They
may be able to completely take over the system and
possibly create a reverse shell – an outbound connection
from the host to the attacker.
An SQL Injection (SQLi) attack SQL Injection has been around for a long time, and is one
of the most common and most damaging vulnerabilities. It
is possible if the developer is also well known. Many tools and techniques are available
does not examine or validate to defend against such attacks, but malicious hackers also
SQLi – 7.94%
traditional SQLi is not possible. Injections first appeared in 1998. All major development
environments and frameworks include tools to eliminate
them. SQL Injections should not be so common.
Blind SQL Injections take a lot of time and a large number
of requests. A system administrator may notice the attack
The correct way to defend against SQL Injection attacks
by checking for a large number of requests using simple
is to use parameterized SQL queries. Practically all
log monitoring tools.
frameworks and languages today make it possible.
The large number of SQL Injection vulnerabilities may,
This attack is called “blind” because the attacker cannot
therefore, be caused by older applications that were
cause the web application to directly expose data. The
written when these tools were not available.
trick is to use conditional elements of an SQL query, for
example, one that returns true and the other that returns
false. If the application behaves differently in these two
cases, it may let the attacker retrieve information one
piece at a time. Another trick is to use SQL statements that
cause time delays – depending on the delay, the attacker
knows how the statement was executed.
Blind SQLi – 3.8% Union/error SQLi – 4.14%
the attacker access the host inclusion. Last year, the figure for directory traversal was
only 2%. This is worrying because this is a very old and
system. The attacker may well-known vulnerability.
do it by using “..\” or “../” to
reference a parent directory.
In the case of directory traversal, the attacker may read
files that should not be accessible. In the case of Linux
and UNIX, the attacker may use the /proc directory to LFI – 1%
access software components, hardware devices, attached Directory
filesystems, network, and more. They may also use the traversal – 4%
/etc directory to access confidential information such as
usernames, group names, and passwords.
injects malicious scripts into the victim using social engineering (e.g. phishing).
The victim clicks the link, goes to the vulnerable
a web page, usually JavaScript. page, and the victim’s browser executes the script.
Interactive web applications need to execute scripts in your DOM-based XSS is an advanced type of XSS. In this
local browser and this makes Cross-site Scripting possible. case, the attacker creates a script that is executed by the
browser’s DOM (Document Object Model) engine. The
This type of vulnerability is mostly caused by developers injected script is often not sent to the server at all. This type
failing to validate or sanitize user input. If the user includes of XSS is common in JavaScript-rich sites such as single-
JavaScript code in a form and the developer uses that page applications (SPAs).
example.com/getcreds.js">
An alarming 25% of sampled targets were vulnerable to
some type of XSS. Thankfully, this is less than last year, but
This message is then included in the forum thread. If
developers still have a lot of work to do to defend users.
another user opens this page, their browser will execute
the JavaScript code. This code downloads malicious
New JavaScript templates and frameworks keep
JavaScript from the attacker’s website (in this case from
appearing on the market and gain popularity.
example.com).
Unfortunately, versions of these templates and
frameworks with known vulnerabilities are also in use.
There are 3 main types of
XSS vulnerabilities: XSS – 24.52%
• DOM-based XSS
Stored (or persistent) XSS occurs when the attacker injects DOM XSS – 1.23%
script code that is then stored by the web application.
When someone visits the page with the stored script, this
script is executed by their web browser. This is the most
effective type of XSS attack.
make development faster We found that 24% of sampled targets use JavaScript
and easier, but some library libraries with known XSS vulnerabilities. Most often, these
versions can be vulnerable. libraries were old versions of jQuery, jQuery UI, jQuery-
migrate, jQuery-prettyPhoto, Plupload, YUI, and Moment.js.
Moment.js – 0.38%
jQuery-UI-Dialog – 12.16%
jQuery – 81.31%
short, common words or We found that 1% of sampled targets use weak or default
default values. passwords. This problem is easy to solve but very dangerous,
so it is good that this vulnerability is not more common.
An attacker can easily guess such a password when
they encounter a login prompt. In some cases, We also found that 28% of web applications did not have
you can guess weak passwords using a dictionary any brute-force protection on their login pages. This means
attack. In other cases, weak passwords are simply that an attacker can make unlimited repeated guesses.
default username and password combinations
like admin/admin or admin/password.
Credit card
0.98%
disclosure
Internal IP
address found 5.53%
Email address
32.71%
found
Server-side Request Forgery After Acunetix begins the test, AcuMonitor waits for
connections from your web application. Your Acunetix
(SSRF) vulnerabilities occur scanner also contacts AcuMonitor to see if it received
when the attacker is able to any requests from your web application. If AcuMonitor
make the web application send receives such a request, the vulnerability is confirmed
with 100% certainty.
crafted data to another server.
ANALYSIS
Developers often allow such exchanges without
a challenge because they consider them internal and We found 1% of survey targets to be vulnerable to Server-
trusted. An attacker may create or forge requests from side Request Forgery. Even though SSRF is not very
a vulnerable server by replacing URLs with addresses that common compared to other high severity vulnerabilities,
the server trusts. it may be fatal. The attacker may use it to examine the
network, perform port scans, or send a flood of requests to
This vulnerability is most common for internal systems that overload a component (DoS).
do not allow connections from the internet or that use an
IP whitelist. They often let other internal systems access
information or services without authentication. These may
include databases, caching engines, service monitoring
tools, and others.
SSRF SSRF
when the attacker can insert We found 1.5% of sampled targets with overflow
too much data. vulnerabilities like buffer overflows, integer overflows, heap
overflows, and stack overflows. This is less than last year
If the developer does not check the bounds of variables so the situation is slowly improving.
stored in memory, excess data can overflow into memory
locations containing other data or even executable code.
This can cause data corruption or allow the attacker to
execute their own code.
shielded from the outside We found 15.5% targets with SSH-related vulnerabilities.
world (the Internet) using SSH keys protect access to resources. As your business
edge or perimeter devices. grows, so does the number of SSH keys in use, and this
may cause some issues. For example, simply keeping track
of a large number of keys can be difficult. What often
These provide functions and services such as routing,
happens is that organizations create new keys without
NAT/PAT, VPN, and firewalling. Servers, such as web
removing old ones.
servers, mail servers, DNS servers, are also often located
on the perimeter of the local network and accessible
Surprisingly often, businesses use the same keys for many
from the Internet.
services, which is very bad practice. This makes it harder
to change or revoke keys, and the situation gets even
If you do not regularly maintain such devices and
worse if keys are embedded into internal software systems.
services to update their operating systems and software,
As a result, keys become static and are not changed on
vulnerabilities can appear. Vulnerabilities can also appear
a regular basis. This gives opportunities to attackers.
when you misconfigure a device or a service.
20%
15.5%
15%
10%
7%
5%
1.5% 1.4%
0%
ed
ed
ed
ed
at
at
at
at
el
el
l
l
re
re
l-r
-r
S-
P-
H
ai
SS
N
FT
m
D
impossible to access.
Attackers often do this simply by flooding the target ANALYSIS
with requests that block or obstruct regular traffic. This
is sometimes called a volumetric attack because it is the We found 11% of targets with denial-of-service
volume of requests that causes the damage. Popular tools vulnerabilities, 7.5% of them vulnerable to SlowLoris (an
that attackers use are Low Orbit Ion Cannon and High application-based DoS vulnerability).
Orbit Ion Cannon.
DoS attacks are very difficult to defend against because Other DoS
Slow HTTP – 7.53%
the requests appear to be legitimate. There are some tools vulnerabilities – 3.35%
that can help you, but the attacker may also use multiple
hosts to send requests, making a distributed-denial-of-
service (DDoS) attack.
(CSRF) vulnerabilities occur We found that 36% of sampled targets were vulnerable to
when a web server receives an Cross-site Request Forgery or had an HTML form without
CSRF – 36%
creates HTTP headers using dangerous, it is not easy to exploit. The attack can only
succeed in very specific and unlikely conditions.
data supplied by the user.
Some application developers trust the security of host
headers to import stylesheets, scripts, and links – even
for password reset purposes. Without multi-factor
authentication (MFA), an attacker can even gain complete
control of a user’s account.
Host header
injection – 2.5%
Another attack based on host header injection is web
cache poisoning. The cache then serves the attacker’s
payload to users.
Directory Listing
(TLS) and its predecessor, We found nearly 47% of sampled targets with TLS/SSL
Secure Socket Layer (SSL), issues. The majority of these (more than 38%) had broken
are protocols used to ciphers (TLS 1.0, RC4) in the allowed cipher list.
connections and verify the (sometimes called “superbugs”) are still visible. Our target
sample data shows these items: BREACH (3.9%), POODLE
integrity of data exchanged (3.9%), and DROWN (0.7%). We were not expecting to find
between clients and servers. so many targets with such old and critical issues.
POODLE – 3.9%
BREACH – 3.9%
DROWN – 0.7%
January 1st, 2020, more We found that 35% of sampled targets had one or more
than 35% of all websites are vulnerabilities linked to this group of CMS platforms.
Joomla! and Drupal are also CMS systems with many users,
but they are not as popular as WordPress. Joomla! and
Drupal both have addons that expand their functionality.
Similarly to WordPress, the core is maintained by a trusted
group of developers and contributors, while addons are
more likely to contain vulnerabilities. *usage statistics and market share of wordpress,
https://w3techs.com/technologies/details/cm-wordpress.
web server vulnerabilities. We found that 46% of sampled targets had web server
vulnerabilities or misconfigurations. Unsurprisingly, most
The first category are vulnerabilities in web server
misconfigurations in this category were related to version
software. These are monitored by web server vendors and
disclosure. Web servers often disclose their make and
often discovered by them, not by users. They are fixed by
version in response to simple requests. While this is not
updates or patches. Security best practice is to always
strictly classified as a vulnerability, it may provide an
update web server software to the latest version.
attacker with useful information.
25% 24.5%
20%
15%
10%
7.3%
5%
1.5%
0%
IIS Apache nginx
After analyzing the results are not about which systems you use but how you use
them. Web application vulnerabilities such as SQL
of this report, we can say Injection and remote code execution appear because of
that we are very slowly going poor design and programming, even if you choose
decreasing but only gradually. is to introduce security testing automation into the
development lifecycle. This means integrating web
We are still far from being secure on the web – more vulnerability scanning with issue trackers, continuous
than 25% of web applications have at least one high- deployment environments, and similar tools.
severity vulnerability.
Acunetix continues to expand its integration capabilities.
To keep your web resources secure, you must be very Simply put, we keep making Acunetix faster (less time
careful all the time. If you have experience as a network to scan the same web application), smarter (fewer
or system administrator, you may think that proper requests needed to scan), easier (improvements to the
version and patch management will keep you secure. user interface), and more integrated (we keep adding
Unfortunately, this is not the whole solution. Keeping a web integrations with more and more systems).
About Acunetix
Acunetix is a global web security leader. As the first Our mission is to provide you with a trustworthy web
company to build a fully dedicated and fully automated security solution that protects all your assets, aligns with
web vulnerability scanner, Acunetix carries unparalleled all your policies, and fits perfectly into your development
experience in the field. The Acunetix web vulnerability lifecycle. The Acunetix platform frees up your security
scanning platform has been recognized as a leading team resources. It can detect vulnerabilities that other
solution multiple times. It is also trusted by customers technologies would miss because it combines the best of
from the most demanding sectors including many fortune dynamic and static scanning technologies and uses
500 companies. a separate monitoring agent. It is your platform of choice
for comprehensive web vulnerability assessment and
vulnerability management.
Stay up to date with the latest web security Acunetix (Europe and ROW)
news. Tel. +44 (0) 330 202 0190
Website. www.acunetix.com Fax. +44 (0) 30 202 0191
Email. [email protected]
Acunetix Web Security Blog.
www.acunetix.com/blog
Acunetix (USA)
Facebook. www.facebook.com/acunetix Tel. (+1) 737 241 8773
Twitter. twitter.com/acunetix Fax. (+1) 737 600 8810
Email. [email protected]