Top Ten Security Threats to Web Applications

Sharing is caring!

<p>The Open Web Application Security Project &lpar;OWASP&rpar; has provided the 10 most critical web application security threats that should serve as a minimum level for application security assessments and testing&period; The OWASP top 10 covers the following categories&colon;<&sol;p>&NewLine;<h2><strong>1- Injection&colon;<&sol;strong><&sol;h2>&NewLine;<p>Injection flaws&comma; such as SQL&comma; OS&comma; and LDAP injection occur when untrusted data is sent to an interpreter as part of a command or query&period; Code <em>injection<&sol;em> is the exploitation of a computer bug that is caused by processing invalid data&period; &&num;8230&semi; Attacking <em>web<&sol;em> users with HTML&sol;Script <em>Injection<&sol;em> &lpar;Cross-site scripting&rpar;&period;<&sol;p>&NewLine;<p><img class&equals;"aligncenter size-medium wp-image-248" src&equals;"http&colon;&sol;&sol;www&period;thecloudxperts&period;co&period;uk&sol;wp-content&sol;uploads&sol;2018&sol;10&sol;SQL-Injection-300x222&period;png" alt&equals;"https&colon;&sol;&sol;www&period;semanticscholar&period;org&sol;paper&sol;A-Detailed-Survey-on-Various-Aspects-of-SQL-in-Web-Kindy-Pathan&sol;12df14b506b5606222d109a6de9b6c33919ac9a4&sol;figure&sol;2" width&equals;"300" height&equals;"222" &sol;><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<h2><strong>2- Broken Authentication and Session Management&colon;<&sol;strong><&sol;h2>&NewLine;<p>Application functions related to authentication and session management are often not implemented correctly&comma; allowing attackers to compromise passwords&comma; keys&comma; or session tokens&comma; or to exploit other implementation flaws to assume other users’ identities&period;<&sol;p>&NewLine;<p><img class&equals;"aligncenter size-medium wp-image-249" src&equals;"http&colon;&sol;&sol;www&period;thecloudxperts&period;co&period;uk&sol;wp-content&sol;uploads&sol;2018&sol;10&sol;session-hijacking-218x300&period;jpg" alt&equals;"http&colon;&sol;&sol;red-lizzrd&period;blogspot&period;com&sol;2016&sol;01&sol;broken-authentication-and-session&period;html" width&equals;"218" height&equals;"300" &sol;><&sol;p>&NewLine;<h2><strong>3- Cross-Site Scripting &lpar;XSS&rpar;&colon;<&sol;strong><&sol;h2>&NewLine;<p>XSS flaws occur whenever an application takes untrusted data and sends it to a web browser without proper validation or escaping&period; XSS allows attackers to execute scripts in the victim’s browser&comma; which can hijack user sessions&comma; deface websites&comma; or redirect the user to malicious sites&period; You are vulnerable if you do not ensure that all user-supplied input is properly escaped&comma; or you do not verify it to be safe via server-side input validation&comma; before including that input in the output page&period;<&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<h2><strong>4- Insecure Direct Object References&colon; <&sol;strong><&sol;h2>&NewLine;<p>A direct object reference occurs when a developer exposes a reference to an internal implementation object&comma; such as a file&comma; directory&comma; or database key&period; The best way to find out if an application is vulnerable to insecure direct object references is to verify that <u>all<&sol;u> object references have appropriate defences&period;<&sol;p>&NewLine;<h2><strong>5- Security Misconfiguration&colon;<&sol;strong><&sol;h2>&NewLine;<p>Good security requires having a secure configuration defined and deployed for the application&comma; frameworks&comma; application server&comma; web server&comma; database server&comma; and platform&period; Example of application missing the proper security hardening across any part of the application stack&quest; Including&colon;<&sol;p>&NewLine;<ol>&NewLine;<li>Is any of your software out of date&quest;<&sol;li>&NewLine;<li>Are any unnecessary features enabled or installed&quest;<&sol;li>&NewLine;<li>Are default accounts and their passwords still enabled and unchanged&quest;<&sol;li>&NewLine;<li>Does your error handling reveal stack traces or other overly informative error messages to users&quest;<&sol;li>&NewLine;<li>Are the security settings in your development frameworks and libraries not set to secure values&quest;<&sol;li>&NewLine;<&sol;ol>&NewLine;<h2><strong>6 -Sensitive Data Exposure&colon;<&sol;strong><&sol;h2>&NewLine;<p>The first thing you have to determine is which data is sensitive enough to require extra protection&period; Many web applications do not properly protect sensitive data&comma; such as credit cards&comma; tax IDs&comma; and authentication credentials&period; like data stores and transmitted in clear text or any old&comma; weak crypt keys&period;<&sol;p>&NewLine;<h2><strong>7 &&num;8211&semi; Missing Function Level Access Control&colon;<&sol;strong><&sol;h2>&NewLine;<p>Applications need to perform the access control checks on the server when each function is accessed&period; If requests are not verified&comma; attackers will be able to forge requests in order to access functionality without proper authorization&period; You can test this by Using a proxy&comma; browse your application with a privileged role&period; Then revisit restricted pages using a less privileged role&period; If the server responses are alike&comma; you&&num;8217&semi;re probably vulnerable&period; Some testing proxies directly support this type of analysis&period;<&sol;p>&NewLine;<h2><strong>8- Cross-Site Request Forgery &lpar;CSRF&rpar;&colon;<&sol;strong><&sol;h2>&NewLine;<p>A CSRF attack forces a logged-on victim’s browser to send a forged HTTP request&comma; including the victim’s session cookie and any other automatically included authentication information&comma; to a vulnerable web application&period; An alternate defence is to require the user to prove they intended to submit the request&comma; either through reauthentication&comma; or some other proof they are a real user &lpar;e&period;g&period;&comma; a CAPTCHA&rpar;&period;<&sol;p>&NewLine;<h2><strong>9- Using Components with Known Vulnerabilities&colon;<&sol;strong><&sol;h2>&NewLine;<p>takeover&period; Applications using components with known vulnerabilities may undermine application defences and enable a range of possible attacks and impacts&period; Unfortunately&comma; vulnerability reports for commercial or open source software do not always specify exactly which versions of a component are vulnerable&period; Determining if you are vulnerable requires searching these databases&comma; as well as keeping abreast of project mailing lists and announcements for anything that might be a vulnerability&period;<&sol;p>&NewLine;<h2><strong>10- Unvalidated Redirects and Forwards&colon;<&sol;strong><&sol;h2>&NewLine;<p>Web applications frequently redirect and forward users to other pages and websites&comma; and use untrusted data to determine the destination pages&period; The best way to find out if an application has any unvalidated redirects or forwards is to&colon; Review the code for all uses of redirect or forward&comma; spider the site to see if it generates any redirects and check all parameters&period;<&sol;p>&NewLine;<p>Other than above threats you may need to consider the following which is added into OWASP list recently&period; Insufficient Logging&amp&semi;Monitoring&comma; Insecure Deserialization&comma; XML External Entities &lpar;XXE&rpar;&period;<&sol;p>&NewLine;<p>Credit&colon;<&sol;p>&NewLine;<p>Gordon&comma; Adam&period; The Official &lpar;ISC&rpar;2 Guide&comma; https&colon;&sol;&sol;www&period;semanticscholar&period;org&comma; Microsoft&comma; Cisco&comma; ISC2&comma; https&colon;&sol;&sol;www&period;owasp&period;org<&sol;p>&NewLine;

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.