The great news is that much of what you already do as a software tester helps with security testing! In this post, I will outline the ways that testers can use the skills they already have to start testing with security in mind, and I will discuss the new skills that testers can learn to help secure their applications.
Things you are probably already testing:
- Field Validation: It's important to make sure that fields only accept the data types they are expecting, and that the number and type of characters is enforced. This helps ensure that SQL injection and cross-site scripting can't be entered through a data field.
- Authentication: Everyone knows that it's important to test the login page of an application. You are probably already testing to make sure that when login fails, the UI doesn't provide any hints as to whether the username or password failed, and testing to make sure that the password isn't saved after logout or displayed in clear text. This serves to make it more difficult for a malicious user to figure out how to log in.
- Authorization: You are already paying attention to which user roles have access to which pages. By verifying that only authorized users can view specific pages, you are helping to insure that data does not fall into the wrong hands.
Things you can learn for more comprehensive security testing:
- Intercepting and Manipulating Requests: It is easy to intercept web requests with free tools that are available to everyone online. If attackers are doing this (and they are), then it is important for you to insure that they can't get access to information that they shouldn't have.
- Cross-site Scripting (XSS): This involves entering scripted code that will be executed when someone navigates to a page or retrieves data. Any text field on a page, even any URL, represents a potential attack point for a malicious user to insert a script.
- SQL Injection: This is exploiting potential security holes in communication with the database in order to retrieve more information than the application intended. As with cross-site scripting, any text field or URL has the potential to be used to extract data.
- Session Hijacking: It's important to learn if usernames, passwords, tokens, or other sensitive information is displayed in clear text or poorly encrypted. Malicious users can take this information and use it to log in as someone else.
Security testing involves a shift in mindset from traditional testing. When we test software, we are usually thinking like an end user. For security testing, we need to think like a malicious user. End users take the Happy Path, because they are using the software for its intended purpose, whereas hackers are trying to find any possible security holes and exploit them. Because of this, security testing requires a bit more patience than traditional testing. In the next few posts, I'll be discussing the new skills we can learn, and the ways that we can Think Like a (Security) Tester!
Awesome read , thank you so much for writing this up. I am not involved in any security testing so far, but now I understand it is my responsibility too and make this part of our release testing process of our web app. Good one for any one who wanted to start with Security testing . Kudos Kristin ..
ReplyDeleteThanks so much, Musaffir!
ReplyDeletePretty article! I found some useful information in your blog, it was awesome to read, thanks for sharing this great content to my vision, keep sharing. Need to learn
ReplyDeleteSecurity Testing Services
Test Automation Services
Software Testing Services
Compatibility Testing Services
Regression Testing Services
Thankyou so much for wonderful information …great work…well done…keep doing…Looking for the best mobile application penetration testing services in Hyderabad contact Cyanous software solutions now.
ReplyDeleteBest web designing services in Hyderabad
Best software & web development company in Hyderabad
Really nice explanation about penetration testing. Penetration testing is a security exercise where a cyber-security expert attempts to find and exploit vulnerabilities in a computer system. Checkout the detailed information about Penetration testing services and how it's helps avoid the security threats.
ReplyDeleteNice Information
ReplyDeleteEnsure Cybersecurity with Expert Web Security Testing Services
Thank you for this insightful introduction to security testing! At FYI Solutions, we know that integrating security into software testing is crucial. The skills testers already possess, like field validation and authorization checks, are foundational to robust security. Looking forward to learning more about enhancing these skills to protect applications effectively.
ReplyDelete