Reading view

There are new articles available, click to refresh the page.

Bug Bounty: Get Started with httpx

Welcome back, aspiring cyberwarriors!

Before we can exploit a target, we need to understand its attack surface completely. This means identifying web servers, discovering hidden endpoints, analyzing response headers, and mapping out the entire web infrastructure. Traditional tools like curl and wget are useful, but they’re slow and cumbersome when you’re dealing with hundreds or thousands of targets. You need something faster and more flexible.

Httpx is a fast and multi-purpose HTTP toolkit developed by ProjectDiscovery that allows running multiple probes using a simple command-line interface. It supports HTTP/1.1, HTTP/2, and can probe for various web technologies, response codes, title extraction, and much more.

In this article, we will explore how to install httpx, how to use it, and how to extract detailed information about a target. We will also cover advanced filtering techniques and discuss how to use this tool effectively. Let’s get rolling!

Step #1 Install Go Programming Language

Httpx is written in Go, so we need to have the Go programming language installed on our system.

To install Go on Kali Linux, use the following command:

kali > sudo apt install golang-go

Once the installation completes, verify it worked by checking the version:

kali > go version

Step #2 Install httpx Using Go

To install httpx, enter the following command:

kali > go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

The “-v” flag enables verbose output so you can see what’s happening during the installation. The “@latest” tag ensures you’re getting the most recent stable version of httpx. This command will download the source code, compile it, and install the binary in your Go bin directory.

To make sure httpx is accessible from anywhere in your terminal, you need to add the Go bin directory to your PATH if it’s not already there. Check if it’s in your PATH by typing:

kali > echo $PATH

If you don’t see something like “/home/kali/go/bin” in the output, you’ll need to add it. Open your .bashrc or .zshrc file (depending on which shell you use) and add this line:

export PATH=$PATH:~/go/bin

Then reload your shell configuration:

kali > source ~/.bashrc

Now verify that httpx is installed correctly by checking its version:

kali > httpx -version

Step #3 Basic httpx Usage and Probing

Let’s start with some basic httpx usage to understand how the tool works. Httpx is designed to take a list of hosts and probe them to determine if they’re running web servers and extract information about them.

The simplest way to use httpx is to provide a single target directly on the command line. Let’s probe a single domain:

kali> httpx -u “example.com” -probe

This command initiates an HTTP probe on the website. This is useful for quickly checking the availability of the web page.

Now let’s try probing multiple targets at once. Create a file with several domains you want to probe.

Now run httpx against this file:

kali > httpx -l hosts.txt -probe

Step #4 Extracting Detailed Information

One of httpx’s most powerful features is its ability to extract detailed information about web servers in a single pass.

Let’s quickly identify what web server is hosting each target:

kali > httpx -l hosts.txt -server

Now let’s extract even more information using multiple flags:

kali> httpx -l hosts.txt -title -tech-detect -status-code -content-length -response-time

This command will extract the page title, detect web technologies, show the HTTP status code, display the content length, and measure the response time.

The “-tech-detect” flag is particularly valuable because it uses Wappalyzer fingerprints to identify the technologies running on each web server. This can reveal content management systems, web frameworks, and other technologies that might have known vulnerabilities.

Step #5 Advanced Filtering and Matchers

Filters in httpx allow you to exclude unwanted responses based on specific criteria, such as HTTP status codes or text content.

Let’s say you don’t want to see targets that return a 301 status code. For this purpose, the -filter-code or -fc flag exists. To see the results clearly, I’ve added the -status-code or -sc flag as well:

kali > httpx -l hosts.txt -sc -fc 301

Httpx outputs filtered results without status code 301. Besides that, you can filter “dead” or default/error responses with -filter-error-page or -fep flag.

kali> httpx -l hosts.txt -sc -fep

This flag enables “filter response with ML-based error page detection”. In other words, when you use -fep, httpx tries to detect and filter out responses that look like generic or error pages.

In addition to filters, httpx has matchers. While filters exclude unwanted responses, matchers include only the responses that meet specific criteria. Think of filters as removing noise, and matchers as focusing on exactly what you’re looking for.

For example, let’s output only responses with 200 status code using the -match-code or -mc flag:

kali> httpx -l hosts.txt -status-code -match-code 200

For more advanced filtering, you can use regex patterns to match specific content in the response (-match-regex or -mr flag):

kali> httpx -l hosts.txt -match-regex “admin|login|dashboard”

This will only show targets whose response body contains the words “admin,” “login,” or “dashboard,” helping you quickly identify administrative interfaces or login pages.

Step #6 Probing for Specific Vulnerabilities and Misconfigurations

Httpx can be used to quickly identify common vulnerabilities and misconfigurations across large numbers of targets. While it’s not a full vulnerability scanner, it can detect certain issues that indicate potential security problems.

For example, let’s probe for specific paths that might indicate vulnerabilities or interesting endpoints:

kali > httpx -l targets.txt -path “/admin,/login,/.git,/backup,/.env”

The -path flag, as the name suggests, tells httpx to probe specific paths on each target.

Another useful technique is probing for different HTTP methods:

kali > httpx -l targets.txt -sc -method -x all

In the command above, the -method flag is used to display HTTP request method, and -x all to probe all of these methods.

Summary

Traditional HTTP probing tools are too slow and limited for the kind of large-scale reconnaissance that modern bug bounty and pentesting demands. Httpx provides a fast, flexible, and powerful solution that’s specifically designed for security researchers who need to quickly analyze hundreds or thousands of web targets while extracting comprehensive information about each one.

In this article, we covered how to install httpx, basic and advanced usage examples as well as shared ideas on how httpx might be used for vulnerability detections. This tool really fast and can significantly boost your productivity whether you’re conducting bug bounty hunting or web app security testing. Check this out, maybe it will find a place in your cyberwarriors toolbox.

How To Get Started In Bug Bounty as a Beginner

By: Basudev

In this article, let us discuss what Bug Bounty is and how to get started with Bug Bounty as a complete beginner. This article will  guide you on where to start, how to learn and how to earn

bug bounty hunting for beginners


I have been a bug bounty hunter for a while. Of course, I  got some certifications for reporting critical bugs to companies and some bounties, too; I will share my journey, how I got into bug bounty, where I started, and some valuable tips and resources you can learn effectively.


Table of Contents

What is Bug Bounty

Bug Bounty is a process where companies invite hackers and offer bounties for finding vulnerabilities in their Software/Applications, which can be any type of Application, not just limited to Web, Mobile, or Desktop.  

What is a Bug Bounty Program 


Suppose a company invites Hackers and security Researchers to test their applications for bugs/vulnerabilities. In that case, you can consider that company as a program, but remember there are many types of programs, such as VDP and reward-based programs.

VDP

A vulnerability Disclosure Program (VDP) is a procedure that Companies and Organisations have set. They Invite security researchers to test their applications, some programs reward bounties for the findings, and some offer Hall of Fame or certifications.

Reward Based Programs

In reward-based programs, Companies define the reward for each vulnerability and pay according to the impact of the vulnerability, By testing these reward-based programs, you can showcase your findings and get paid for it

How to get started in bug bounty 


A bug bounty is not something that you can join a program, test for vulnerabilities, and get paid too quickly. When I was a beginner, I too thought it too easy to join a program and browse the target application to find vulnerabilities and report, 

I used to do the same with all programs and ended with no bugs found. I thought that the applications were highly secure, and it was challenging to find the actual bugs, 

But wait, bug bounty is an art that can be mastered, 

As a beginner, I needed to figure out Where to start bug bounty.  I used to watch some YouTube videos and well-known vulnerabilities and tried to find the same vulnerabilities with every program but found nothing.

I want you to avoid making the same mistake. Here, you can follow the process carefully.

Learn the Basics of How the  Internet Works

If you are a beginner, first learn how the Internet works and the protocols, IPs, ports, etc.

Here is a comprehensive article on how the Internet works and How the web works by Mozilla

Since I had a Computer Science background, I skipped When I started my bug bounty journey. I didn't need to know How the web or the Internet works.

Start With the web first.

I suggest you to start. With web application pentesting, you need to know how the websites function and the technologies behind each web application; again, you need not be an expert at the beginning.
Or you can even start with Android app pentesting it involves some API pentesting part, still, you should have web app pen testing knowledge.

Learn the basics of web development.

You don't have to be an expert, but to learn how web applications work, it's optional. But Having a basic knowledge of HTML, Javascript, and PHP will give you an overview of how the Frontend and Backend stuff works again. There are many frameworks that developers often use to create websites, so you need not worry at the beginning.

Where to Start


Before you begin, you have to master web application pentesting first. When I was starting, there were not enough resources to learn now. There were no limitations on free resources.

Here are a few things to remember: Make sure you have a Linux distro installed on your system, like Kali Linux or Parrot Os, because these distros come with many tools and easy to install many other bug bounty tools


Practice Vulnerable web application exploitation.

I highly recommend you use DVWA, BWAPP. Vulnerable web applications to learn web application penetration testing: These can be installed on your local machine, and you can practice on it

Here are a few online resources you can utilize to enhance your web application security skills. I highly recommend you try the Portswigger Academy labs, which will take you from zero to an expert level.

Resources




What's Next


There is no end to Cyber Security. After learning and completing all the labs, you should be ready to test for real-world web applications. You can join bug bounty hunting platforms and start your journey there, or you can manually search for the websites that offer bounties for finding vulnerabilities in their web applications.

I have personally Joined the following Platforms. You can find a lot of programs to test on.

How to use sqlmap in termux

By: Basudev

Hello there, In this tutorial, we will be discussing how to install and use Sqlmap in termux

What is Sqlmap?

Sqlmap is an automatic SQL Injection scanner and exploitation tool written in Python. We use this tool to detect SQL injection vulnerabilities in websites and exploit

sqlmap in termux


how to use sqlmap in termux


Follow the below steps to use sqlmap in Termux.

After Installing Termux, You have to install the following packages, so type the commands in termux

apt update


then 

apt upgrade 

then 

pkg install python 

then 

pkg install git 


Now type the below command.



git clone https://github.com/sqlmapproject/sqlmap.git

After that, now type the below commands to use sqlmap

cd sqlmap
then

python sqlmap.py


sqlmap




to test your own website



python sqlmap.py -u "htttp://127.0.0.1/page.php?id=1" --batch


Disclaimer 

This tutorial is only for educational purposes. We are not responsible for any misuse

Bug Bounty Tools that I use as a Bug Bounty Hunter

By: Basudev

In this article, I will share the best bug bounty tools I personally use as a Bug bounty hunter.

Of course, hundreds of tools exist for Professional pentesting or Bug bounty. Maybe you might be familiar with the tools,

as Bug bounty hunters, we are always curious to test new tools that save our maximum time and give the best results

Best bug bounty tools

bug bounty

Here is the list of my favourite bug bounty tools that Include from recon to exploitation

Subdomain Enumeration

For Subdomain enumeration, I use SubEnum




This tool is a combination of many other subdomain enumeration tools. You can either install other tools manually or install the necessary tools using the setup script
The main advantage of this tool is it can go through parallel and grabs all the subdomains in a txt file, 

Available Tools and online services:

Tools:

Findomain
SubFinder
Amass
AssetFinder
Httprobe: To Probe For Working HTTP and HTTPS Subdomains.
anew: To delete duplicates when using -s/--silent option.

online services:
WayBackMachine
crt.sh
BufferOver

Httpx for checking live domains

After enumerating the sub-domains, I always used to check the status of the subdomains, filter out the live domains, and remove the unnecessary or bogus domains.

For that, I use httpx, a tool by Project Discovery. 




This tool can filter out the live domains in a faster way. It can get the page title and detect the technology used by the domain.

Browser Extensions

Here are the browser extensions that I use while doing recon

Wappalyzer

Wappalyzer is a free browser extension that Fingerprints the Technologies the target website uses.

WhatRuns

WhatRuns is similar to Wappalyzer. This extension is recommended by Jason Haddix on his Bug Bounty methodology. Since then, it was a must-use tool for me.

Shodan

Shodan is a search engine for Hackers. They also offer a Browser extension that can detect the target's Open ports on the browser, giving us a clear insight into what services the target runs.

Cookie Editor

The cookie editor plugin will be helpful when testing the target with multiple logins and cookie-based attacks.

Radom user agent

I often use this extension to test how the website responds on different devices and bypass some restrictions.

Web Proxies

Burp suite

Burp suite is becoming a must-use tool for hackers. I always use this tool to intercept the request response of the target.

Port Scanning

Nmap

Nmap is a powerful port scanner. Who else will keep it aside, 

Naabu

Naabu is a port scanning tool developed by project discovery. It can detect open ports from a list of URLs

Smap

Smap is another fast port scanner developed by Somedev. It does not make any contact with the target and is based on shodan.

Shodan

I use shodan. It will be helpful when scanning is not allowed by the Program.

Automated Tools

Nuclei

Nuclei is an automatic vulnerability detection tool developed by Project Discovery. It can go through the templates and check if the target is vulnerable to any vulnerabilities. 

Sqlmap

Who will forget Sqlmap? We all started with it. Sqlmap is an automatic SQL injection detection and exploitation tool written in Python.

Wpscan


Wpscan is an automatic WordPress vulnerability scanner. It can detect the latest vulnerabilities in WordPress websites.

Fuzzers

As a web application pentester, it's essential to fuzz the hidden directories of the target. Here are my favourite fuzzers

Dirsearch

Dirsearch is a web directory brute-forcer written in Python. You can find the go version also.

In this tool, you can use the default wordlist, or give the path of the wordlists.

ffuf

ffuf is my second best directory fuzzer. It is a little bit faster. You can customize the requests according to your need.

Dirbuster

it is a GUI-based Directory brute forcing tool. The main advantage of this tool is you can customize the settings as per your needs and prevent your IP from being banned by the Web application firewall.


WAF Detection

Most of the targets are protected by some kind of  Web application firewalls. We have to detect the WAF and bypass it for maximum impact, 

Here are the tools I use for WAF detection

wafw00f

This tool can detect almost all web application firewalls.

WhatWaf

This is an advanced Waf Detection Tool.

Others

This section contains some uncategorized tools, wordlist etc.

Wordlists I often use

  • PayloadAllTheThings
  • SecLists

Conclusion:

This Article will be updated again, I use even more tools that I did not mentioned here, I hope these tools will give you the best results, making your bug bounty journey much easier

Exploiting SQL Injection at Authorization token

By: Basudev
sql injection

Today In this post, I will be sharing a unique writeup on SQL injection with Authorization Headers token.

A little bit intro to Authorization Tokens,

=> An Authorization token is generated and signed by the servers and is used to verify the users by unique tokens. 

=> After the successful login, the server sends an authorization token, and web developers often store it in the browser's local storage or session storage. 

=> Modern Websites use JWT(JSON Web Tokens) for User Authorization. It doesn't mean that each Authorization token is JWT. It depends on the backend and the Framework that the website uses,

Without wasting time, let's jump into the story

I am not a regular Bug Bounty hunter. You can say I am a seasonal Bug bounty hunter. I was bored and tried to search for some private bug bounty programs through google dorks, And Randomly selected a program for hunting. I did not do basic recon like Subdomain enumeration or any Dorking as I started with the main target.

For me, it was a typical day. I just fired up the Burp suite and opened the target site. as per the company policy, I am unwilling to reveal the target.

With the help of the Wappalyzer Plugin, I have noticed that the target runs on PHP. For me, PHP is vulnerable by nature. As a Web developer, I have plenty of experience building websites in PHP and fixing vulnerabilities.

While attacking targets, I have a practice of directory brute-forcing and checking the robots.txt file at the initial stage of my recon process.

I used Dirsearch to find the hidden directories, but no luck. I did not get anything fishy other than the admin page.

I tried Opening the admin page by visiting target/admin/

But No Luck it throws an error 403 Forbidden

admin page

I did not give up too quickly, again tried to Fuzz inside the admin page using Dirsearch. This time events page got 200 responses.

Without any delay, I have opened the page target/admin/events/ 

I have noticed that the page is a regular login page, where it has two ways to log in, one for the author and another for the super admin

Exploitation Starts here

As I said, there are two links for login pages, One for author and another for admin, I have choose the first one, and It redirected me to target/admin/events/?classic_login=true

login page



and it pops up for username and password, I have started giving wrong credentials and observed the response from the server, and after playing for a while, I have supplied the username and password as 1'

Luckily it displayed the SQL error.

sqli error



I tried to reproduce it, but it doesn't work, and the login popup is wholly gone. Even after refreshing the page, the error message is displayed there, as I thought it might be some backend error.

I have gone to the burp proxy history and noticed no regular POST form data sent or JSON data.

I was gone blank for a while and later opened the link in Incognito mode, and the popup appeared for login. Again observed the request and response.

Found Nothing :P

Later, I noticed a Header Value Authorization with a token.

Authorization Token



As a web developer, I know How the Authorization tokens work, and I Have good Knowledge of PHP, MERN stack and a bit of Django Framework. I can easily guess the  tokenization developers use

The Header Looks as follows.

Authorization: Basic Base64Values

You might often see this Header in Modern Web applications. 

Authorization: Bearer <TOKEN>

Pro Tip: On the backend side, in most cases, the Bearer is ignored, and developers match the token with the issued token. If that was a JWT, then developers often decode it instead of verifying that's where Improper Access Control, Account takeover occurs.

Let's continue the story

I have sent the request to the repeater, selected the Token and decoded it using the Burp decoder, as I guessed the encryption type by its length and nature. It was not a JWT, but the base64 value of 1':1'

I quickly remembered the Sqlmap tool, captured the entire request, and saved it to a text file.
.
And tried to run sqlmap, but the problem occurs at base64 encoding. Though sqlmap supports base64 encode, the scenario is there was a colon : between the values.

as the application behaves as follows

It takes the username and passwords and encodes the values with base64 with the separation of :

eg: username:password

base64 <username>:<password>

Though I was good at manual SQL injection exploitation, there was a live mode of base64 encoding and applying the payload in the repeater. For that, I tried to find the Number of columns for the target.

and supplied the payload for username and password as: 1' Order By 1-- -:1' Order By 1-- -

The Authorization payload is as follows.

Authorization: Basic MScgT3JkZXIgQnkgMS0tIC06MScgT3JkZXIgQnkgMS0tIC0=

base64 encoded and sent, no SQL error and a regular unauthorized error was displayed

tried to increment those columns, but error throws. I came to know that there was only one column and tried injecting the union statements.

While injecting the payload:  1' Union Select 1-- -:1' Union Select 1-- -

Authorization: Basic MScgVW5pb24gU2VsZWN0IDEtLSAtOjEnIFVuaW9uIFNlbGVjdCAxLS0gLQ==

I was successfully logged in to the admin panel and able to modify the content
.
poc admin panel access


Sorry I have to blur some info,

here is the POC without blur

poc

I hope you guys liked this write up, follow us for more such unique writeups

❌