Testing Techniques: Security Testing

What is Security Testing, what should we know?

Security Testing

What is security testing? what should we know? how to start?

We can define Security Testing as: the technique used to identify vulnerabilities and potential security risks in the website's code, databases, and infrastructure. It includes testing for common security issues like SQL injection, cross-site scripting (XSS), and cross-site request forgery (CSRF).


Vulnerabilities Explained

Website Security


SQL Injection

SQL injection is a type of cybersecurity attack that targets web applications that use SQL (Structured Query Language) to interact with a database. In an SQL injection attack, an attacker manipulates the input fields of a web application to inject malicious SQL code into the application's database query. The goal of this attack is to exploit vulnerabilities in the application's code and gain unauthorized access to the underlying database or perform unintended operations on the database.

Cross-Site Scripting (XSS)

This is a type of web security vulnerability that occurs when a web application allows malicious scripts to be injected and executed in the browser of a user visiting the affected web page. 

Cross-site request forgery (CSRF)

A web security vulnerability that allows an attacker to trick a user's web browser into making unintended and unauthorized requests to a different website where the user is authenticated. This type of attack exploits the trust that a website has in a user's browser by abusing the user's authenticated session to perform actions on the target website without the user's knowledge or consent.


Where to start with the Security Testing of a Website

Security Testing, where to start

Starting with Security Testing for a website involves a systematic approach to identify potential vulnerabilities and assess the overall security posture of the application. 

Here's a guide that we hope it helps to you get you started:

Authentication and Authorization Testing: 

Test the user authentication and authorization mechanisms to ensure that only authorized users have access to specific areas and functionalities.

Input Validation and Sanitization: 

Verify that the website properly validates and sanitizes user input to prevent common attacks like SQL injection and XSS.

Testing for Cross-Site Scripting (XSS): 

Specifically, check for XSS vulnerabilities, as they are prevalent and can have severe consequences. Test different entry points such as form fields, URL parameters, and cookie values.

Testing for Cross-Site Request Forgery (CSRF): 

Verify that the website protects against CSRF attacks by using tokens and anti-CSRF headers.

Session Management: 

Check for weaknesses in session management, such as session fixation, session hijacking, and session timeout settings.

Secure Communication: 

Ensure that the website uses secure communication protocols (HTTPS) for transmitting sensitive data, especially during authentication and payment processes.