Web Enumeration
Recon, fuzzing and crawling
Recon
Also check for other exposed ports. Ex: 22, look for regsshion, etc. See Protocols
nmap -p 80,443,8000,8080,8180,8888,1000 --open -oA web_discovery -iL scope_listLeverage Shodan and find CVE
EyeWitness or Aquatone - See Information Gathering
Fingerprinting / CrawlingSSL / TLS
HTTP/2 - DoS
Basic vulnerability scanning to see if web servers may be vulnerable to CVE-2023-44487
HTTP Downgrading
HTTP downgrading is the process of forcing a request to be processed under HTTP/1.1 instead of HTTP/2.
Open Burp Suite and Navigate to Proxy → HTTP History
Locate the request that is currently using HTTP/2.
Send the Request to Repeater
In the Repeater tab, open the "Inspector" panel → Request Attributes → Protocol
Change HTTP Version to HTTP/1.1
Click "Send" in Repeater.
If successful, you should receive a valid response, confirming the server accepts HTTP/1.1.
Now, test for request smuggling
HTTP Request SmugglingHTTP Methods
HTTP Verb TamperingApache Vulnerability Testing
CVE-2021-41773 (RCE and LFI)
CVE-2021-42013 (RCE and LFI)
Scan for credz
Header Exploit
Common files
robots.txt
-> robofinder: search for and retrieve historical robots.txt files from Archive.org for any given website.
.git
.svn
.DS_Store
.env

Cloudflare
Real IP adress
Tool developed to discover the real IP addresses of web applications protected by Cloudflare. It performs multi-source intelligence gathering through various methods.
Internal IP leakage
/cdn-cgi/trace on live hosts — it leaks internal IPs
sitemap.xml
Time based SQL injection: sleep payload [1;SELECT IF((8303>8302),SLEEP(9),2356)#] = 9s
Misconfigurations on popular third-party services

Git Exposed
DotGit Extension - Firefox and Chrome https://addons.mozilla.org/en-US/firefox/addon/dotgit/
Nuclei Template: https://github.com/coffinxp/priv8-Nuclei/blob/main/git-exposed.yaml
.git found => download the target .git folder
Or with tools:
After that, search for creds, vulnerabilities, etc:
Credentials in git reposGitHub - finding vulnerabilitiesSVN Expoxed
PHPMyAdmin
target[.]com/phpmyadmin/setup/index.php ==> 301 to login page
target[.]com/phpMyAdmin/setup/index.php ==> 200 to phpmyadmin setup
AdminDirectoryFinder
WSAAR
OWASP Noir
URLScan.io
Check URLScan as a complement to Wayback Machine
Information GatheringPostman

Domain name -> Workspace type Public
WaybackLister
Reconnaissance tool that taps into the Wayback Machine to fetch historical URLs for a domain, parses unique paths, and checks if any of those paths currently expose directory listings
Wayback Machine
Information GatheringDownload pages and extract JS (mode R)
JWTxplorer
Scan public archives like the Wayback Machine, extracts leaked JWT tokens, and decodes them to identify potentially exploitable information.
Backup Files
Fuzzili
Burp Extension
Archived Backups
Look for metadata
Extract URLs and paths from web pages
Manually
Open Console (ctrl + shift + i) + Allow pasting ("autoriser le collage") + copy paste JS code + click on bookmark


Source: NahamCon2024: .js Files Are Your Friends | @zseano https://www.youtube.com/watch?v=fQoxjBwQZUA
Extensions to run Javascript - No need to use the console
Code to get URLs and unhide elements - Credits: @coffinxp
Carridi
Gourlex
xnLinkFinder
Command breakdown:
Hakrawler
Waybackurls
Katana & Urlfinder
GetAllURL - gau
LinkFinder
GoLinkFinder
Faster than LinkFinder
LazyEgg
ReconSpider
BadSecrets - Cookies
ASPNET_Viewstate
Checks the viewstate/generator against a list of known machine keys.
Telerik_HashKey
Checks patched (2017+) versions of Telerik UI for a known Telerik.Upload.ConfigurationHashKey
Telerik_EncryptionKey
Checks patched (2017+) versions of Telerik UI for a known Telerik.Web.UI.DialogParametersEncryptionKey
Flask_SignedCookies
Checks for weak Flask cookie signing password. Wrapper for flask-unsign
Peoplesoft_PSToken
Can check a peoplesoft PS_TOKEN for a bad/weak signing password
Django_SignedCookies
Checks django's session cookies (when in signed_cookie mode) for known django secret_key
Rails_SecretKeyBase
Checks Ruby on Rails signed or encrypted session cookies (from multiple major releases) for known secret_key_base
Generic_JWT
Checks JWTs for known HMAC secrets or RSA private keys
Jsf_viewstate
Checks Both Mojarra and Myfaces implimentations of Java Server Faces (JSF) for use of known or weak secret keys
Symfony_SignedURL
Checks symfony "_fragment" urls for known HMAC key. Operates on Full URL, including hash
Express_SignedCookies_ES
Checks express.js express-session middleware for signed cookies and session cookies for known 'session secret'
Express_SignedCookies_CS
Checks express.js cookie-session middleware for signed cookies and session cookies for known secret
Laravel_SignedCookies
Checks 'laravel_session' cookies for known laravel 'APP_KEY'
ASPNET_Vstate
Checks for a once popular custom compressed Viewstate code snippet vulnerable to RCE
Rack2_SignedCookies
Checks Rack 2.x signed cookies for known secret keys
Yii2_SignedCookies
Checks Yii2 framework signed cookies for known cookie validation keys
Secrets in Response
Detects sensitive information leaks in HTTP responses using custom regex-based signatures
Metadata
Metadata and Hidden infosJS Files
Sensitive JS Files
Burp

Source: NahamCon2024: .js Files Are Your Friends | @zseano https://www.youtube.com/watch?v=fQoxjBwQZUA


Detect secrets
Burp Extension
Code Analysis
Code Analysis
JSFScan.sh
Morgan
Identify sensitive information, vulnerabilities, and potential risks within JavaScript files on websites
Gouge - Burp extension to extract URLs which are seen in JS files
GetJS
JSHunter
Endpoint Extraction and Sensitive Data Detection
Javascript Deobfuscator
Online
API Endpoint - Burp History

API Endpoint in JS File
JSNinja
JS Link Finder
Jsluice
APISensitive data in JS Files
Top 25 JavaScript path files used to store sensitive information

JS Miner - Burp Extension
X-Keys - Burp Extension
jsluice++ - Burp Extension

SecretFinder
Mantra
Testing API Key
Google Maps API Key
Algolia API Key
Tool
Manual Testing
Check ACL:
The most damaging permissions are
addObject: Allows adding/updating an object in the index. (Copying/moving indices are also allowed with this permission.)
deleteObject: Allows deleting an existing object.
deleteIndex: Allows deleting an index (will break search completely)
editSettings: Allows changing index settings. - this also allows you to run javascript when the search is used.
listIndexes: Allows listing all accessible indices.
logs: this will allow you to view the search logs, which can include IP Addresses and sensitive cookies.
Abuse editSettings to put an XSS paylaod:
List indexes
Retrieve/read the data of a resource from the server:
settings
Specific index
Update a resource on the server.
Delete Index - DON'T DO THIS ON PRODUCTION ENVIRONMENT
Hidden Parameter
This useful option in Burp Suite makes every hidden input field (often with a reference to a hidden parameter) visible
Proxy Settings >>> Response modification rules >>> Unhide hidden form fields

Parameters fuzzing
Burp - Param Miner
right-click, extension>Param Miner> Guess params> Guess GET parameters.



Burp - GAP
GetAllParams
x8
Hidden parameters discovery
Arjun
If you’ve been proxying traffic with Burp Suite, you can select all URLs within the sitemap, use the Copy Selected URLs option, and paste that list to a text file. Then run Arjun against all Burp Suite targets simultaneously, like this:
Parmahunter
Wordlists
Try /usr/share/wordlists/seclists/Discovery/Web-Content/quickhits.txt first, then https://github.com/Karanxa/Bug-Bounty-Wordlists/blob/main/fuzz.txt
dirb lists
Common extensions:
raft-[ small | medium | large ]-extensions.txtfrom SecList Web-ContentCreate wordlist - CeWL
Fuzz using different HTTP methods
Admin interfaces
Backups
Config files
SQL files
Vulnerability Assessment
Vulnerability ScannersPort ScanLostfuzzer
Admin interface
Password listsCMS
CMSCrawling
Crawl with 2 separate user-agent
Always crawl with 2 separate user-agent headers, one for desktop and one for mobile devices and look for response changes!

Gospider
Hakrawler
With Burp
With Zap
Spidering

Fuzzing

Fuzz
FuzzingAdmin interface=> Password guessing
Banner grabbing
Tool: https://github.com/FortyNorthSecurity/EyeWitness ; or Aquatone
Information GatheringDNS Subdomain Enumeration
DNS Subdomain EnumerationCloudflare Bypass for Web Scraping
Interesting Books
Interesting BooksThe Web Application Hacker’s Handbook The go-to manual for web app pentesters. Covers XSS, SQLi, logic flaws, and more
Bug Bounty Bootcamp: The Guide to Finding and Reporting Web Vulnerabilities Learn how to perform reconnaissance on a target, how to identify vulnerabilities, and how to exploit them
Real-World Bug Hunting: A Field Guide to Web Hacking Learn about the most common types of bugs like cross-site scripting, insecure direct object references, and server-side request forgery.
Support this Gitbook
I hope it helps you as much as it has helped me. If you can support me in any way, I would deeply appreciate it.
Last updated
