TechEarl
Topic · Security

Security

Hands-on web security: SQL injection, XSS, SSRF, RCE, and the labs to practice all of them.

115 articlesWritten by Ishan Karunaratne
Web security guides on SQL injection, XSS, SSRF, RCE, with hands-on labs and tooling cheat sheets.
More in Security
The API security tools worth using in 2026: Burp Suite, mitmproxy, OWASP ZAP, kiterunner, Postman, jwt_tool, graphql-cop. Compared with honest trade-offs.

The Best API Security Tools in 2026

The API security tools I actually reach for in 2026: Burp Suite, mitmproxy, OWASP ZAP, kiterunner, Postman, jwt_tool, graphql-cop, and the commercial platforms. Strengths, weaknesses, and how I decide which to use.

Clickjacking tools worth using in 2026: PoC generators, ZAP, Burp Active Scanner, DNSChkr HTTP headers, Mozilla Observatory, double-click PoCs.

The Best Clickjacking Tools in 2026

The clickjacking tools I actually reach for in 2026: PoC generators, OWASP ZAP, DNSChkr HTTP Security Headers, Mozilla Observatory, Burp Active Scanner, and the post-Yibelo double-clickjacking PoC repos. Honest framing on a thin tool space.

The XSS tools worth using in 2026: XSStrike, Dalfox, kxss, Burp Suite with DOM Invader, BeEF, XSS Hunter, ZAP, and Caido. Honest trade-offs.

The Best XSS Tools in 2026

The cross-site scripting tools I actually reach for in 2026: XSStrike, Dalfox, kxss/Gxss, Burp Suite with DOM Invader, BeEF, XSS Hunter, OWASP ZAP, and Caido. Strengths, weaknesses, and how I decide which to use.

The insecure deserialization tools worth using in 2026: ysoserial, ysoserial.net, marshalsec, PHPGGC, Burp scanner, GadgetInspector. Honest trade-offs.

The Best Deserialization Tools in 2026

The insecure deserialization tools I actually use in 2026: ysoserial for Java, ysoserial.net for .NET, marshalsec, PHPGGC, Burp's Java Deserialization Scanner, GadgetInspector, and the honest story on Python pickle. Strengths, weaknesses, and how I pick.

LFI and path traversal tools worth using in 2026: LFImap, LFISuite, dotdotpwn, ffuf with SecLists, Burp Intruder, kadimus. Honest trade-offs.

The Best LFI and Path Traversal Tools in 2026

The LFI and path traversal tools I actually reach for in 2026: LFISuite, LFImap, dotdotpwn, ffuf with SecLists, Burp Intruder, kadimus, and PayloadsAllTheThings. Honest strengths, weaknesses, and when each one wins.

The SSRF tools worth using in 2026: SSRFmap, Gopherus, Burp Collaborator, interactsh, ffuf, and cloud-metadata payload kits. Honest trade-offs.

The Best SSRF Tools in 2026

The SSRF tools I actually reach for in 2026: SSRFmap, Gopherus, Burp Collaborator, interactsh, ffuf, and the PayloadsAllTheThings cloud-metadata kit. Strengths, weaknesses, and how I decide which to use.

The SQL injection tools worth using in 2026: sqlmap, ghauri, jSQL Injection, NoSQLMap, Burp Suite. Compared with honest trade-offs.

The Best SQL Injection Tools in 2026

The SQL injection tools I actually reach for in 2026: sqlmap, ghauri, jSQL Injection, NoSQLMap, Havij (and why I do not use it), plus Burp Suite's role and the manual workflow. Strengths, weaknesses, and how I decide which to use.

The CSRF tools worth using in 2026: Burp Suite, OWASP ZAP, xsrfprobe, Param Miner, and the manual Origin/SameSite workflow. Honest trade-offs.

The Best CSRF Tools in 2026

The CSRF tools I actually reach for in 2026: Burp Suite's PoC generator, OWASP ZAP, xsrfprobe, Param Miner for hidden token discovery, plus the manual Origin and SameSite workflow. Honest framing on a defence class that mostly won.

XXE tools worth running in 2026: XXEinjector, Burp with Collaborator, interactsh, oxml_xxe, docem, ffuf. Honest trade-offs and libxml reality.

The Best XXE Tools in 2026

The XXE tools I actually reach for in 2026: XXEinjector, Burp Suite with Collaborator, interactsh, oxml_xxe, docem, PayloadsAllTheThings, and ffuf. Why XXE is a manual-heavy class, what libxml hardening changed, and how I decide.

The remote code execution tools worth using in 2026: commix, SSTImap, msfvenom, Sliver, Burp Collaborator. Compared with honest trade-offs.

The Best RCE Tools in 2026

The remote code execution tools I actually reach for in 2026: commix for OS command injection, SSTImap for template injection, msfvenom and Metasploit for payloads, Sliver for the C2 layer, and Burp Collaborator for blind variants. Honest trade-offs.

Visitors see a fake Cloudflare verification on your WordPress site asking them to paste a command. That's ClickFix. Detection, removal, and persistence cleanup so it doesn't return.

The Fake Cloudflare Verification Attack on WordPress (ClickFix): What It Is and How to Remove It

Visitors to your WordPress site see a fake 'Cloudflare verification' page telling them to paste a command into Windows Run or Terminal. That's ClickFix, the social-engineering campaign that first appeared in early 2024 and exploded across compromised WordPress sites by autumn. What it does, where the injection lives in your site, and how to clean it without missing the persistence.

Practical LFImap reference by task: targeting, traversal, PHP wrappers, command injection, RFI, cookies, proxying, output. Real upstream flags.

LFImap Cheat Sheet: Every Flag I Actually Use

A field-tested LFImap reference: target selection, traversal wordlists, PHP wrappers (filter/input/data/expect/file), command injection, RFI, log/proxy/cookie shaping, second-order requests, and the `PWN` placeholder. Grounded in the real argparse surface.

Step-by-step LFImap walkthrough: baseline, /etc/passwd read, php://filter source disclosure, php://input RCE, log poisoning. Docker reproducible.

LFImap Tutorial: Exploiting a Vulnerable App End to End

A complete LFImap walkthrough against a deliberately vulnerable lab app: endpoint identification, baseline scan, traversal, php://filter source disclosure, php://input RCE, and log poisoning. Every step reproducible with one docker compose command.

Practical Dalfox v3 reference by task: targeting, parameter mining, blind XSS, evasion, pipeline integration with kxss and waybackurls, output formats.

Dalfox Cheat Sheet: Every Flag I Actually Use

A field-tested Dalfox v3 reference: target specification, detection tuning, parameter mining, blind XSS callbacks, evasion, pipeline patterns, and output shaping. Updated for the v3 Rust rewrite that consolidates everything under `dalfox scan`.

Dalfox v3 walkthrough: scan subcommand, captured request files, stored and DOM XSS, blind callbacks, cookie theft. Reproducible against one lab.

Dalfox Tutorial: Exploiting a Vulnerable App End to End

A complete Dalfox walkthrough against a deliberately vulnerable XSS lab: reflected, stored, and DOM sinks, captured request files, blind callbacks, custom payloads, and a working cookie-theft chain. Updated for the Dalfox v3 Rust rewrite (May 2026) with the unified scan subcommand.

Step-by-step commix walkthrough: capture, detect, classic / blind, os-shell, reverse TCP, file read/write, escapeshellcmd argument injection.

commix Tutorial: Exploiting a Vulnerable App End to End

A complete commix walkthrough against a deliberately vulnerable lab app: identify the sink, capture the request, run the classic, time-based, and file-based techniques, pop an os-shell, catch a reverse TCP, and exploit the escapeshellcmd argument-injection gap.

Practical SSRFmap reference: request capture, every module, per-module options, handler setup, AWS / GCP / Azure metadata recipes, custom modules.

SSRFmap Cheat Sheet: Every Module and Flag I Actually Use

A field-tested SSRFmap reference: target capture, the real module list (readfiles, portscan, redis, fastcgi, mysql, smtp, axfr, aws, gce, alibaba, digitalocean, github, zabbix, postgres, docker, socksproxy, smbhash, tomcat, memcache, networkscan, custom), handler setup, cloud metadata workflows, and where Burp Repeater is still the better tool.

Step-by-step SSRFmap walkthrough: capture, detect, read files, portscan, bypass an allowlist, steal IMDS credentials, confirm blind SSRF.

SSRFmap Tutorial: Exploiting a Vulnerable App End to End

A complete SSRFmap walkthrough against a deliberately vulnerable lab: identify the sink, capture the Burp request, run detection, read local files, scan internal hosts, bypass a broken allowlist, hit the IMDS mock, and confirm blind SSRF out of band.

Why UpdraftPlus and other in-WordPress backup plugins fail when the site is compromised, plus a working 3-2-1 setup with restic or borg, retention policy, and a verification routine.

Off-Server WordPress Backups (3-2-1) With Verified Restores

The backup plugin running inside WordPress is the same WordPress the attacker just compromised. A 3-2-1 backup strategy with restic or borg, stored outside the trust boundary, and verified by monthly test restores. Configuration, retention, and the exact restore sequence after a compromise.

Practical XXEinjector reference by task: target options, request file format, OOB vs direct modes, PHP filter wrappers, file enumeration, and listeners.

XXEinjector Cheat Sheet: Every Flag I Actually Use

A field reference for XXEinjector: target options, request file format with the XXEINJECT marker, OOB and direct modes, PHP filter wrappers, file enumeration, logging, and custom listeners. Grouped by what you are trying to do.

The four ways attackers silently disable Wordfence, Sucuri Security, iThemes Security Pro (Solid Security), Patchstack, MalCare, and Jetpack Scan. Plus the above-doc-root attack class where the malware lives outside WordPress and no plugin can ever see it. Server-side monitoring that doesn't depend on WordPress being trustworthy.

Why Wordfence (or Any Security Plugin) Keeps Getting Silently Disabled

WordPress security plugins running inside WordPress can be disabled by anything that runs inside WordPress, including the malware they're supposed to catch. The four mechanisms attackers use to silently turn off Wordfence, Sucuri, Jetpack, WP Activity Log, and similar tools, plus the server-side monitoring layer that doesn't depend on WordPress being trustworthy.

Practical fuxploider reference by task: target, true/false regex, extension fuzzing, cookies, headers, proxy, threading, and post-upload pivot.

fuxploider Cheat Sheet: Every Flag I Actually Use

A field-tested fuxploider reference: target shaping, true/false response detection, extension fuzzing, cookies and headers, proxying, threading, and what to do once a webshell uploads. Grounded in the real argparse surface.

Step-by-step fuxploider walkthrough: baseline, extension bypass, MIME forge, double-extension, drop a webshell, pivot to Weevely.

fuxploider Tutorial: Exploiting a Vulnerable App End to End

A complete fuxploider walkthrough against a deliberately vulnerable upload lab: baseline, extension bypass via .phar, lying about MIME, the double-extension trick against Apache AddHandler, a working webshell, and a Weevely pivot. Reproducible with one docker compose command.

A complete hardened wp-config.php template for WordPress with comments on every setting: DISALLOW_FILE_EDIT, FORCE_SSL_ADMIN, salt rotation, file permissions.

A Hardened wp-config.php Template (with Comments on Every Choice)

wp-config.php is the first PHP file WordPress loads. The defaults from the stock installation are minimal; the hardened defaults take five minutes to apply and close most of the attack surface that lives below the plugin layer. A complete annotated template covering disabled file editing, forced HTTPS, secure salt rotation, debug behavior, and the file permissions that matter.

Practical sqlmap evasion: tamper scripts that still bypass Cloudflare, AWS WAF, ModSecurity. Request shaping, fingerprint reduction, manual fallback.

sqlmap Evasion and Anti-Detection: WAF Bypass in Practice

How to get sqlmap past commercial WAFs. Tamper scripts that still work, request shaping (delays, chunked encoding, HPP), fingerprint reduction, when tamper chains fail and you need to drop to manual Burp Repeater, and the defender's view of what these techniques look like in the logs.

Thousands of hits to admin-ajax.php are usually WordPress Heartbeat and plugins, not an attack. How to read the action parameter and the fix that does not break your site.

admin-ajax.php High Traffic: Attack or Normal?

Thousands of hits to wp-admin/admin-ajax.php are almost always your own site: WordPress Heartbeat and plugins, not a DDoS. How to read the action parameter, when it is a real attack, and why blocking the file breaks your site.

Host-header SQL injection in multi-tenant SaaS routing. Vulnerable tenant-lookup code, manual exploit, sqlmap commands, the defence.

Host Header SQL Injection: Multi-Tenant Routing Gone Wrong

Host header SQL injection happens in multi-tenant SaaS apps that look up the tenant by hostname. Same pattern applies to X-Forwarded-Host. The vulnerable code, how to test it by hand, the sqlmap one-liner, and the defence that scales with tenant count.

Why SSH reports REMOTE HOST IDENTIFICATION HAS CHANGED, when it is safe, and how to clear the stale known_hosts entry with ssh-keygen -R.

Fix SSH "Host Key Verification Failed"

Why SSH warns that the remote host identification has changed, when it is safe to clear, and the one command that removes the stale known_hosts entry: ssh-keygen -R.

JSON-body SQL injection in REST APIs, GraphQL resolvers, ORM raw-query calls. Vulnerable code, curl exploit, sqlmap commands with --data, defence.

SQL Injection in JSON Request Bodies (REST and GraphQL APIs)

JSON-body SQL injection is the modern face of the bug: REST APIs, GraphQL resolvers, and ORM raw-query escape hatches. How developers paint themselves into the corner with template strings around JSON fields, the manual exploit, sqlmap commands with --data and *, and the defence.

Disable direct root login over SSH and the console, lock the root password, and use a normal account plus sudo instead, safely.

How to Disable Root Login on Linux

Disable direct root login over SSH and on the console, lock the root password, and move everyone to a normal account plus sudo, without locking yourself out.

Referer-header SQL injection in click-attribution, analytics, anti-CSRF logging. Vulnerable code, curl exploit, sqlmap commands, defence.

Referer Header SQL Injection: A Practical Guide

Referer-header SQL injection lives in click-attribution tables, marketing analytics, and anti-CSRF logging. Same shape as User-Agent injection but distinct enough to need its own treatment. Vulnerable code, curl exploit, sqlmap commands, defence.

Create a hardware-backed SSH key on a YubiKey with ssh-keygen -t ed25519-sk. How FIDO2/U2F SSH keys work, ed25519-sk vs ecdsa-sk, resident keys, and the OpenSSH and firmware versions you need.

SSH Keys With a YubiKey (FIDO2 / U2F)

Generate a hardware-backed SSH key on a YubiKey with one ssh-keygen command. How FIDO2/U2F SSH keys work, the difference between ed25519-sk and ecdsa-sk, resident keys, and the firmware and OpenSSH versions you need.

Step-by-step WordPress malware removal: identify the attack vector (files, database, .htaccess, wp-config), clean every layer, rotate credentials, and lock down to prevent reinfection. Cross-platform scripts for Linux and macOS.

How to Remove WordPress Malware: The Practitioner's Playbook

A step-by-step methodology for finding and removing malware from a compromised WordPress site, written by a Security+ certified engineer who's been cleaning sites since the early WordPress 2.x era. Covers every attack vector: file backdoors, database injections, .htaccess hijacks, wp-config tampering, and recurring reinfection. Originally written in 2016, updated regularly as new patterns emerge.

X-Forwarded-For SQL injection in geolocation lookups, IP ban lists, audit logs. Vulnerable code, curl exploit, sqlmap commands, the fix.

X-Forwarded-For SQL Injection: The Proxy Header Bug

X-Forwarded-For SQL injection lives in geolocation tables, audit logs, IP-based ban lists, and rate-limit lookups. Same family includes X-Real-IP, X-Client-IP, True-Client-IP. The vulnerable code, manual exploit with curl, sqlmap commands, and the fix.

Step-by-step sqlmap walkthrough: capture, detect, fingerprint, enumerate, dump, read files, pop a shell. Reproducible with one docker compose up.

sqlmap Tutorial: Exploiting a Vulnerable App End to End

A complete sqlmap walkthrough against a deliberately vulnerable lab app: target identification, baseline, capture, detection, fingerprinting, enumeration, dumping, file read, and OS shell. Every step reproducible with one docker compose command.

LUKS disk encryption with cryptsetup on Linux: luksFormat to encrypt a block device, luksOpen to unlock it, then mkfs and mount. Includes header backup and keyslot management.

LUKS Disk Encryption With cryptsetup

Set up LUKS disk encryption with cryptsetup: format a block device, open it, put a filesystem on it, and mount it. The four commands, plus the header backup nobody warns you about.

Every HTTP request field that carries SQL injection: URL, body, User-Agent, Referer, Cookie, X-Forwarded-For, Host, Authorization, custom headers.

SQL Injection in HTTP Requests: Every Vector Attackers Use

A practical map of every place SQL injection can live inside an HTTP request: query string, URL path, request body (form, JSON, XML, multipart filename), and every header from User-Agent to Authorization. Where attackers look, why developers miss each one, and where to start hardening.

Practical sqlmap reference by task: targeting, fingerprinting, enumeration, dumping, file access, OS shell, evasion, tamper scripts.

sqlmap Cheat Sheet: Every Flag I Actually Use

A field-tested sqlmap reference: target specification, request shaping, detection tuning, DBMS fingerprinting, enumeration, dumping, file system access, OS command execution, evasion, and tamper scripts. Grouped by what you are actually trying to do.

Complete SQL injection guide: union, error-based, boolean blind, time blind, out-of-band, second-order, NoSQL. Exploits and defence.

SQL Injection: Variants, Exploitation, and Defence

How SQL injection actually works, what every major variant looks like (union-based, error-based, boolean blind, time blind, out-of-band, second-order, NoSQL), how to exploit each one against a vulnerable app, and how to defend against them at the code, query, and infrastructure layers.

WPScan v3.8+ usage reference for WordPress security audits: install on Linux/macOS, API token setup, the command patterns that matter (enumerate users, vulnerable plugins, brute force), JSON output, and how WPScan compares to Wordfence, Sucuri, and WPSec.

WPScan Usage Guide and Man Page (2026)

WPScan v3.8+ usage reference for WordPress security audits: install on Linux/macOS, API token setup, the command patterns that matter (enumerate users, vulnerable plugins, brute force), JSON output, and how WPScan compares to Wordfence, Sucuri, and WPSec.

The complete taxonomy of web application security vulnerabilities, from injection attacks to supply chain attacks

Web Application Security Vulnerabilities: The Complete Taxonomy

A practitioner's map of every major web application vulnerability class: SQL injection, XSS, CSRF, SSRF, RCE, file upload, path traversal, authentication and session attacks, deserialization, clickjacking, XXE, supply chain, DoS, DNS, and API attacks. How each works, how to exploit it in a lab, and how to defend against it.