fbpx
This post is intended to brief you with top known vulnerabilities that exists in systems, particularly in Web Applications.
 
OWASP or Open Web Application Security Project is a worldwide not-for-profit charitable organization which is focused on improving the security of software. It regularly publishes top security holes across applications and suggestions on fixing the same.
 
The major cause of security issues is that security is an afterthought and approach towards solving security is patching, while security should be embed into design of the application.
 
 
 

In this post, I am providing a kind of pointers to the vulnerabilities.

1. Injection
 
An injection attack occurs when user-input by end user is entered in such a way that executing code provides undesired data. This happens when user-input is not validated and filtered. Such vulnerabilities have famously been in SQL injection, but can also be applied to noSQL, ORM, LDAP, etc.
To prevent the same, you must validate without failure, all sources of input data such as cookies, user form input, JSON fields, headers etc. Right?
Consider the example of Login being implemented with the query
👉 Select * From Users Where username = ? and password = ?;
What if a user enters in
👉 user name ; Select * From Users;
This would evaluate and actually print all the users depending upon how code is written but filtering of code would ensure protection.
 
 
2. Insufficient Logging & Monitoring
 
Monitoring and alerts are a primary tools to find and take immediate corrective actions, When an attack does take place, your logs and alerts are the primary tool for alert and later a postmortem. Excellent logging not only helps you in the prevention and circumvention of the attack but also it also informs you of security problems that may be fixed.
 
You must incorporate some excellent tools such as Splunk, full Elastic stack, or logstash at least, and you may employ some other tools also to actively respond to attacks.
 
 
3. Broken Authentication
 
Broken authentication is exploited by one of the many techniques such as brute force attack on known usernames and password databases, session hijacking. You can fix broken authentication by using some simple mechanisms, such as enforcing strong passwords, Single sign-on, use of SSL, Two Factor Authentication (2FA) etc.
 
 
4. Sensitive Data Exposure
 
The idea here is that-- if and when a data is intercepted or unwillingly exposed, it should not be usable. Man-in-the-middle attack should not be allowed to happen. This requires sensitive data to be salted and or encrypted when in motion or rest. Data when shared such as credit cards in a DB table, or, data on FTP files all must be encrypted and it must be shared over TSL/SSL. Algorithms. Your encrypton keys etc must be strong too.
 
 
5. XML External Entities
 
XML and JSON parsers can have vulnerabilities that may allow execution of unwanted code over unwanted data. In morder dynamic languages code script may be embedded in data which might be executed on server.
 
 
6. Broken Access Control
 
While authentication allows who is allowed access to some resources, however it does not inform what kind of access is allowed. With broken authentication unwanted and damaging features may be exposed to unprivileged users. It is a poor practice to have UI define access control and not implementing the same on API or business layer. Remember that-- Frameworks that allow claims based authorization or role based frameworks can greatly help you develop secure against such attacks.
 
 
7. Security Mis-configuration
 
A number of vulnerabilities exist in system due to poor hardening, sometimes these items are let go in development environment for efficient debugging but on production these include things like
  • running process in minimal required security and not as root,
  • accessing DB not as root,
  • not exposing stack trace,
  • giving improper directory privileges and so on.
Once these are patched the surface area for an attack is greatly reduced.
 
 
8. Cross Site Scripting
 
Cross site scripting is a form of attack in which javascript may be embedded in user input and stored in database. The said input may then be executed on victim’s computer transmitting vital information or redirecting users to other websites. Anti-XSS filters may be employed on an incoming http/https stream to filter the same.
 
 
9. Insecure Deserialization
 
This attack occurs when serialized input when deserialized may exploit a underlying issues such as buffer overflow. This is a complex issue because it is difficult to contain in a disconnected world where inputs are received from unknown sources.
Strict typo checks and deserialization in known entities allows safety against this issue. However issues like these are harder to manage in dynamic languages.
 
 
10. Using Components with Known Vulnerabilities
 
New issues and software and abilities are found in applications and libraries. It is imperative to patch them as and when available. Attackers typically depend on long cycles for issues being patched and fixed.
 
-
Guys, what do you think of think about this post which introduce you to OWASP's Top 10?
Kindly leave me your thoughts in the comment section.
 
 
 

This Article Was Written & published by Meena R,  Senior Manager - IT, at Luminis Consulting Services Pvt. Ltd, India. 

Over the past 16 years, Meena has built a following of IT professionals, particularly in Cybersecurity, Cisco Technologies, and Networking...

She is so obsessed with Cybersecurity domain that she is going out of her way and sharing hugely valuable posts and writings about Cybersecurity on website, and social media platforms. 

30,000+ professionals are following her on Facebook and  mesmerized by the quality of content of her posts on Facebook. 

If you haven't yet been touched by her enthusiastic work of sharing quality info about Cybersecurity, then you can follow her on Facebook:

Click Here to follow her: Cybersecurity PRISM