Testing Your Site Security

blur-computer-connection-electronics-442150

Testing your website for malicious activities is a necessary part of running an online operation. Your customer data is extremely valuable. It’s not just credit card numbers that hackers are searching for, there are other reasons hackers might target your site – such as buyer and seller lists, company communications, customer exposure and even just to prove your site can be hacked. A breach could cost you more than money – it could cost you your business and your reputation.

Security testing tools that identify and measure the extent of security issues with your web application(s) are readily available, and many at no cost. The primary function of security testing is to perform functional testing of a web application under observation and find as many security issues as possible that could potentially lead to hacking. All of this is done without the need to access the source code.

Security Testing

Successful security testing protects web applications against severe malware and other malicious threats that might lead it to crash or malfunction.

Security testing helps detect loopholes and flaws of a web application in the initial stage and whether an application has successfully encoded security code or not. Primary areas covered by security testing are:

  • Authentication
  • Authorization
  • Availability
  • Confidentiality
  • Integrity
  • Non-repudiation

Security testing is used to ensure web applications and information systems remain secure. Such testing also helps to:

  • To help improve the security and shelf-life of a product
  • To identify and fix various security issues in the initial stage of development
  • To rate site stability in its present state

Security testing is also important for the prevention of unexpected malfunctions in the future. Some of the most important reasons are:

  • Avert inconsistent performance
  • Avoid losing customer trust
  • Avoid losing important information in the form of security leaks
  • Prevent information theft by unidentified users
  • Save from unexpected breakdown
  • Save additional costs required for fixing security issues

Open source tools are available to check the vulnerabilities and flaws in your web applications and they can be customized to match your specific requirements.

Top 10 Open Source Security Testing Tools

1. Grabber

Designed to scan small web applications, including forums and personal websites. The lightweight security testing tool has no GUI interface and is written in Python. Vulnerabilities uncovered by Grabber includes:

  • Backup files verification
  • Cross-site scripting
  • File inclusion
  • Simple AJAX verification
  • SQL injection

Key highlights:

  • Generates a stats analysis file
  • Simple and portable
  • Supports JS code analysis

2. Iron Wasp

An open-source, powerful scanning tool, Iron Wasp is able to uncover over 25 types of web application vulnerabilities. It can also detect false positives and false negatives. Iron Wasp assists in exposing a wide variety of vulnerabilities, including:

  • Broken authentication
  • Cross-site scripting
  • CSRF
  • Hidden parameters
  • Privilege escalation

Key highlights:

  • Extensible via plugins or modules are written in C#, Python, Ruby, or VB.NET
  • GUI-based
  • Report generation in HTML and RTF formats

3. SQLMap

Automating the process of detecting and utilizing SQL injection vulnerability in a website’s database, SQLMap is entirely free to use. The security testing tool comes with a powerful testing engine, capable of supporting 6 types of SQL injection techniques:

  • Boolean-based blind
  • Error-based
  • Out-of-band
  • Stacked queries
  • Time-based blind
  • UNION query

Key highlights:

  • Automates the process of finding SQL injection vulnerabilities
  • Can also be used for security testing a website
  • Robust detection engine
  • Supports a range of databases, including MySQL, Oracle, and PostgreSQL

4. Nogotofail

A network traffic security testing tool from Google, Nogotofail is a lightweight application that is able to detect TLS/SSL vulnerabilities and misconfigurations. Vulnerabilities exposed by Nogotofail are:

  • MiTM attacks
  • SSL certificate verification issues
  • SSL injection
  • TLS injection

Key highlights:

  • Easy to use
  • Lightweight
  • Readily deployable
  • Supports setting up as a router, proxy or VPN server

5. Arachni

This open-source security testing tool is capable of uncovering a number of vulnerabilities, including:

  • Invalidated redirect
  • Local and remote file inclusion
  • SQL injection
  • XSS injection

Key highlights:

  • Instantly deployable
  • Modular, high-performance Ruby framework
  • Multi-platform support

6. SonarQube

In addition to exposing vulnerabilities, it is used to measure the source code quality of a web application. Despite being written in Java, SonarQube is able to carry out analysis of over 20 programming languages. Furthermore, it gets easily integrated with continuous integration tools to the likes of Jenkins. For advanced users, access via command prompt is available. An interactive GUI is in place for those relatively new to testing. Some of the vulnerabilities exposed by SonarQube include:

  • Cross-site scripting
  • Denial of Service (DoS) attacks
  • HTTP response splitting
  • Memory corruption
  • SQL injection

Key highlights:

  • Detects tricky issues
  • DevOps integration
  • Set up an analysis of pull requests
  • Supports quality tracking of both short-lived and long-lived code branches
  • Offers Quality Gate
  • Visualize history of a project

7. W3af

One of the most popular web application security testing frameworks that are also developed using Python is W3af. The tool allows testers to find over 200 types of security issues in web applications, including:

  • Blind SQL injection
  • Buffer overflow
  • Cross-site scripting
  • CSRF
  • Insecure DAV configurations

Key highlights:

  • Authentication support
  • Easy to get started with
  • Offers intuitive GUI interface
  • Output can be logged into a console, a file or email

8. Zed Attack Proxy (ZAP)

Developed by OWASP (Open Web Application Security Project), ZAP or Zed Attack Proxy is a multi-platform, open-source web application security testing tool. ZAP is used for finding a number of security vulnerabilities in a web app during the development as well as a testing phase. ZAP can be used to intercept a proxy for manually testing a web page. ZAP exposes:

  • Application error disclosure
  • Cookie not HttpOnly flag
  • Missing anti-CSRF tokens and security headers
  • Private IP disclosure
  • Session ID in URL rewrite
  • SQL injection
  • XSS injection

Key highlights:

  • Automatic scanning
  • Easy to use
  • Multi-platform
  • Rest-based API
  • Support for authentication
  • Uses traditional and powerful AJAX spiders

9. Wapiti

One of the leading web application security testing tools, Wapiti is a free, open-source project from SourceForge and develop. Wapiti is easy to use for the seasoned but testing for newcomers. Vulnerabilities exposed by Wapiti are:

  • Command Execution detection
  • CRLF injection
  • Database injection
  • File disclosure
  • Shellshock or Bash bug
  • SSRF (Server Side Request Forgery)
  • Weak .htaccess configurations that can be bypassed
  • XSS injection
  • XXE injection

Key highlights:

  • Allows authentication via different methods, including Kerberos and NTLM
  • Comes with a buster module, allowing brute force directories and files names on the targeted web server
  • Operates like a fuzzer
  • Supports both GET and POSTHTTP methods for attacks

10. Wfuzz

Developed in Python, Wfuzz is popularly used for brute-forcing web applications. The open-source security testing tool has no GUI interface and is usable only via command line. Vulnerabilities exposed by Wfuzz are:

  • LDAP injection
  • SQL injection
  • XSS injection

Key highlights:

  • Authentication support
  • Cookies fuzzing
  • Multi-threading
  • Multiple injection points
  • Support for proxy and SOCK

 

Share this post