KALI LINUX SERIES
🌐

Kali Linux — Part 2

Web Hacking Tools — সম্পূর্ণ বাংলা গাইড Web Hacking Tools — Complete Guide

Burp Suite, Nikto, SQLmap, Gobuster, Dirb, WPScan, Wfuzz, Curl — Web Application Hacking-এর সব প্রয়োজনীয় tool-এর সম্পূর্ণ command reference, প্রতিটি flag-এর বাংলা ব্যাখ্যা সহ। Burp Suite, Nikto, SQLmap, Gobuster, Dirb, WPScan, Wfuzz, Curl — complete command reference for all Web Application Hacking tools with explanations for every flag.

root@kali:~# sqlmap -u "http://target.com/page?id=1" --dbs
root@kali:~# gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
root@kali:~# nikto -h http://target.com -o scan.html
🔫 Burp Suite 🔍 Nikto 💉 SQLmap 📂 Gobuster 📁 Dirb 🔑 WPScan 🌀 Wfuzz 📡 Curl / Wget
02
📋 বিষয়সূচি — Part 2Table of Contents — Part 2
01 Burp Suite — Web Proxy FrameworkWeb Proxy Framework
Proxy, Intercept, Repeater, Intruder, Scanner, Decoder, Comparer
Shortcuts, FoxyProxy setup, HTTPS certificate install
02 Nikto — Web Server ScannerWeb Server Scanner
সব flags, Output formats, Plugin ব্যবহারAll flags, Output formats, Plugin usage
03 SQLmap — SQL Injection AutomationSQL Injection Automation
Basic injection, Database dump, File read/write, OS shell, সব flags
04 Gobuster — Directory & Subdomain Brute ForceDirectory & Subdomain Brute Force
dir, dns, vhost mode — সব flagsall flags
05 Dirb / Dirbuster — Directory ScannerDirectory Scanner
Recursive scan, Custom wordlist, Output options
06 WPScan — WordPress Scanner
Plugin/Theme vulnerability, User enumeration, Password brute force
07 Wfuzz — Web FuzzerWeb Fuzzer
Parameter fuzzing, Header fuzzing, Auth bypass, Filter options
08 Curl & Wget — HTTP ManipulationHTTP Manipulation
Header manipulation, Cookie, Auth, Request method, File download
CHAPTER 01
🔫 Burp Suite — Web Proxy Framework সম্পূর্ণ গাইডWeb Proxy Framework Complete Guide
Web traffic intercept, modify, replay — Web App Hacking-এর সবচেয়ে গুরুত্বপূর্ণ টুলIntercept, modify, replay web traffic — the most important web app hacking tool
🔫
Burp Suite
PortSwigger-এর তৈরি industry-standard web security testing framework — Community ও Professional দুটো version আছেIndustry-standard web security testing framework by PortSwigger — Community and Professional versions available
Web Proxy Vulnerability Scanner Fuzzer Brute Force

🚀 Burp Suite চালু করাLaunching Burp Suite

# Terminal থেকে চালু করো root@kali:~# burpsuite # অথবা GUI থেকে: Applications → Web Application Analysis → burpsuite # Java manually দিয়ে চালু করো (যদি লাগে) root@kali:~# java -jar /usr/bin/burpsuite

⚙️ Proxy Setup — Browser Configure করাProxy Setup — Configure Browser

💡 Burp-এর Proxy কীভাবে কাজ করে?How Burp Proxy Works?
Browser → Burp Proxy (127.0.0.1:8080) → Internet। Browser-এর সব traffic Burp-এর মধ্য দিয়ে যায়, তুমি intercept, modify করতে পারো। Browser → Burp Proxy (127.0.0.1:8080) → Internet. All browser traffic flows through Burp, so you can intercept and modify it.
ধাপStepকাজAction
1Burp Suite চালু করো → Proxy → Options → 127.0.0.1:8080 চেক করোLaunch Burp → Proxy → Options → Verify 127.0.0.1:8080
2Firefox-এ FoxyProxy install করো (recommended) অথবা Manual Proxy → HTTP: 127.0.0.1, Port: 8080Install FoxyProxy in Firefox (recommended) or set Manual Proxy → HTTP: 127.0.0.1, Port: 8080
3HTTPS intercept-এর জন্য: http://burp → Download certificate → Firefox Cert Manager-এ import করোFor HTTPS: go to http://burp → Download certificate → Import in Firefox Cert Manager
4Proxy → Intercept → "Intercept is on" করোProxy → Intercept → Enable "Intercept is on"

🎯 Burp Suite-এর Module গুলোBurp Suite Modules

📡 Proxy — Traffic InterceptTraffic Intercept

কাজActionকীভাবে করবHow to
Request intercept করোIntercept requestProxy → Intercept → Intercept is on
Request forward করোForward requestForward button / Ctrl+F
Request drop করোDrop requestDrop button
Request history দেখোView request historyProxy → HTTP history
Request Repeater-এ পাঠাওSend to RepeaterRight click → Send to Repeater / Ctrl+R
Request Intruder-এ পাঠাওSend to IntruderRight click → Send to Intruder / Ctrl+I
Match & Replace rule যোগ করোAdd Match & Replace ruleProxy → Options → Match and Replace

🔁 Repeater — Request ReplayRequest Replay

কাজActionকীভাবেHow
Request পাঠাওSend requestSend button / Ctrl+Enter
Request manually edit করোManually edit requestRequest panel-এ সরাসরি edit করোDirectly edit in request panel
Response দেখোView responseResponse panel (right side)
History navigate করোNavigate history← → buttons
নতুন tab খোলোOpen new tab+ button
Render করে দেখোRender viewResponse → Render tab

🎲 Intruder — Automated AttackAutomated Attack

⚠️ Community Edition-এ Intruder throttled (ধীর) — Professional-এ দ্রুতIntruder is throttled in Community Edition — fast in Professional
Attack TypeকাজFunctionব্যবহারUse Case
Sniperএকটি payload set, একটি position-এ iterate করেOne payload set iterates through one positionSingle field fuzzing
Battering Ramএকই payload সব position-এ একসাথে দেয়Same payload inserted into all positions simultaneouslyUsername=Password test
Pitchforkএকাধিক payload set, সমান্তরালে iterate করেMultiple payload sets iterate in parallelUsername:Password list
Cluster Bombসব payload-এর সব combination চেষ্টা করেTries all combinations of all payload setsBrute force
# Intruder workflow: # 1. Request intercept করো → Send to Intruder (Ctrl+I) # 2. Positions tab → Attack Type বেছে নাও # 3. যেখানে payload বসাবে সেখানে § mark করো (Add § button) # 4. Payloads tab → Payload type বেছে নাও (Simple list / Wordlist) # 5. Start Attack button চাপো # 6. Results-এ Status code / Length দেখে anomaly খোঁজো

🔬 Scanner (Professional Only)

কাজActionকীভাবেHow
Active scan চালাওRun active scanTarget → Site map → Right click → Actively scan
Passive scan দেখোView passive scan resultsDashboard → Issue activity
Scan config করোConfigure scanScanner → Scan configuration
Vulnerability report বের করোExport vulnerability reportTarget → Site map → Issues → Right click → Report

🔎 Other Tools

ToolকাজFunctionকীভাবে ব্যবহারHow to Use
DecoderBase64, URL, HTML, Hex encode/decode করোEncode/decode Base64, URL, HTML, HexDecoder tab → paste → select encoding
Comparerদুটো request/response compare করোCompare two requests/responsesRight click → Send to Comparer
SequencerSession token randomness analyze করোAnalyze session token randomnessRight click on token → Send to Sequencer
Target → Site Mapপুরো target-এর structure দেখোView entire target structureTarget tab → Site map
Loggerসব HTTP request log করোLog all HTTP requestsLogger tab (BApp Store)

⌨️ Burp Suite Keyboard ShortcutsBurp Suite Keyboard Shortcuts

ShortcutকাজFunction
Ctrl + RRepeater-এ পাঠাওSend to Repeater
Ctrl + IIntruder-এ পাঠাওSend to Intruder
Ctrl + FForward intercepted requestForward intercepted request
Ctrl + EnterRequest send (Repeater)Send request (Repeater)
ShortcutকাজFunction
Ctrl + ZUndo (request editor)Undo in request editor
Ctrl + ASelect all textSelect all text
Ctrl + SProject saveSave project
Ctrl + Shift + BBase64 encode (selected)Base64 encode selection

🧩 দরকারী BApp ExtensionsUseful BApp Extensions

ExtensionকাজFunction
Logger++Advanced request loggingAdvanced request logging
AutorizeAuthorization bypass testing (IDOR)Authorization bypass testing (IDOR)
J2EEScanJava application vulnerability scanningJava application vulnerability scanning
SQLiPySQLmap integrationSQLmap integration
Turbo IntruderHigh-speed Intruder (Race condition testing)High-speed Intruder (Race condition testing)
Active Scan++Extra active scan checksExtra active scan checks
Param MinerHidden parameter discoveryHidden parameter discovery
Upload ScannerFile upload vulnerability testingFile upload vulnerability testing
CHAPTER 02
🔍 Nikto — Web Server Vulnerability ScannerWeb Server Vulnerability Scanner
Web server misconfiguration, outdated software, dangerous files — সব scan করো automaticallyAutomatically scan for web server misconfigs, outdated software, dangerous files
🔍
nikto
Open-source web server scanner — ৬৭০০+ vulnerability ও misconfiguration check করতে পারেOpen-source web server scanner — can check for 6700+ vulnerabilities and misconfigurations
Web Scanner Active Recon
FlagকাজFunctionউদাহরণExample
-h hostTarget host বা IP specify করোSpecify target host or IPnikto -h target.com
-p portনির্দিষ্ট port scan করো (default: 80)Scan specific port (default: 80)nikto -h target.com -p 8080
-p 80,443,8080Multiple port scan করোScan multiple portsnikto -h target.com -p 80,443
-sslSSL/HTTPS force করোForce SSL/HTTPS scannikto -h target.com -ssl
-o fileOutput file-এ save করোSave output to filenikto -h target.com -o scan.html
-Format htmlOutput format — html, csv, xml, txt, jsonOutput format — html, csv, xml, txt, jsonnikto -h target -o r.html -Format html
-Tuning xScan category filter করো (নিচে দেখো)Filter scan categories (see below)nikto -h target -Tuning 9
-useproxyProxy দিয়ে scan করো (Burp-এর সাথে)Scan through proxy (use with Burp)nikto -h target -useproxy http://127.0.0.1:8080
-id user:passHTTP Basic Auth দিয়ে scan করোScan with HTTP Basic Authnikto -h target -id admin:password
-C allCGI directory সব check করোCheck all CGI directoriesnikto -h target -C all
-nosslSSL disable করোDisable SSLnikto -h target -nossl
-timeout secRequest timeout set করোSet request timeoutnikto -h target -timeout 10
-Plugins listAvailable plugins দেখাওShow available pluginsnikto -list-plugins
-updateNikto database update করোUpdate Nikto databasenikto -update
-Display VVerbose output দেখাওShow verbose outputnikto -h target -Display V
-nolookupDNS lookup বন্ধ করো (দ্রুত)Disable DNS lookup (faster)nikto -h 192.168.1.1 -nolookup
-evasion xIDS evasion technique ব্যবহার করোUse IDS evasion techniquenikto -h target -evasion 1
-iL hosts.txtFile থেকে multiple host scan করোScan multiple hosts from filenikto -iL hosts.txt
-maxtime 1hMaximum scan time set করোSet maximum scan timenikto -h target -maxtime 30m

🎯 Tuning Options — কোন category scan করবTuning Options — What to Scan

নম্বরNumberCategory
0File Upload vulnerability
1Interesting file / Seen in logs
2Misconfiguration / Default file
3Information Disclosure
4Injection (XSS/Script/HTML)
5Remote File Retrieval — Inside Web Root
6Denial of Service
7Remote File Retrieval — Server Wide
8Command Execution / Remote Shell
9SQL Injection
aAuthentication Bypass
bSoftware Identification
cRemote Source Inclusion
xReverse Tuning options (exclude chosen)
# Basic scan root@kali:~# nikto -h http://target.com # Full scan with HTML report root@kali:~# nikto -h http://target.com -o report.html -Format html # HTTPS scan root@kali:~# nikto -h https://target.com -ssl # Burp proxy দিয়ে (traffic capture করতে) root@kali:~# nikto -h target.com -useproxy http://127.0.0.1:8080 # SQL injection ও auth bypass check করো root@kali:~# nikto -h target.com -Tuning 9a # নির্দিষ্ট port-এ scan করো ও save করো root@kali:~# nikto -h target.com -p 8080 -o scan_8080.txt -Format txt
CHAPTER 03
💉 SQLmap — SQL Injection AutomationSQL Injection Automation
Automatic SQL injection detection ও exploitation — database dump থেকে OS shell পর্যন্তAutomatic SQL injection detection and exploitation — from database dump to OS shell
💉
sqlmap
World-এর সবচেয়ে powerful open-source SQL injection tool — automatic detection, exploitation ও data extraction করেWorld's most powerful open-source SQL injection tool — automatic detection, exploitation, and data extraction
SQL Injection Web Hacking Auto Exploit

🎯 Target SpecificationTarget Specification

FlagকাজFunctionউদাহরণExample
-u URLTarget URL specify করো (GET parameter)Specify target URL (GET parameter)-u "http://target.com/page?id=1"
--data "params"POST data দাওProvide POST data--data "user=a&pass=b"
-r file.txtBurp থেকে save করা HTTP request file দাওProvide saved HTTP request file from Burp-r request.txt
--cookie "c=v"Cookie সহ request পাঠাওSend request with cookie--cookie "PHPSESSID=abc123"
-p paramনির্দিষ্ট parameter test করোTest a specific parameter-p "id"
--headers "H: V"Custom header যোগ করোAdd custom headers--headers "X-Forwarded-For: 127.0.0.1"
--user-agent "UA"Custom User-Agent সেট করোSet custom User-Agent--user-agent "Mozilla/5.0"
--random-agentRandom User-Agent ব্যবহার করোUse random User-Agent--random-agent
--proxyProxy দিয়ে scan করোRoute through proxy--proxy "http://127.0.0.1:8080"
--torTor নেটওয়ার্ক ব্যবহার করোUse Tor network--tor

🔍 Detection OptionsDetection Options

FlagকাজFunction
--level=1-5Test level (1=basic, 5=maximum) — level বাড়লে বেশি test হয় কিন্তু ধীরTest level (1=basic, 5=maximum) — higher = more tests but slower
--risk=1-3Risk level — 3 মানে সব ধরনের injection, data modify হতে পারেRisk level — 3 means all injections including potentially harmful
--technique=BEUSTQSQLi technique specify করো: B=Boolean, E=Error, U=Union, S=Stacked, T=Time, Q=InlineSpecify SQLi technique: B=Boolean, E=Error, U=Union, S=Stacked, T=Time, Q=Inline
--dbms=mysqlDatabase type force করো (mysql, mssql, oracle, postgresql, sqlite)Force database type (mysql, mssql, oracle, postgresql, sqlite)
--string "text"True response-এ থাকা unique string দাওProvide unique string present in true response
--not-stringFalse response-এ থাকা string দাওProvide string present in false response

🗄️ Database EnumerationDatabase Enumeration

FlagকাজFunctionউদাহরণExample
--dbsসব database-এর নাম বের করোList all databasessqlmap -u "url?id=1" --dbs
-D dbname --tablesনির্দিষ্ট database-এর সব table দেখাওList all tables in specific database-D mydb --tables
-D db -T table --columnsTable-এর সব column দেখাওList all columns in table-D mydb -T users --columns
-D db -T table --dumpপুরো table dump করোDump entire table-D mydb -T users --dump
--dump-allসব database-এর সব table dump করোDump all tables from all databases--dump-all
-C col1,col2 --dumpনির্দিষ্ট column dump করোDump specific columns only-C "username,password" --dump
--current-dbবর্তমান database-এর নাম দেখাওShow current database name--current-db
--current-userবর্তমান DB user দেখাওShow current DB user--current-user
--usersসব DB user দেখাওList all DB users--users
--passwordsDB user password hash বের করোExtract DB user password hashes--passwords
--privilegesDB user-এর privilege দেখাওShow DB user privileges--privileges
--is-dbaCurrent user DBA কিনা check করোCheck if current user is DBA--is-dba
--countTable-এ row count দেখাওShow row count in table-T users --count
--where "cond"Condition দিয়ে filter করোFilter data with condition--where "id > 5"

💻 File & OS OperationsFile & OS Operations

FlagকাজFunctionউদাহরণExample
--file-readServer-এর file পড়ো (যদি permission থাকে)Read file from server (if permissions allow)--file-read "/etc/passwd"
--file-writeServer-এ file লেখো (webshell upload!)Write file to server (webshell upload!)--file-write "shell.php"
--file-destServer-এ file লেখার destination pathDestination path on server for file write--file-dest "/var/www/html/shell.php"
--os-shellInteractive OS shell পাও (DBA হলে)Get interactive OS shell (if DBA)--os-shell
--os-cmd "cmd"Single OS command execute করোExecute a single OS command--os-cmd "whoami"
--sql-shellInteractive SQL shell পাওGet interactive SQL shell--sql-shell
--sql-query "q"Custom SQL query চালাওExecute custom SQL query--sql-query "SELECT version()"

Performance & EvasionPerformance & Evasion

FlagকাজFunction
--threads=10Concurrent threads বাড়াও (দ্রুত হবে)Increase concurrent threads (faster)
--time-sec=5Time-based injection-এ delay সেট করোSet delay for time-based injection
--tamper=space2commentWAF bypass tamper script ব্যবহার করোUse WAF bypass tamper script
--tamper=charencodeCharacter encoding দিয়ে WAF bypassBypass WAF with character encoding
--flush-sessionPrevious session data মুছে নতুন করোClear previous session and start fresh
--fresh-queriesCache ignore করো, নতুন query করোIgnore cache, make fresh queries
--batchসব prompt-এ default answer দিয়ে auto-run করোAuto-run with default answers to all prompts
-v 3Verbose level — 0-6 (3 = payload দেখা যায়)Verbose level 0-6 (3 = see payloads)
# Basic GET parameter injection check root@kali:~# sqlmap -u "http://target.com/item?id=1" --dbs # POST request injection (login form) root@kali:~# sqlmap -u "http://target.com/login" --data="user=a&pass=b" --dbs # Burp request file দিয়ে (সবচেয়ে ভালো পদ্ধতি) root@kali:~# sqlmap -r burp_request.txt --dbs --batch # Cookie-based injection root@kali:~# sqlmap -u "http://target.com/" --cookie "id=1" -p id --dbs # সব user dump করো root@kali:~# sqlmap -u "url?id=1" -D webapp -T users --dump # OS shell পাও (high privilege দরকার) root@kali:~# sqlmap -u "url?id=1" --os-shell # WAF bypass করে scan করো root@kali:~# sqlmap -u "url?id=1" --tamper="space2comment,charencode" --dbs --random-agent # /etc/passwd পড়ো root@kali:~# sqlmap -u "url?id=1" --file-read="/etc/passwd"
CHAPTER 04
📂 Gobuster — Directory & DNS Brute ForcerDirectory & DNS Brute Forcer
Hidden directory, file, subdomain, virtual host খোঁজো wordlist দিয়ে — দ্রুততম toolFind hidden directories, files, subdomains, vhosts with wordlists — one of the fastest tools
📂
gobuster
Go দিয়ে লেখা fast brute force tool — dir, dns, vhost, fuzz, s3 mode আছেFast brute force tool written in Go — supports dir, dns, vhost, fuzz, s3 modes
Dir Brute DNS Enum VHost Scan

📁 dir mode — Directory & File Brute ForceDirectory & File Brute Force

FlagকাজFunctionউদাহরণExample
-u URLTarget URL specify করোSpecify target URL-u http://target.com
-w wordlistWordlist file দাওProvide wordlist file-w /usr/share/wordlists/dirb/common.txt
-x extFile extension check করোCheck file extensions-x php,html,txt,bak
-t threadsThread count বাড়াও (default: 10)Increase thread count (default: 10)-t 50
-o fileOutput save করোSave output to file-o results.txt
-s codesকোন status code দেখাবে (default: 200,204,301,302,307)Which status codes to show (default: 200,204,301,302,307)-s 200,301
-b codesকোন status code hide করবে (blacklist)Blacklist status codes to hide-b 404,403
-kSSL certificate verify skip করোSkip SSL certificate verification-k
-c cookieCookie যোগ করো (auth-এর পরে scan)Add cookie (scan after auth)-c "PHPSESSID=abc123"
-H headerCustom header যোগ করোAdd custom header-H "Authorization: Bearer token"
-a agentCustom User-Agent সেট করোSet custom User-Agent-a "Mozilla/5.0"
-eFull URL print করোPrint full URL in output-e
-rRedirect follow করোFollow redirects-r
--timeoutRequest timeout সেট করোSet request timeout--timeout 5s
-zProgress দেখাও না (quiet mode)Don't show progress (quiet mode)-z
--wildcardWildcard response আসলেও চালিয়ে যাওContinue even with wildcard responses--wildcard

🌐 dns mode — Subdomain Brute ForceSubdomain Brute Force

FlagকাজFunctionউদাহরণExample
-d domainTarget domain specify করোSpecify target domain-d target.com
-w wordlistSubdomain wordlist দাওProvide subdomain wordlist-w subdomains.txt
-r resolverCustom DNS resolver ব্যবহার করোUse custom DNS resolver-r 8.8.8.8
--show-cnameCNAME records দেখাওShow CNAME records--show-cname
--show-ipsIP address দেখাওShow IP addresses--show-ips

🏠 vhost mode — Virtual Host DiscoveryVirtual Host Discovery

FlagকাজFunctionউদাহরণExample
-u URLBase URL specify করোSpecify base URL-u http://target.com
-w wordlistVirtual host wordlist দাওProvide virtual host wordlist-w vhosts.txt
--append-domainDomain suffix automatically যোগ করোAutomatically append domain suffix--append-domain
# Basic directory scan root@kali:~# gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt # File extension সহ scan করো root@kali:~# gobuster dir -u http://target.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,html,txt,bak,zip -t 50 # HTTPS scan (cert skip) root@kali:~# gobuster dir -u https://target.com -w common.txt -k -t 30 # Cookie দিয়ে authenticated scan root@kali:~# gobuster dir -u http://target.com/admin -w common.txt -c "session=abc123" -t 40 # DNS subdomain brute force root@kali:~# gobuster dns -d target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -t 30 --show-ips # VHost discovery root@kali:~# gobuster vhost -u http://target.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt --append-domain # Output save করো root@kali:~# gobuster dir -u http://target.com -w common.txt -o gobuster_results.txt -t 50 -e
💡 Best Wordlists for Gobuster
  • /usr/share/wordlists/dirb/common.txtSmall, fast
  • /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txtMedium, comprehensive
  • /usr/share/seclists/Discovery/Web-Content/big.txtLarge
  • /usr/share/seclists/Discovery/Web-Content/raft-large-words.txtVery large
CHAPTER 05
📁 Dirb — Web Content ScannerWeb Content Scanner
Recursive directory scanning — সহজ এবং কার্যকরRecursive directory scanning — simple and effective
📁
dirb
Web content scanner — HTTP response এর উপর ভিত্তি করে hidden files ও directories খোঁজেWeb content scanner — finds hidden files and directories based on HTTP responses
Dir Scan Web Recon
FlagকাজFunctionউদাহরণExample
dirb http://target.comDefault wordlist দিয়ে scan করোScan with default wordlistdirb http://target.com
dirb url wordlist.txtCustom wordlist দিয়ে scan করোScan with custom wordlistdirb http://target.com /usr/share/wordlists/dirb/big.txt
-o fileOutput file-এ save করোSave output to file-o results.txt
-rNon-recursive mode (subdirectory scan বন্ধ)Non-recursive mode (no subdirectory scan)-r
-SSilent mode — found result শুধু দেখাওSilent mode — show only found results-S
-X extExtension suffix যোগ করোAppend file extension-X .php,.html
-z msRequest-এর মধ্যে millisecond delayMillisecond delay between requests-z 100
-c cookieCookie সেট করোSet cookie-c "session=abc"
-u user:passHTTP auth username:password দাওSet HTTP auth username:password-u admin:password
-H headerCustom header যোগ করোAdd custom header-H "X-Custom: value"
-p proxyProxy দিয়ে scan করোScan through proxy-p http://127.0.0.1:8080
-N codeনির্দিষ্ট HTTP code ignore করোIgnore specific HTTP response code-N 302
-wWarning message দেখাও নাDon't show warning messages-w
-fFine tuning — 404 response এর উপর ভিত্তি করেFine tune based on 404 responses-f
# Default wordlist দিয়ে scan root@kali:~# dirb http://target.com # Custom wordlist + PHP extension + output save root@kali:~# dirb http://target.com /usr/share/wordlists/dirb/big.txt -X .php,.bak -o dirb_results.txt # Cookie দিয়ে authenticated scan root@kali:~# dirb http://target.com/admin -c "PHPSESSID=abc123" -S # Burp proxy দিয়ে root@kali:~# dirb http://target.com -p http://127.0.0.1:8080

🆚 Gobuster vs Dirb vs DirsearchGobuster vs Dirb vs Dirsearch

ToolগতিSpeedসুবিধাAdvantageব্যবহারBest for
Gobusterদ্রুততমMulti-threaded, Go দিয়ে লেখাMulti-threaded, written in GoCTF, Bug Bounty
DirbমাঝারিSimple, Recursive, Built-in wordlistSimple, recursive, built-in wordlistQuick scan
Dirsearchদ্রুতPython, Extension support, Beautiful outputPython, extension support, nice outputComprehensive scan
Feroxbusterসবচেয়ে দ্রুতRust, Recursive, Smart filteringRust, recursive, smart filteringLarge targets
CHAPTER 06
🔑 WPScan — WordPress Security Scanner
WordPress plugin, theme, user, vulnerability — সব কিছু scan করোScan WordPress for plugins, themes, users, and vulnerabilities
🔑
wpscan
WordPress-specific black box security scanner — WPVulnDB থেকে vulnerability data নেয়WordPress-specific black box security scanner — pulls vulnerability data from WPVulnDB
WordPress CMS Scanner Brute Force
FlagকাজFunctionউদাহরণExample
--url URLTarget WordPress site URL দাওProvide target WordPress URL--url http://wp-target.com
--enumerate uUser enumerate করোEnumerate users--enumerate u
--enumerate pPlugin enumerate করোEnumerate plugins--enumerate p
--enumerate tTheme enumerate করোEnumerate themes--enumerate t
--enumerate vpVulnerable plugins খোঁজোFind vulnerable plugins--enumerate vp
--enumerate vtVulnerable themes খোঁজোFind vulnerable themes--enumerate vt
--enumerate apসব plugin enumerate করোEnumerate all plugins--enumerate ap
--enumerate atসব theme enumerate করোEnumerate all themes--enumerate at
--enumerate cbConfig backup file খোঁজোFind config backup files--enumerate cb
--enumerate dbeDB export file খোঁজোFind DB export files--enumerate dbe
-P wordlist.txtPassword brute force করোBrute force passwords-P /usr/share/wordlists/rockyou.txt
-U usernameনির্দিষ্ট username brute force করোBrute force specific username-U admin
--api-token TOKENWPVulnDB API token দাও (বেশি info)Provide WPVulnDB API token (more info)--api-token YOUR_TOKEN
--detection-modeDetection mode: passive/aggressive/mixedSet detection mode: passive/aggressive/mixed--detection-mode aggressive
--throttle msRequest-এর মধ্যে millisecond delayMillisecond delay between requests--throttle 200
-o fileOutput save করোSave output to file-o wp_scan.txt
--format jsonJSON format-এ outputOutput in JSON format--format json -o output.json
--proxyProxy দিয়ে scan করোScan through proxy--proxy http://127.0.0.1:8080
--updateWPScan database update করোUpdate WPScan databasewpscan --update
# Basic scan root@kali:~# wpscan --url http://wp-target.com # User, Plugin, Theme সব enumerate করো root@kali:~# wpscan --url http://wp-target.com --enumerate u,vp,vt,cb # User enumerate করে brute force করো root@kali:~# wpscan --url http://wp-target.com --enumerate u -P /usr/share/wordlists/rockyou.txt # Aggressive mode — সব plugin check করো root@kali:~# wpscan --url http://wp-target.com --enumerate ap --detection-mode aggressive # API token সহ full scan root@kali:~# wpscan --url http://wp-target.com --enumerate u,ap,at,cb,dbe --api-token YOUR_TOKEN -o wp_full.json --format json # নির্দিষ্ট user-এ brute force root@kali:~# wpscan --url http://wp-target.com -U admin -P /usr/share/wordlists/rockyou.txt --throttle 200
CHAPTER 07
🌀 Wfuzz — Web Application FuzzerWeb Application Fuzzer
URL, parameter, header, cookie — যেকোনো জায়গায় payload inject করো ও response analyze করোInject payloads anywhere — URL, parameters, headers, cookies — and analyze responses
🌀
wfuzz
Flexible web fuzzer — FUZZ keyword দিয়ে যেকোনো জায়গায় payload দাও, filter করে interesting response বের করোFlexible web fuzzer — place FUZZ keyword anywhere and filter to find interesting responses
Fuzzing Web Testing Brute Force
💡 FUZZ keyword
Wfuzz-এ FUZZ লিখলে সেখানে wordlist-এর প্রতিটি word replace হয়। একাধিক FUZZ position-এ FUZZ, FUZ2Z, FUZ3Z ব্যবহার করো। In Wfuzz, wherever you write FUZZ, each word from the wordlist gets substituted. For multiple positions use FUZZ, FUZ2Z, FUZ3Z.

🎯 Basic FuzzingBasic Fuzzing

FlagকাজFunctionউদাহরণExample
-w wordlistWordlist file দাওProvide wordlist file-w /usr/share/wordlists/dirb/common.txt
-u URL/FUZZFUZZ position সহ URL দাওProvide URL with FUZZ position-u http://target.com/FUZZ
-z payloadPayload type specify করো (file, list, range, alphanum)Specify payload type-z file,wordlist.txt
-d "data"POST data দাও FUZZ সহProvide POST data with FUZZ-d "user=FUZZ&pass=test"
-b cookieCookie সেট করোSet cookie-b "session=abc"
-H headerCustom header সেট করোSet custom header-H "Host: FUZZ.target.com"
-X methodHTTP method সেট করোSet HTTP method-X POST
-t threadsConcurrent threadsNumber of concurrent threads-t 40
-s secsRequest-এর মধ্যে delayDelay between requests-s 0.5
-p proxyProxy দিয়ে route করোRoute through proxy-p 127.0.0.1:8080
-o fileOutput save করোSave output to file-o results.html
-f file,htmlFormat সহ output save করোSave output with format-f output.html,html

🔎 Filter Options — Response Filter করাFilter Options — Filtering Responses

FlagকাজFunctionউদাহরণExample
--hc codesনির্দিষ্ট HTTP code hide করো (hide code)Hide specific HTTP codes--hc 404,403
--sc codesশুধু নির্দিষ্ট HTTP code দেখাও (show code)Show only specific HTTP codes--sc 200,301
--hl linesনির্দিষ্ট line count-এর response hide করোHide responses with specific line count--hl 9
--sl linesনির্দিষ্ট line count-এর response দেখাওShow responses with specific line count--sl 50
--hw wordsনির্দিষ্ট word count-এর response hide করোHide responses with specific word count--hw 240
--sw wordsনির্দিষ্ট word count-এর response দেখাওShow responses with specific word count--sw 100
--hs stringনির্দিষ্ট string আছে এমন response hide করোHide responses containing specific string--hs "Not Found"
--ss stringনির্দিষ্ট string আছে এমন response দেখাওShow responses containing specific string--ss "Welcome"
# Directory brute force root@kali:~# wfuzz -c -w /usr/share/wordlists/dirb/common.txt --hc 404 http://target.com/FUZZ # GET parameter fuzzing root@kali:~# wfuzz -c -w params.txt --hc 404 "http://target.com/page?FUZZ=value" # POST login brute force (username fixed, password fuzz) root@kali:~# wfuzz -c -w /usr/share/wordlists/rockyou.txt --hc 302 -d "user=admin&pass=FUZZ" http://target.com/login # VHost fuzzing (subdomain discovery) root@kali:~# wfuzz -c -w subdomains.txt --sc 200 -H "Host: FUZZ.target.com" http://target.com # Cookie-based auth scan root@kali:~# wfuzz -c -w wordlist.txt --hc 404 -b "session=FUZZ" http://target.com/profile # Multiple FUZZ (username:password combination) root@kali:~# wfuzz -c -z file,users.txt -z file,passwords.txt --hc 302 -d "user=FUZZ&pass=FUZ2Z" http://target.com/login # File extension fuzzing root@kali:~# wfuzz -c -w extensions.txt --sc 200 "http://target.com/config.FUZZ"
CHAPTER 08
📡 Curl & Wget — HTTP Request ManipulationHTTP Request Manipulation
Manual HTTP request পাঠানো, header manipulation, cookie, auth — command line থেকে পুরো controlSend manual HTTP requests, manipulate headers, cookies, auth — full control from command line
📡
curl
Client URL — HTTP/HTTPS/FTP সহ ২৫+ protocol support করে। Web security testing-এর জন্য অপরিহার্যClient URL — supports 25+ protocols including HTTP/HTTPS/FTP. Indispensable for web security testing
HTTP Client API Testing

🌐 Curl — Basic UsageCurl — Basic Usage

FlagকাজFunctionউদাহরণExample
curl URLBasic GET request পাঠাওSend basic GET requestcurl http://target.com
-I / --headশুধু HTTP header দেখাও (response body ছাড়া)Show only HTTP headers (no body)curl -I http://target.com
-vVerbose — request ও response সব দেখাওVerbose — show all request and response detailscurl -v http://target.com
-o fileResponse file-এ save করোSave response to filecurl -o page.html http://target.com
-ORemote filename দিয়ে save করোSave with remote filenamecurl -O http://target.com/file.zip
-LRedirect follow করোFollow redirectscurl -L http://target.com
-k / --insecureSSL certificate check skip করোSkip SSL certificate verificationcurl -k https://target.com
-sSilent mode — progress bar দেখাবে নাSilent mode — no progress barcurl -s http://target.com

🔧 Request ManipulationRequest Manipulation

FlagকাজFunctionউদাহরণExample
-X METHODHTTP method specify করোSpecify HTTP methodcurl -X POST http://target.com/api
-X DELETEDELETE request পাঠাওSend DELETE requestcurl -X DELETE http://api/resource/1
-X PUTPUT request পাঠাওSend PUT requestcurl -X PUT -d '{"k":"v"}' http://api/
-d "data"POST data পাঠাওSend POST datacurl -d "user=admin&pass=1234" http://target.com/login
-d @fileFile থেকে POST data পাঠাওSend POST data from filecurl -d @payload.txt http://target.com
-H "Header: Value"Custom header যোগ করোAdd custom headercurl -H "X-Admin: true" http://target.com
-H "Content-Type: application/json"JSON content type set করোSet JSON content typecurl -H "Content-Type: application/json" -d '{"id":1}' url
-H "Authorization: Bearer TOKEN"Bearer token authenticationBearer token authenticationcurl -H "Authorization: Bearer eyJ..." url
-u user:passBasic HTTP AuthenticationBasic HTTP Authenticationcurl -u admin:password http://target.com
-b "cookie=value"Cookie পাঠাওSend cookiecurl -b "PHPSESSID=abc123" http://target.com
-c cookie.txtResponse cookie file-এ save করোSave response cookies to filecurl -c cookies.txt http://target.com/login
-b cookie.txtFile থেকে cookie পাঠাওSend cookies from filecurl -b cookies.txt http://target.com
-A "agent"Custom User-Agent সেট করোSet custom User-Agentcurl -A "Mozilla/5.0" http://target.com
-e "referer"Referer header সেট করোSet Referer headercurl -e "http://google.com" http://target.com
-x proxyProxy দিয়ে request করোSend request through proxycurl -x http://127.0.0.1:8080 http://target.com
--data-urlencodeURL encode করে data পাঠাওURL-encode data before sendingcurl --data-urlencode "q=hello world" url
-F "file=@path"File upload করো (multipart/form-data)Upload file (multipart/form-data)curl -F "upload=@shell.php" http://target.com/upload
--max-time secMaximum request time সেট করোSet maximum request timecurl --max-time 10 http://target.com
# Server header information দেখো root@kali:~# curl -I http://target.com # POST login request পাঠাও root@kali:~# curl -X POST -d "username=admin&password=test" -v http://target.com/login # JSON API request root@kali:~# curl -X POST -H "Content-Type: application/json" -d '{"username":"admin","password":"pass"}' http://target.com/api/login # Session cookie save করো তারপর ব্যবহার করো root@kali:~# curl -c cookies.txt -d "user=admin&pass=123" http://target.com/login root@kali:~# curl -b cookies.txt http://target.com/admin # File upload test করো (webshell) root@kali:~# curl -F "file=@shell.php" -b "session=abc" http://target.com/upload.php -v # Burp proxy দিয়ে route করো root@kali:~# curl -x http://127.0.0.1:8080 -k -v http://target.com/api/users # Authorization header bypass test করো root@kali:~# curl -H "X-Forwarded-For: 127.0.0.1" -H "X-Real-IP: 127.0.0.1" http://target.com/admin

📥 Wget — File Download ও MirroringFile Download & Mirroring

FlagকাজFunctionউদাহরণExample
wget URLFile download করোDownload filewget http://target.com/file.zip
-O fileনির্দিষ্ট নামে save করোSave with specific filenamewget -O output.zip http://target.com/a.zip
-qQuiet mode — output দেখাবে নাQuiet mode — no outputwget -q http://target.com/file
-rRecursive download করোRecursive downloadwget -r http://target.com
--mirrorপুরো website mirror করোMirror entire websitewget --mirror http://target.com
--no-check-certificateSSL check skip করোSkip SSL checkwget --no-check-certificate https://target.com
--header "H: V"Custom header যোগ করোAdd custom headerwget --header "Cookie: session=abc" url
--post-data "d"POST data পাঠাওSend POST datawget --post-data "user=a&pass=b" url
--user-agent "UA"Custom User-Agent সেট করোSet custom User-Agentwget --user-agent "Googlebot" url
-cIncomplete download continue করোContinue incomplete downloadwget -c http://target.com/bigfile.iso
-i urls.txtFile থেকে multiple URL download করোDownload multiple URLs from filewget -i urls.txt
--spiderFile download না করে check শুধু করোCheck URLs without downloadingwget --spider http://target.com

🌐 Web Hacking Workflow — সঠিক পদ্ধতিWeb Hacking Workflow — Correct Approach

  • 1️⃣ Recon: Nikto দিয়ে server scan, Gobuster দিয়ে hidden directory খোঁজোRecon: Scan server with Nikto, find hidden dirs with Gobuster
  • 2️⃣ Proxy: Burp Suite চালু করে সব traffic intercept করোProxy: Start Burp Suite and intercept all traffic
  • 3️⃣ Manual Test: Burp Repeater দিয়ে manually request modify করোManual Test: Modify requests manually with Burp Repeater
  • 4️⃣ SQLi: Parameter-এ SQLmap চালাও (Burp request file দিয়ে)SQLi: Run SQLmap on parameters (using Burp request file)
  • 5️⃣ Brute Force: Login-এ Burp Intruder বা Wfuzz ব্যবহার করোBrute Force: Use Burp Intruder or Wfuzz on login
  • 6️⃣ WordPress: WPScan দিয়ে plugin vulnerability ও user খোঁজোWordPress: Use WPScan to find plugin vulns and users

🌐 "The web is the largest attack surface — know your tools well."

সব কিছু authorized environment-এ practice করো। অন্যের web application-এ permission ছাড়া কোনো কিছু করা illegal। Practice everything in authorized environments only. Testing web applications without permission is illegal.

Kali Linux Series — Part 2 | v1.0 | Web Hacking Tools

Part 3: Exploitation Tools (Metasploit, Searchsploit, msfvenom) →