Penetration tests of web applications
During web application security testing, our tasks are mainly focused on manual activities supported by outputs from automated tools.
Penetration tests and vulnerability scans are primarily aimed at identifying security weaknesses that may be present in the configuration, during data processing, or through improper implementation. It also includes a security scan of all functionality, authentication and authorization mechanisms, business logic, how sensitive information is handled, and other related areas.
Web applications
Information Gathering
- Phase aimed at gathering as much information as possible,
- Using freely available tools (search engines, scanners, simple HTTP requests or specially adapted requests),
- Disclosure of information, for example in the form of error messages or announcements of versions and technologies used.
Configuration and Deploy Management Testing
- Infrastructure and topology architecture analysis,
- Research of technical information such as source code, enabled HTTP methods, administration functionality, authentication methods and infrastructure configuration information.
Identity Management Testing
- Verification of mechanism for managing users and their roles,
- Testing of parameters, identification of security flaws, vulnerabilities leading to direct compromise of user accounts.
Authentication Testing
- Analysis of the functionality of the authentication process and attempts to bypass it.
Authorization Testing
- Detecting ways to bypass authorization rules and setting up user rights,
- Finding ways to escalate granted privileges.
Session Management Testing
- Analysing the possibility of stealing an authenticated user session, detecting the possibility and execution of Man-in-the-middle and similar attacks.
Data Validation Testing
- One of the most important parts of penetration testing - here the resistance of the application to SQL/Code Injection, Cross-Site Scripting, Local File Inclusion and other attacks is fully examined.
Error Handling Testing
- Test for leakage of sensitive information from often very detailed error messages, generating non-standard inputs in both size and content.
Cryptography Testing
- Checking whether the application accepts obsolete, broken or completely unsuitable (no) cryptographic mechanisms.
Business Logic Testing
- Examining all workflow functionalities and looking for the possibility of their misuse to perform activities that are not in accordance with the possibilities of use in a given application.
Client Side Testing
- Verification how effective the application's mechanisms are at protecting users from specialised attacks that target the user and their browser directly,
- Testing various types of client scripting language injection and manipulation of browser-managed parameters.
DO NOT HESITATE TO
CONTACT US
Are you interested in more information or an offer for your specific situation?