Do you think that your applications are secure?
A vulnerability is a weakness or a hole in the application, which can be a design flaw or an implementation bug, that allows an attacker to cause harm to the stakeholders of an application. Application vulnerabilities are not the same as other common types of vulnerabilities, such as network or asset. They arise because web applications need to interact with multiple users across multiple networks, and that level of accessibility is easily taken advantage of by hackers. In cybersecurity, a vulnerability is a weakness that can be exploited by a cyber attack to gain unauthorized access or perform unauthorized actions on a computer system. Vulnerabilities can allow attackers to run code, access a system’s memory, install malware and steal, destroy or modify sensitive data.
It means a system flaw or weakness in an application that could be exploited to compromise the security of the application. Attackers typically confide on specific tools or methods to perform application vulnerability compromise and discovery
Main types of Vulnerabilities:
Example of Vulnerability :
- A weakness in a firewall that lets hackers get into a computer network
- Lack of input validation on user input
- Lack of sufficient logging mechanism
- Not closing the database connection properly
- Fail-open error handling
Vulnerability is an act of courage because you merge with your authentic self, instead of hiding behind a facade to satisfy others. It is within the unknown where your greatest potential lies. To embrace vulnerability as your greatest strength, you will need to become aware of your pain points.
The Top 10 security vulnerabilities as per OWASP Top 10 are:
- SQL Injection.
- Cross-Site Scripting.
- Broken Authentication and Session Management.
- Insecure Direct Object References.
- Cross-Site Request Forgery.
- Security Misconfiguration.
- Insecure Cryptographic Storage.
- Failure to restrict URL access.
There are web application security solutions designed specifically for applications, and as such it’s important to look beyond traditional vulnerability scanners when it comes to identifying gaps in an organization’s application security. To really understand your risks, learn more about some types of web application and cybersecurity attacks, and how web scanners can help increase the safety of your applications.
SQL injection Attacks
Structured Query Language (SQL) is now so commonly used to manage and direct information on applications that hackers have come up with ways to slip their own SQL commands into the database. These commands may change, steal,
An SQL injection attack specifically targets this kind of server, using poisonous code to get the server to reveal information it normally wouldn’t. This is especially problematic if the server stores private customer information from the website, such as credit card numbers, usernames, and passwords (credentials), or other personally identifiable information, which are enticing and profit-making targets for an attacker.
If an application is vulnerable to an injection attack, it may be possible for an attacker to go to a website’s search box and type in code that would instruct the site’s SQL server to dump all of its stored usernames and passwords for the site.
Cross site scripting (XSS)
In an SQL injection attack, an attacker goes after a vulnerable website to target its stored data, such as user credentials or sensitive financial data. But if the attacker would rather directly target a website’s users, they may opt for a cross-site scripting attack. Similar to an SQL injection attack, this attack also involves injecting malicious code into a website. However, in this case, the malicious code the attacker has injected only runs in the user’s browser when they visit the attacked website, and it goes after the visitor directly.
Cross-site scripting attacks can significantly damage a web company’s reputation by placing the users’ information at risk without any indication that anything malicious even occurred. Any sensitive information a user sends to the site or the application—such as their credentials, credit card information, or other private data—can be hijacked via cross-site scripting without the owners realizing there was even a problem in the first place.
Cross site request forgery
A Cross-Site Request Forgery (CSRF) attack is when a victim is forced to perform an unintended action on a web application they are logged into. The web application will have already deemed the victim and their browser trustworthy, and so executes an action intended by the hacker when the victim is tricked into submitting a malicious request to the application. This has been used for everything from harmless pranks on users to illicit money transfers.
How to check for security vulnerabilities?
Black-box approach: Inject all possible fault-inducing inputs in the web app and look for hints that something strange has happened Lots of simple app vuln scanners, also commercial ones (WebInspect, AppScan, ScanDo, SensePost tools…)
White box approach (code review): Basically, NO TOOLS do this (it’s not simple) Conceptually, much more complete and thorough.
Web applications are poorly programmed, highly vulnerable, and highly exposed. Black-box analysis of web apps is relatively easy but limited; white-box analysis of source code is promising but difficult. To sum up our findings, the average level of web application security remains poor. Every application tested had flaws of various severity levels. High-severity vulnerabilities can be exploited in more than half of applications for access to sensitive data, execution of commands on a server, and total control of the system. Web applications in any sector—from e-commerce to government—can be successfully attacked. Only 4 percent of tested applications were free of threats to their users. In one out of four cases, attacks against web applications can yield personal data, which is highly valuable for attackers