OWASP’s Top Ten Vulns
And their application to pentesting and software development.
Who Is OWASP
Their application to Software Development.
The top 10 vulns.
Their Application To Pentesting
02
01
04
03
Who is OWASP, and why do we care what they think?
Why do they matter to you as a software developer.
The top 10 vulns, and why they matter.
Why do they matter to you as a pentester?
Who is OWASP
The Open Web Application Security Project® (OWASP) is a nonprofit foundation that works to improve the security of software. Through community-led open source software projects, hundreds of local chapters worldwide, tens of thousands of members, and leading educational and training conferences, the OWASP Foundation is the source for developers and technologists to secure the web.
The Top 10 Vulns
Injection
1
Broken Authentication.
Sensitive Data Exposure
XML External Entities
2
3
4
5
6
7
8
9
10
Cross Site Scripting (XSS)
Broken Access Control
Using components with known vulnerabilities!
Security misconfiguration
Insecure deserialization
Insufficient logging and monitoring
Injection
How about we define some of the words together like SQL, OS, and LDAP.
NoSQL, and OS
�
Broken Authentication
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.
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. Let’s Define API, and PII.
API and PII
PII
PII is Personally Identifiable Information. Something like your name, or address or email.
API
An API is an Application Programming Interface is a computing interface that defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc.
XML External Entities
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.�But what is XML?
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 access other users’ accounts, view sensitive files, modify other users’ data, change access rights, etc.
196 Breaches from misconfigurations
Security Misconfiguration
DivvyCloud researchers studied all of the data breaches publicly reported between Jan. 1, 2018, and Dec. 31, 2019 across the globe, finding that 196 separate data breaches were identified as having been definitively caused primarily by cloud misconfigurations.
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.
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.
Insecure Deserialization
Insufficient logging and monitoring.
Using components with known vulnerabilities.
And 8, 9, 10
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:
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.
Insufficient logging and 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.
How does this apply to software development?
01
Why does this matter?
Why it matters to software developers.
Knowing what these common vulnerabilities are, are the first steps to preventing it happening on your software such as your web applications.
You don’t want to utilize a library or framework that is known to expose your data, or allow your application to be exploited.
Educating yourself each year on the new top 10 vulnerabilities is important.
You can learn how to prevent these more through the OWASP Cheat Sheet Series.
Why Does It Matter To Pentesters?
Out of all the vulnerabilities pentesters find, these are the most common ones.
Knowing what these vulnerabilities are puts you at an advantage.
Going through and trying every option and giving a full and complete write up to the client is crucial to ensure you don’t miss anything along the way.
Reason 1:
Reason 2:
Reason 3:
Summary Time!
01 | 02 | 03 | 04 |
Who is OWASP? | Name 1 of the top 10 vulnerabilities! | What is one reason it is important to a software developer? | Why is it important to a pentester? |
Companies Impacted This Year
KingComposer, a WP plugin installed on over 100,000 sites was vulnerable to xss.
For an unknown period of time, all of that web tracking data was left exposed on a server without a password.
Sensitive Data Exposure,this time, hackers obtained login details of two employees and broke into the system in January 2020
While they didn’t disclose the vulnerability, it was through the website.
Wordpress
BlueKai, owned by Oracle.
Marriott
OnePlus
Places you can put this information to practice.
HackTheBox.eu
HackerOne Bug Bounty Program.
CTF Competitions
TryHackMe.org
OverTheWire
BugCrowd
Any Questions?
In 2019
There were 1,506 data breaches that exposed more than 164.68 MILLION people.
These breaches took place in the United States alone.
2018
There was 1.632 breaches, with over 471 million people impacted.
From 2019 on there has been over 4 BILLION records breached.