• India
  • Contact@SecureGlobeConsulting.com
  • Office Hours: 7:00 AM – 10:00 PM
Thumb

According to Identity Force, the first quarter of 2020 showed a massive increase in breaches at the tune of 273% compared to the same data in 2019. Lately, web application security has become a major concern for businesses of all shapes and sizes.

Web application security is referred to as safeguarding of websites, web applications, and web services from existing and emerging security threats that exploit weaknesses in application source code.

One simple flaw in the application design or misconfigured web server can potentially cause huge revenue losses. 85% of  tech leaders lack confidence in their web application security.

What is Web Application Penetration Testing?

The number of web apps and websites is growing rapidly, many providing easy access to sensitive user or financial data, making them a highly prized target for cybercriminals. From web-based portals to online shopping and banking, SaaS based products, today organizations are building their businesses directly online. As these systems grow increasingly powerful, they also scale in complexity, meaning the range of exploitable vulnerabilities is rising. Public facing web applications are in their nature, globally accessible and easily probed, or manipulated – from anywhere, at any time – creating some of the most pressing issues facing any organization.

A web application penetration testing helps enterprises to simulate real world hackers’ attacks to gain access to critical information. During this testing, we look for any security issues that might have arisen as a result of insecure development, design or coding, to identify potential vulnerabilities in your websites and web applications, including CRM, extranets and internally developed programs – which could lead to exposure of personal data, credit card information etc.

Our hybrid approach utilizes manual and automated scans to reduce the quantity of false positives.

Web Application Vulnerabilities

Secure Globe’s web application penetration testing service can be commissioned to assess both proprietary web applications developed in-house as well as those from third party vendors.

Testing includes assessing applications for vulnerabilities listed in the OWASP Top 10, the Open Web Application Security Project’s ten most critical application security risks. Our web application security testing team will help to identify vulnerabilities including:

This category includes SQLi, NoSQLi, OS or LDAP injections. The first two refer to attempts to steal data from SQL/NoSQL databases. If your project is vulnerable, the user may be able to extract some valuable data such as email addresses, user and system data, passwords or logins.
The OS injection makes it possible for the attacker to issue all kinds of system commands. It might cause all the security measures to fail. LDAP is a protocol for accessing and maintaining information services via the TCP/IP protocol. It’s designed for use with directory services, that is object databases that represent network users and resources. The attack involves using LDAP expressions to extract valuable data or to change access rights.

This one has to do with authentication and session management. The attacker’s goal is to compromise passwords, keys and session tokens as well as to exploit app errors in order to take over accounts of other users.

Common methods used to achieve it are brute force attacks and exploiting various weaknesses within the system such as poor password policy and management or weak session cookies. When the attack succeeds, the implications can be quite far-reaching, including leaking of personal data. The best ways to prevent it involve setting strong passwords, implementing multi-factor authentication, blocking users that fail to log in properly in a given number of attempts, session management testing/debugging, best by a dedicated Quality Assurance team.

Nowadays it’s extremely important to take care of the user’s personal and financial data. Otherwise, Sensitive Data Exposure may happen and not only will you stand to compromise the application, but earn yourself a hefty fine in the process (read more about the GDPR). The Sensitive Data Exposure vulnerability is becoming increasingly relevant to the everyday reality of each online business.

This category refers to abusing features of XML parsers. Such vulnerabilities may also cause Denial of Service (DoS) or Server Side Request Forgery (SSRF) attacks, which can in turn force your application to send requests to other applications.

The 5th vulnerability of the OWASP TOP 10 2017 is unauthorized access to functions and data – Broken Access Control. It can be done by using the regular user’s account to access the privileges of the admin account. That way, for example, the attacker could be able to access the medical documents of all clients registered in the application. Broken Access Control remains one of the most prevalent issues in the OWASP TOP 10 lists.

If authentication and access restriction are not properly implemented, it’s easy for attackers to take whatever they want. With broken access control flaws, unauthenticated or unauthorized users may have access to sensitive files and systems, or even user privilege settings.

Configuration errors and insecure access control practices are hard to detect as automated processes cannot always test for them. Penetration testing can detect missing authentication, but other methods must be used to determine configuration problems. Weak access controls and issues with credentials management are preventable with secure coding practices, as well as preventative measures like locking down administrative accounts and controls and using multi-factor authentication.

Misconfigured security measures are very common in web applications. Some of them include:

  • poorly configured cloud permission settings (e.g. S3 buckets),
  • default and test accounts with generic passwords that found their way to the production environment,
  • too detailed error messages,
  • no HTTP Security headers.

This vulnerability is often just a prelude to many of the other, even more, serious ones, such as XXE or command injections.

One of the most popular and talked about vulnerabilities, widely known even outside of the cybersecurity crowd. This time, it ranked 7th and I believe that it’s going to return in the 2020 edition as well. I still find this vulnerability often in the applications I test, despite all the security measures employed in modern-day frameworks. XSS involves injecting malicious scripts and executing them on the computer of the victim.

The official definition describes this vulnerability as a situation in which “untrusted data is used to abuse the logic of an application”. In other words, the app replaces the proper set of data with malicious code, allowing for DoS, RCE and other types of attacks. This code leverages the legitimate serialization and deserialization process recognized by your web app.

Deserialization, or retrieving data and objects that have been written to disks or otherwise saved, can be used to remotely execute code in your application or as a door to further attacks. The format that an object is serialized into is either structured or binary text through common serialization systems like JSON and XML. This flaw occurs when an attacker uses untrusted data to manipulate an application, initiate a denial of service (DoS) attack, or execute unpredictable code to change the behavior of the application.

Although deserialization is difficult to exploit, penetration testing or the use of application security tools can reduce the risk further. Additionally, do not accept serialized objects from untrusted sources and do not use methods that only allow primitive data types.

Ensuring that your libraries, frameworks and components are up-to-date goes a long way in making your app more secure. Otherwise, the practice ufo using components with known vulnerabilities may make your app prone to a variety of problems typically caused by outdated software. Therefore, make sure that your content management system, analytics software and libraries are all regularly updated, even after they are released to the production environment!

The last position is not really a typical vulnerability, but an example of oversight on the part of cybersecurity specialists. It has to do with insufficient logging and monitoring of error and inadequate reaction to various incidents. It may result in a variety of attacks, damages and exploits.

To combat such threats, you should definitely store information such as HTTP code statuses, timestamps, API endpoint users, page locations or IP addresses in your logs. Of course, they need to be stored in a secure location, as they contain a lot of sensitive information.

You should also pay special attention to suspicious actions, such as multiple login attempts, script injection attempts, requests made by unusual IPs and locations, the usage of automated tools and more. Other than monitoring and logging, you should also actually act on your findings, for example by blocking users that display this suspicious behavior.

Our Web Application Testing Methodology

SecureGlobe’s web app penetration testing experts work with you to define any websites and applications in scope and devise an appropriate testing strategy.

Our penetration tester locates the publicly-available information associated with the client and seeks ways which could be exploited to get into the systems. He employs tools such as port scanners to get a complete understanding of the software systems in the network. Using that information, the tester pinpoints the impact that different findings could have on the client.

After the collection of the information using manual surfing or various informational tools, the next stage is that of planning and analysis. We initiate the planning process by defining the objectives of the penetration testing. The goals are defined jointly by the client and the tester so that both of them have the same objectives and understanding.

This step includes the analysis of the preliminary information that the tester is able to gather. He starts by using the available information and may ask for more from the client if he sees the need for it. This step is regarded as a sort of passive penetration test. The sole objective of this step is to obtain a comprehensive and detailed information about the systems.

Our testers understand how the target application will respond to various intrusion attempts. They use static analysis and dynamic analysis for this purpose. Static analysis involves the inspection of the application code to check the way it would behave while running, while dynamic analysis is the inspection of an application code in a running state.

This stage uses the web application attacks, such as SQL injection, cross-site scripting, and backdoors to uncover the vulnerabilities of a target. Furthermore, the testers then try to exploit these vulnerabilities to comprehend the damage that they can cause. The purpose of this stage is to gain an access to the resources which are vulnerable.

In this step, the result of the test is compiled and consolidated into a report which details the specific vulnerabilities exploited, sensitive data accessed, and the amount of time that the penetration tester was able to remain in the system without being detected. The report is analyzed by the security personnel for creating robust security solutions that resolve the existing issues and prevent future ones.

Thumb
Thumb