As a Software Tester of many years, I am always keen to test out new Software Testing Tools that can help me build awesome websites. I am so excited to bring these open source security testing tools before you through this post.
Note: You should only use these Security Testing Tools to attack an application that you have permission to test.
In this post, we are going to see the following:
- 1. What is Security Testing
- 2. Zed Attack Proxy
- 3. Wfuzz
- 4. Wapiti
- 5. W3af
- 6. Vega
- 7. SQLMap
- 8. SonarQube
- 9. Nogotofail
- 10. Grabber
- 11. Arachni
- 12. Skipfish
- 13. Ratproxy
Here are some of the Open Source Security Testing Tools which are popular among Security Testers.
What is Security Testing?
Security testing is a process to determine whether the system protects data and maintains functionality as intended. Penetration testing or pen testing is also a type of Security testing which is performed to evaluate the security of the system (hardware, software, networks or an information system environment).
We can do security testing using both manual and automated security testing tools and techniques. Security testing reviews the existing system to find vulnerabilities.
Most of the companies perform security testing on newly deployed or developed software, hardware, and network or information system environment. But it’s highly recommended by experts to make security testing as a part of information system audit process of an existing information system environment.
Must Read: Security Testing – Complete Guide
To find the flaws and vulnerabilities in a web application, there are many free, paid, and open source security testing tools available in the market. We know that the advantage of open source tools are we can easily customize it to match our requirements. We are here to showcase some of the top __ open source security testing tools.
We use security testing tools for checking how secure a website or web application is.
Security tests include testing for vulnerabilities such as SQL Injection, Cross-Site Scripting (XSS), Session Management, Broken Authentication, Cross-Site Request Forgery (CSRF), Security Misconfiguration, Failure to Restrict URL Access etc.,
Website hacking is quite common nowadays. Every now and then there is some news regarding a website being hacked or data breach. Infosec (information security) has come a long way and in the same way, hacking too. To keep a website safe from hackers we need to build secure websites to stay away from hackers. Web Security Testing Tools acts proactively in detecting web application vulnerabilities and safeguarding websites against attacks. There are many paid and free web application testing tools available in the market. Here, we discuss top 12 open source security testing tools for web applications.
1. Zed Attack Proxy (ZAP)
Zed Attack Proxy popularly known as ZAP is an open source security testing tool for a web application which was developed by OWASP (Open Web Application Security Project). It runs on all operating systems that support Java 8. It is one of the world’s most popular free security tools and is actively maintained by volunteers. It is an easy to use integrated penetration testing tool for finding a number of security vulnerabilities in a web application while we are developing and testing an application. It is also a great tool for experienced pentesters to use for manual security testing. It is designed to be used by people with a wide range of security experience and as such is ideal for developers and functional testers who are new to penetration testing as well as experienced security professionals. It comes with a friendly GUI which helps newbies as well as experts. It gives command line access for advanced users.
ZAP has a huge reputation amongst Security Testing Tools as being easy to use, and powerful.
- Easy to use
- Easy to install
- Free, Open source
Key features of ZAP are:
- Automatic scanning
- Rest-based API
- Intercepting proxy
- Authentication Support
- Ajax Spider
- Dynamic SSL Certificates
- SQL Injection
- XXS Injection
- Forced Browsing
- Web Socket Support
- Active and Passive scanners
- Cookie-based and HTTP authentication session management
- Anti CSRF token handling
Website Link: https://www.zaproxy.org/
Wfuzz is a web application security fuzzer tool which is developed in Python. It doesn’t come with GUI Interface, so security testers who want to use this tool have to work on command line interface. This tool is designed for bruteforcing web applications.
Key features of Wfuzz are:
- Multiple injection points with multiple dictionaries
- Post, headers and authentication data brute forcing
- Output to HTML
- Cookies fuzzing
- Proxy Support
- SOCK Support
- Time delays between requests
- Authentication Support (NTLM, Basic)
- All parameters bruteforcing (POST and GET)
- Multiple encoders per payload
- Baseline request (to filter results against)
- Brute force HTTP methods
- Multiple proxy support (each request through a different proxy)
- HEAD scan (faster for resource discovery)
Website Link: http://www.edge-security.com/wfuzz.php
Source code Download Link: https://github.com/xmendez/wfuzz
Wapiti is a web application vulnerability scanner. It allows us to audit the security of websites or web applications. It performs black box scans of the web application by crawling the web pages of the deployed webapp, looking for scripts and forms where it can inject data. Once it gets the list of URLs, forms and their inputs, Wapiti acts like fuzzer, injecting payloads to see if a script is vulnerable. This open source security testing tool supports both GET and POST HTTP attack methods. It is a command line application. It doesn’t come with GUI. So it is important to have a knowledge of various commands of Wapiti. There is detailed documentation on Wapiti official site.
It detects vulnerabilities like
- File disclosure
- Data injection
- XSS (Cross Site Scripting) injection
- XXE (XML External Entity) injection
- CRLF injection
- SSRF(Server Side Request Forgery)
- Bypass weak .htaccess configurations
- Shell shock (aka Bash Bug)
Key features of Wapiti web vulnerability scanner are:
- Supports both GET and POST HTTP methods for attacks
- Acts like a fuzzer
Website Link: http://wapiti.sourceforge.net/
Source Code Download Link: https://github.com/mbarbon/wapiti
W3af is a web application attack and audit framework that is developed using python. It is one of the most popular web application security testing frameworks in the market. It comes with both GUI and console interface. It helps developers and penetration testers identify and exploit vulnerabilities in web applications. It supports authentication types such as HTTP basic authentication, NTLM authentication, Form authentication, Cookie authentication. It is able to identify more than 200 types of security issues in web applications, including
- Cross-Site Scripting
- SQL Injection
- Guessable credentials
- Unhandled application errors
- PHP misconfigurations
- Blind SQL injections
- Buffer overflow vulnerability
- CORS (Cross-Origin Resource Sharing)
- CSRF (Cross Site Request Forgeries) vulnerabilities
- OS Commanding
- Authentication support
Website Link: http://w3af.org/
Source Code Download Link: https://github.com/andresriancho/w3af
Vega is a free and open source web security scanner and web security testing platform to test the security of web applications. It is written in Java and has a well designed graphical user interface (GUI) runs on Linux, OS X, and Windows.
It exposes vulnerabilities including
- Find and validate SQL injection
- Cross-Site Scripting (XSS) injection
- Blind SQL injection
- Header injection
- Remote file include
- Shell injection
Website Link: https://subgraph.com/vega/
Source Code Download Link: https://github.com/subgraph/Vega
SQLMap is an open source penetration testing tool. It allows us to automate the process of detecting and exploiting SQL injection vulnerabilities in a website’s database. It comes with a powerful detection engine and many features to detect vulnerabilities.
It supports 6 types of SQL Injection techniques:
- Boolean-based blind
- Time-based blind
- Union query-based
- Stacked queries
It supports a large number of database services such as
- Microsoft SQL Server
- Microsoft Access
- IBM DB2
Website Link: http://sqlmap.org/
Source Code Download Link: https://github.com/sqlmapproject/sqlmap
SonarQube is an open source security testing tool developed by SonarSource. It is an automatic code review tool to detect bugs, vulnerabilities and code smells in your code.
Key features of SonarQube are
- Continuous inspection
- Detect Tricky issues
- Multi-Language support
- DevOps Integration
- Centralize Quality
Website Link: https://www.sonarqube.org/
Source Code Download Link: https://github.com/SonarSource/sonarqube
Nogotofail is a network security testing tool (network vulnerability scanner tool) designed to help developers and penetration testers. As a network security scanner, it includes testing for common SSL certificate verification issues, HTTPS and TLS/SSL library bugs, SSL and STARTTLS stripping issues, cleartext issues, and more.
Vulnerabilities exposed by Nogotofail network testing tool are
- SSL Injection
- TLS Injection
- SSL Certificate verification issues
- SSL and STARTTLS stripping issues
- Cleartext issues
Website Link: https://security.googleblog.com/2014/11/introducing-nogotofaila-network-traffic.html
Source Code Download Link: https://github.com/google/nogotofail
Grabber is an open source web application scanner that detects some kind of vulnerabilities in a website or web applications. It is designed to scan small websites such as forums and personal websites. It is absolutely not for big application. It will take a too long time and flood your network when you use it for a big application. It doesn’t come with GUI interface. It was developed in Python.
Grabber can identify the following issues:
- Cross-site scripting
- SQL injection
- File inclusion
- Backup files check
- Simple AJAX check
- Hybrid analysis or Crystal ball testing for PHP application using PHP-SAT
Website Link: https://tools.kali.org/web-applications/grabber
Source Code Download Link: https://github.com/amoldp/Grabber-Security-and-Vulnerability-Analysis-
Arachni is an open source security testing tool aimed towards helping penetration testers and administrators evaluate the security of web applications. It is a feature-full, modular, high-performance Ruby framework. It supports all major operating systems such as MS Windows, Mac OS X, and Linux. It is designed to identify security issues within a web application and make it hacker proof.
Arachni can identify the following issues:
- Local file inclusion
- Remote file inclusion
- Invalidated redirects
- Invalidated DOM redirects
- XPath injection
- SQL injection
- XSS injection
Website Link: http://www.arachni-scanner.com/
Source Code Download Link: https://github.com/Arachni/arachni
Skipfish is an active web application security testing tool. It prepares an interactive sitemap for the targeted site by carrying out a recursive crawl and dictionary-based probes. It is available for Linux, Mac OS X, and Windows.
Some of the security checks offered by Skipfish are:
- Server-side query injection
- Explicit SQL-like syntax in GET or POST parameters
- Server-side shell command injection
- Server-side XML/XPath injection
- Password forms submitting from or to non-SSL pages
- Incorrect or missing MIME types on renderable
Website Link: https://tools.kali.org/web-applications/skipfish
Source Code Download Link: https://github.com/spinkham/skipfish
Ratproxy is an open source security testing tool. It is a semi-automated, largely passive web application security audit tool. Ratproxy assessments take little bandwidth or time to run and proceed in an intuitive, distraction-free manner. It affords a consistent and predictable coverage of user-accessible features. It is supported by all popular operating systems such as Mac OS X, Windows, and Linux.
Website Link: https://sectools.org/tool/ratproxy/
Source Code Download Link: https://github.com/wallin/ratproxy
We tried our best to bring la ist of top 12 Open Source Security Testing Tools for web application (vulnerability scanning tools/vulnerability assessment tools) for Web applications. Which is your favorite security testing tool? Tell us in the comments. If you feel I forgot to mention any of your favorite tools, let us know in the comments below. We will try to include it in our list and update this post.