
How to Perform a Web Application Pentest with Burp Suite and Katana
Introduction
Web application pentesting is a crucial aspect of cybersecurity, and using specialized tools like Burp Suite and Katana allows security professionals to identify vulnerabilities efficiently. This advanced guide will explore how to integrate these tools into a pentesting workflow to evaluate the security of a web application.In this article, we will cover:




1. Setting Up the Testing Environment
Before performing a pentest, we need a controlled environment to conduct security tests legally and safely.Requirements
- Operating System: Kali Linux or Ubuntu with required tools installed.
- Tools:
- Burp Suite (Community or Professional version)
- Katana (ProjectDiscovery)
- OWASP Juice Shop (a deliberately vulnerable web application)
- Browser: Firefox with FoxyProxy extension for traffic interception.
Installing Katana
To install Katana, execute the following commands in Kali Linux:
Bash:
git clone https://github.com/projectdiscovery/katana.git cd katanago build .sudo mv katana /usr/local/bin/
Verify the installation with:
Bash:
katana -h
Setting Up OWASP Juice Shop
Bash:
docker run -d -p 3000:3000 bkimminich/juice-shop
This will start a vulnerable web application at
This link is hidden for visitors. Please Log in or register now.
2. Discovering Hidden Routes with Katana
The first step in a pentest is to map the attack surface. Katana helps us find hidden routes and exposed API endpoints.Run the following command:
Bash:
katana -u http://localhost:3000 -d 3 -o juice_routes.txt
Explanation of parameters:
- -u: Target URL.
- -d 3: Scan depth (adjustable).
- -o: Saves results to a file.
Bash:
cat juice_routes.txt
If we find sensitive endpoints like /admin or /api/secret, we can investigate them further using Burp Suite.
3. Configuring Burp Suite for Traffic Interception
Setting Up the Proxy
- Open Burp Suite and go to Proxy > Options.
- Ensure the proxy is active on 127.0.0.1:8080.
- Configure FoxyProxy in the browser to forward traffic through Burp Suite.
Intercepting Requests and Modifying Parameters
Access Juice Shop and browse different pages. In Burp Suite > Target > Site Map, look for interesting endpoints.Example of a login request interception:
HTTP:
POST /api/login HTTP/1.1Host: localhost:3000Content-Type: application/json
{"email":"[email protected]","password":"password123"}
Now, let's modify the parameters to perform SQL injection:
HTTP:
{"email":"admin' OR 1=1--","password":"password123"}
If access is granted without the correct password, we have found a SQL injection vulnerability.
4. Exploring and Exploiting Vulnerabilities
Fuzzing with Burp Intruder
Automate attacks using Burp Intruder:- Capture a request with parameters in Burp Proxy.
- Send it to Intruder.
- Select a parameter to attack (e.g., email).
- Load a wordlist (/usr/share/wordlists/rockyou.txt).
- Run the attack and analyze HTTP responses.
Example of an XSS Exploit
If a web form does not properly validate input, we can inject a Cross-Site Scripting (XSS) payload:
HTML:
<script>alert('XSS!')</script>
If this script executes in the browser, the application is vulnerable to XSS.
5. Reporting and Mitigating Vulnerabilities
After identifying security flaws, we must create a detailed security report.Example: SQL Injection Vulnerability Report
Title: SQL Injection in /api/login endpointSeverity: High
Impact: Allows authentication bypass and access to sensitive data.
Steps to reproduce:
- Send the following payload in the login request:
HTTP:{"email":"admin' OR 1=1--","password":"password"}
- User logs in without providing a valid password.
- Use parameterized queries to prevent SQL injection.
- Implement input validation and Web Application Firewall (WAF).
6. Conclusion
In this advanced pentesting guide, we have successfully integrated Katana and Burp Suite into an ethical hacking workflow:



Next Steps:
- Learn WAF bypass techniques.
- Automate scans with Burp Suite Extensions.
- Conduct a real-world pentest with proper authorization.
