Can all OWASP Top 10 Web Application Security Risks be detected by automatic scanners?

TL/DR: No, and here’s why.

OWASP issues a Top 10 Web Application Security Risks every 3 years. While we wait for the new list, let’s recap 2017’s Top 10 and see how you can test 6/10 using the Pentest-Tools.com platform.

Firstly, it’s very important to emphasize that not all of the OWASP Top 10 security flaws can be detected through automated scanners. While some can only be partially covered by an automated scanner, the rest is manual work performed by an experienced security professional.

✔️ A1 Injection flaws

We can detect SQL injection and OS command injection with the Website Scanner

A1 Injection flaws, such as SQL, NoSQL, OS, and LDAP injection, occur when untrusted data is sent to an interpreter as part of a command or query. The attacker’s hostile data can trick the interpreter into executing unintended commands or accessing data without proper authorization.

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A1-INJECTION

 

✔️ A2 Broken Authentication.

This can’t be discovered by fully automated scanners, however, we can detect: Weak passwords and passwords transmitted in clear-text because of no HTTPS with Password Auditor and Website Scanner (light)

A2 Broken Authentication. Application functions related to authentication and session management are often implemented incorrectly, allowing attackers to compromise passwords, keys, or session tokens, or to exploit other implementation flaws to assume other users’ identities temporarily or permanently.

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A2-BROKEN_AUTHENTICATION

You can detect if your application is vulnerable by checking if login permits default, weak, or well-known passwords, such as “Password1” or “admin/admin“if it uses plain text, encrypted, or other weakly hashed passwords.

✔️ A3 Sensitive Data Exposure

We can detect: Lack of HTTPS, SSL issues and Missing HSTS with Website Scanner (light) and SSL/TSL Vulnerability Scanner + OpenVAS

A3 Sensitive Data Exposure. Many web applications and APIs do not properly protect sensitive data, such as financial, healthcare, and PII. Attackers may steal or modify such weakly protected data to conduct credit card fraud, identity theft, or other crimes. Sensitive data may be compromised without extra protection, such as encryption at rest or in transit, and requires special precautions when exchanged with the browser. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A3-SENSITIVE_DATA_EXPOSURE

 

You can check if your application is vulnerable by asking the following:

  • Is any data transmitted in clear text? This covers protocols such as HTTP, SMTP, and FTP.
  • Are any old or weak cryptographic algorithms used either by default or in older code?
  • Is encryption not enforced, e.g. are any user agent (browser) security directives or headers missing?

 A4 XML External Entities (XXE)

We don’t test this yet.

A4 XML External Entities (XXE). Many older or poorly configured XML processors evaluate external entity references within XML documents. External entities can be used to disclose internal files using the file URI handler, internal file shares, internal port scanning, remote code execution, and denial of service attacks. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A4-XML_EXTERNAL_ENTITIES_(XXE)

 

 A5 Broken Access Control

Most of the risks associated with access control can only be detected manually by a pentester that is familiar with the tested business. Implementation issues related to authentication can be detected automatically, however, we don’t test this yet.

A5 Broken Access Control. Restrictions on what authenticated users are allowed to do are often not properly enforced. Attackers can exploit these flaws to access unauthorized functionality and/or data, such as accessing other users’ accounts, view sensitive files, modify other users’ data, change access rights, etc. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A5-BROKEN_ACCESS_CONTROL

 

✔️ A6 Security Misconfiguration

We can detect: Unnecessary open ports, Unnecessary pages, Default accounts, Verbose error messages, Security headers, and Outdated components/software with TCP ScanWebsite Scanner (Nikto tests and New)Password Auditor, Website Scanner + OpenVAS.

A6 Security Misconfiguration is the most commonly seen issue. This is commonly a result of insecure default configurations, incomplete or ad hoc configurations, open cloud storage, misconfigured HTTP headers, and verbose error messages containing sensitive information. Not only must all operating systems, frameworks, libraries, and applications be securely configured, but they must be patched/upgraded in a timely fashion. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A6-SECURITY_MISCONFIGURATION

 

✔️ A7 Cross-Site Scripting XSS

We can discover reflected XSS with Website ScannerWe don’t discover stored XSS and DOM XSS yet.

A7 Cross-Site Scripting XSS. XSS flaws occur whenever an application includes untrusted data in a new web page without proper validation or escaping, or updates an existing web page with user-supplied data using a browser API that can create HTML or JavaScript. XSS allows attackers to execute scripts in the victim’s browser which can hijack user sessions, deface web sites, or redirect the user to malicious sites. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A7-CROSS-SITE_SCRIPTING_(XSS)

 

 A8 Insecure Deserialization

We don’t test this yet.

A8 Insecure Deserialization often leads to remote code execution. Even if deserialization flaws do not result in remote code execution, they can be used to perform attacks, including replay attacks, injection attacks, and privilege escalation attacks. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A8-INSECURE_DESERIALIZATION

 

✔️ A9 Using Components with Known Vulnerabilities

We can discover: CVEs for old server software and technologies, old Javascript libraries, old CMS components with Website scanner, CMS Tests: WordPressDrupalJoomlaSharePoint

A9 Using Components with Known Vulnerabilities. Components, such as libraries, frameworks, and other software modules, run with the same privileges as the application. If a vulnerable component is exploited, such an attack can facilitate serious data loss or server takeover. Applications and APIs using components with known vulnerabilities may undermine application defenses and enable various attacks and impacts. 

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A9-USING_COMPONENTS_WITH_KNOWN_VULNERABILITIES

 

While a web vulnerability scanner can’t include a comprehensive list of vulnerable components and software, users need to make sure they always have the newest version of any software installed. 

 A10 Insufficient Logging & Monitoring

This can not be discovered by automated tools and it is not in the scope of our product.

A10 Insufficient Logging & Monitoring, coupled with missing or ineffective integration with incident response, allows attackers to further attack systems, maintain persistence, pivot to more systems, and tamper, extract or destroy data. Most breach studies show time to detect a breach is over 200 days, typically detected by external parties rather than internal processes or monitoring.

HTTPS://OWASP.ORG/WWW-PROJECT-TOP-TEN/OWASP_TOP_TEN_2017/TOP_10-2017_A10-INSUFFICIENT_LOGGING%252526MONITORING