Bug Bounty Tip: Don’t Ignore the “Boring” Features

Listen to this Post

A while back, I was testing a website built with a modern framework. Nothing immediately screamed “this is vulnerable.” One of its features allowed users to ask questions via video chat. So, I posed as a potential client and had a nice conversation. The video chat itself seemed solid, with no obvious security issues.

Then, I received a post-call survey email with a link to complete it. The URL had an ID parameter, and the application didn’t seem to use the same framework as the main website. I changed the ID in the URL and accessed survey responses from other clients. The page source also contained hidden fields with additional sensitive client data.

Lesson: Test EVERYTHING—video calls, surveys, email notifications, etc.

Pro Tip: If an app asks for your email, use one you actively monitor. Your next bounty could be just one email away.

You Should Know:

Here are some practical commands and tools to help you test for vulnerabilities like the one described:

1. URL Parameter Manipulation:

  • Use `curl` to test URL parameters:
    curl -I "https://example.com/survey?id=123"
    
  • Check for IDOR (Insecure Direct Object Reference) vulnerabilities by altering the `id` parameter.

2. View Page Source:

  • Right-click on a webpage and select “View Page Source” or use `Ctrl+U` (Windows/Linux) or `Cmd+Option+U` (Mac) to inspect hidden fields or sensitive data.

3. Burp Suite:

  • Use Burp Suite to intercept and manipulate HTTP requests.
  • Install Burp Suite and configure your browser proxy to 127.0.0.1:8080.

4. Automated Scanning with Nikto:

  • Scan for vulnerabilities in web applications:
    nikto -h https://example.com
    

5. Linux Command to Monitor Emails:

  • Use `mail` or `mutt` to monitor emails on a Linux server:
    mail
    

6. Windows Command to Check Network Connections:

  • Use `netstat` to monitor active connections:
    netstat -an
    

7. Python Script to Test IDOR: