@musashishao/agent-kit 1.8.1 → 1.9.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/.agent/agents/ai-architect.md +39 -0
- package/.agent/agents/cloud-engineer.md +39 -0
- package/.agent/agents/game-asset-curator.md +317 -0
- package/.agent/agents/game-developer.md +190 -89
- package/.agent/agents/game-narrative-designer.md +310 -0
- package/.agent/agents/game-qa-agent.md +441 -0
- package/.agent/agents/marketing-specialist.md +41 -0
- package/.agent/agents/penetration-tester.md +15 -1
- package/.agent/rules/CODEX.md +26 -2
- package/.agent/rules/GEMINI.md +7 -5
- package/.agent/rules/REFERENCE.md +92 -2
- package/.agent/scripts/ak_cli.py +1 -1
- package/.agent/scripts/localize_workflows.py +54 -0
- package/.agent/scripts/memory_manager.py +24 -1
- package/.agent/skills/3d-web-experience/SKILL.md +386 -0
- package/.agent/skills/DEPENDENCIES.md +54 -0
- package/.agent/skills/ab-test-setup/SKILL.md +77 -0
- package/.agent/skills/active-directory-attacks/SKILL.md +59 -0
- package/.agent/skills/agent-evaluation/SKILL.md +430 -0
- package/.agent/skills/agent-memory-systems/SKILL.md +426 -0
- package/.agent/skills/agent-tool-builder/SKILL.md +139 -0
- package/.agent/skills/ai-agents-architect/SKILL.md +115 -0
- package/.agent/skills/ai-product/SKILL.md +86 -0
- package/.agent/skills/ai-wrapper-product/SKILL.md +90 -0
- package/.agent/skills/analytics-tracking/SKILL.md +88 -0
- package/.agent/skills/api-fuzzing-bug-bounty/SKILL.md +66 -0
- package/.agent/skills/app-store-optimization/SKILL.md +66 -0
- package/.agent/skills/autonomous-agent-patterns/SKILL.md +414 -0
- package/.agent/skills/aws-penetration-testing/SKILL.md +50 -0
- package/.agent/skills/aws-serverless/SKILL.md +327 -0
- package/.agent/skills/azure-functions/SKILL.md +340 -0
- package/.agent/skills/broken-authentication/SKILL.md +53 -0
- package/.agent/skills/browser-automation/SKILL.md +408 -0
- package/.agent/skills/browser-extension-builder/SKILL.md +422 -0
- package/.agent/skills/bullmq-specialist/SKILL.md +424 -0
- package/.agent/skills/bun-development/SKILL.md +386 -0
- package/.agent/skills/burp-suite-testing/SKILL.md +60 -0
- package/.agent/skills/clerk-auth/SKILL.md +432 -0
- package/.agent/skills/cloud-penetration-testing/SKILL.md +51 -0
- package/.agent/skills/copywriting/SKILL.md +66 -0
- package/.agent/skills/crewai/SKILL.md +470 -0
- package/.agent/skills/discord-bot-architect/SKILL.md +447 -0
- package/.agent/skills/email-sequence/SKILL.md +73 -0
- package/.agent/skills/ethical-hacking-methodology/SKILL.md +67 -0
- package/.agent/skills/firebase/SKILL.md +377 -0
- package/.agent/skills/game-development/godot-expert/SKILL.md +462 -0
- package/.agent/skills/game-development/npc-ai-integration/SKILL.md +110 -0
- package/.agent/skills/game-development/procedural-generation/SKILL.md +168 -0
- package/.agent/skills/game-development/unity-integration/SKILL.md +358 -0
- package/.agent/skills/game-development/webgpu-shading/SKILL.md +209 -0
- package/.agent/skills/gcp-cloud-run/SKILL.md +358 -0
- package/.agent/skills/graphql/SKILL.md +492 -0
- package/.agent/skills/idor-testing/SKILL.md +64 -0
- package/.agent/skills/inngest/SKILL.md +128 -0
- package/.agent/skills/langfuse/SKILL.md +415 -0
- package/.agent/skills/langgraph/SKILL.md +360 -0
- package/.agent/skills/launch-strategy/SKILL.md +68 -0
- package/.agent/skills/linux-privilege-escalation/SKILL.md +62 -0
- package/.agent/skills/llm-app-patterns/SKILL.md +367 -0
- package/.agent/skills/marketing-ideas/SKILL.md +66 -0
- package/.agent/skills/metasploit-framework/SKILL.md +60 -0
- package/.agent/skills/micro-saas-launcher/SKILL.md +93 -0
- package/.agent/skills/neon-postgres/SKILL.md +339 -0
- package/.agent/skills/paid-ads/SKILL.md +64 -0
- package/.agent/skills/supabase-integration/SKILL.md +411 -0
- package/.agent/workflows/ai-agent.md +36 -0
- package/.agent/workflows/autofix.md +1 -0
- package/.agent/workflows/brainstorm.md +1 -0
- package/.agent/workflows/context.md +1 -0
- package/.agent/workflows/create.md +1 -0
- package/.agent/workflows/dashboard.md +1 -0
- package/.agent/workflows/debug.md +1 -0
- package/.agent/workflows/deploy.md +1 -0
- package/.agent/workflows/enhance.md +1 -0
- package/.agent/workflows/game-prototype.md +154 -0
- package/.agent/workflows/marketing.md +37 -0
- package/.agent/workflows/next.md +1 -0
- package/.agent/workflows/orchestrate.md +1 -0
- package/.agent/workflows/pentest.md +37 -0
- package/.agent/workflows/plan.md +1 -0
- package/.agent/workflows/preview.md +2 -1
- package/.agent/workflows/quality.md +1 -0
- package/.agent/workflows/saas.md +36 -0
- package/.agent/workflows/spec.md +1 -0
- package/.agent/workflows/status.md +1 -0
- package/.agent/workflows/test.md +1 -0
- package/.agent/workflows/ui-ux-pro-max.md +1 -0
- package/README.md +52 -24
- package/bin/cli.js +68 -3
- package/docs/CHANGELOG_AI_INFRA.md +30 -0
- package/docs/MIGRATION_GUIDE_V1.9.md +55 -0
- package/package.json +1 -1
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: bun-development
|
|
3
|
+
description: "Bun runtime patterns for fast JavaScript/TypeScript development. Covers package management, bundling, testing, and runtime APIs."
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# ⚡ Bun Development
|
|
8
|
+
|
|
9
|
+
You are a Bun expert who understands the all-in-one JavaScript runtime. Bun is a drop-in replacement for Node.js with native TypeScript support, a fast package manager, bundler, and test runner.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## When to Use This Skill
|
|
14
|
+
|
|
15
|
+
- Fast JavaScript/TypeScript execution
|
|
16
|
+
- Quick package installation
|
|
17
|
+
- Built-in bundler needs
|
|
18
|
+
- Fast test execution
|
|
19
|
+
- SQLite database needs
|
|
20
|
+
- Native TypeScript without compilation
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Capabilities
|
|
25
|
+
|
|
26
|
+
- `bun-runtime`
|
|
27
|
+
- `bun-package-manager`
|
|
28
|
+
- `bun-bundler`
|
|
29
|
+
- `bun-test`
|
|
30
|
+
- `bun-sqlite`
|
|
31
|
+
- `bun-http`
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 1. Getting Started
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Install Bun
|
|
39
|
+
curl -fsSL https://bun.sh/install | bash
|
|
40
|
+
|
|
41
|
+
# Initialize project
|
|
42
|
+
bun init
|
|
43
|
+
|
|
44
|
+
# Install dependencies
|
|
45
|
+
bun install
|
|
46
|
+
|
|
47
|
+
# Run TypeScript directly
|
|
48
|
+
bun run index.ts
|
|
49
|
+
|
|
50
|
+
# Run with watch mode
|
|
51
|
+
bun --watch run index.ts
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## 2. HTTP Server
|
|
57
|
+
|
|
58
|
+
### Basic Server
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
// server.ts
|
|
62
|
+
const server = Bun.serve({
|
|
63
|
+
port: 3000,
|
|
64
|
+
fetch(request) {
|
|
65
|
+
const url = new URL(request.url);
|
|
66
|
+
|
|
67
|
+
if (url.pathname === "/") {
|
|
68
|
+
return new Response("Hello, Bun!");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (url.pathname === "/api/users") {
|
|
72
|
+
return Response.json([
|
|
73
|
+
{ id: 1, name: "Alice" },
|
|
74
|
+
{ id: 2, name: "Bob" }
|
|
75
|
+
]);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return new Response("Not Found", { status: 404 });
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
console.log(`Listening on http://localhost:${server.port}`);
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### With Routes and Middleware
|
|
86
|
+
|
|
87
|
+
```typescript
|
|
88
|
+
// server.ts
|
|
89
|
+
type RequestHandler = (req: Request) => Response | Promise<Response>;
|
|
90
|
+
|
|
91
|
+
const routes: Map<string, RequestHandler> = new Map([
|
|
92
|
+
['GET /', () => new Response('Home')],
|
|
93
|
+
['GET /api/users', getUsers],
|
|
94
|
+
['POST /api/users', createUser],
|
|
95
|
+
]);
|
|
96
|
+
|
|
97
|
+
// Middleware
|
|
98
|
+
function cors(handler: RequestHandler): RequestHandler {
|
|
99
|
+
return (req) => {
|
|
100
|
+
const response = handler(req);
|
|
101
|
+
if (response instanceof Response) {
|
|
102
|
+
response.headers.set('Access-Control-Allow-Origin', '*');
|
|
103
|
+
}
|
|
104
|
+
return response;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function logger(handler: RequestHandler): RequestHandler {
|
|
109
|
+
return (req) => {
|
|
110
|
+
console.log(`${req.method} ${new URL(req.url).pathname}`);
|
|
111
|
+
return handler(req);
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const server = Bun.serve({
|
|
116
|
+
port: 3000,
|
|
117
|
+
fetch: logger(cors(async (req) => {
|
|
118
|
+
const method = req.method;
|
|
119
|
+
const path = new URL(req.url).pathname;
|
|
120
|
+
const key = `${method} ${path}`;
|
|
121
|
+
|
|
122
|
+
const handler = routes.get(key);
|
|
123
|
+
if (handler) {
|
|
124
|
+
return handler(req);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return new Response('Not Found', { status: 404 });
|
|
128
|
+
})),
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 3. File Operations
|
|
135
|
+
|
|
136
|
+
```typescript
|
|
137
|
+
// Read file
|
|
138
|
+
const file = Bun.file("./data.json");
|
|
139
|
+
const content = await file.text();
|
|
140
|
+
const json = await file.json();
|
|
141
|
+
|
|
142
|
+
// Write file
|
|
143
|
+
await Bun.write("output.txt", "Hello, World!");
|
|
144
|
+
await Bun.write("data.json", JSON.stringify({ name: "Bun" }));
|
|
145
|
+
|
|
146
|
+
// Stream large files
|
|
147
|
+
const writer = Bun.file("large.txt").writer();
|
|
148
|
+
for (let i = 0; i < 1000000; i++) {
|
|
149
|
+
writer.write(`Line ${i}\n`);
|
|
150
|
+
}
|
|
151
|
+
await writer.end();
|
|
152
|
+
|
|
153
|
+
// Read directory
|
|
154
|
+
import { readdir } from "fs/promises";
|
|
155
|
+
const files = await readdir("./src");
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 4. SQLite (Built-in)
|
|
161
|
+
|
|
162
|
+
```typescript
|
|
163
|
+
import { Database } from "bun:sqlite";
|
|
164
|
+
|
|
165
|
+
const db = new Database("mydb.sqlite");
|
|
166
|
+
|
|
167
|
+
// Create table
|
|
168
|
+
db.run(`
|
|
169
|
+
CREATE TABLE IF NOT EXISTS users (
|
|
170
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
171
|
+
name TEXT NOT NULL,
|
|
172
|
+
email TEXT UNIQUE,
|
|
173
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
174
|
+
)
|
|
175
|
+
`);
|
|
176
|
+
|
|
177
|
+
// Insert
|
|
178
|
+
const insert = db.prepare("INSERT INTO users (name, email) VALUES (?, ?)");
|
|
179
|
+
insert.run("Alice", "alice@example.com");
|
|
180
|
+
|
|
181
|
+
// Query
|
|
182
|
+
const query = db.prepare("SELECT * FROM users WHERE name = ?");
|
|
183
|
+
const user = query.get("Alice");
|
|
184
|
+
|
|
185
|
+
// Query all
|
|
186
|
+
const allUsers = db.prepare("SELECT * FROM users").all();
|
|
187
|
+
|
|
188
|
+
// Transaction
|
|
189
|
+
const insertMany = db.transaction((users: { name: string; email: string }[]) => {
|
|
190
|
+
for (const user of users) {
|
|
191
|
+
insert.run(user.name, user.email);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
|
|
195
|
+
insertMany([
|
|
196
|
+
{ name: "Bob", email: "bob@example.com" },
|
|
197
|
+
{ name: "Charlie", email: "charlie@example.com" },
|
|
198
|
+
]);
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
---
|
|
202
|
+
|
|
203
|
+
## 5. Testing
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
// math.test.ts
|
|
207
|
+
import { describe, expect, test, beforeAll, mock } from "bun:test";
|
|
208
|
+
|
|
209
|
+
describe("Math operations", () => {
|
|
210
|
+
test("addition", () => {
|
|
211
|
+
expect(1 + 1).toBe(2);
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
test("async operation", async () => {
|
|
215
|
+
const result = await Promise.resolve(42);
|
|
216
|
+
expect(result).toBe(42);
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
|
|
220
|
+
// Mocking
|
|
221
|
+
const mockFn = mock(() => "mocked");
|
|
222
|
+
expect(mockFn()).toBe("mocked");
|
|
223
|
+
expect(mockFn).toHaveBeenCalled();
|
|
224
|
+
|
|
225
|
+
// Mock module
|
|
226
|
+
mock.module("./api", () => ({
|
|
227
|
+
fetchUsers: () => Promise.resolve([{ id: 1, name: "Test" }]),
|
|
228
|
+
}));
|
|
229
|
+
|
|
230
|
+
// Run tests
|
|
231
|
+
// bun test
|
|
232
|
+
// bun test --watch
|
|
233
|
+
// bun test --coverage
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## 6. Bundler
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
// Build script
|
|
242
|
+
const result = await Bun.build({
|
|
243
|
+
entrypoints: ['./src/index.ts'],
|
|
244
|
+
outdir: './dist',
|
|
245
|
+
target: 'browser', // 'bun' | 'node' | 'browser'
|
|
246
|
+
minify: true,
|
|
247
|
+
splitting: true,
|
|
248
|
+
sourcemap: 'external',
|
|
249
|
+
naming: {
|
|
250
|
+
entry: '[name].[hash].js',
|
|
251
|
+
chunk: 'chunks/[name].[hash].js',
|
|
252
|
+
asset: 'assets/[name].[hash][ext]',
|
|
253
|
+
},
|
|
254
|
+
define: {
|
|
255
|
+
'process.env.NODE_ENV': '"production"',
|
|
256
|
+
},
|
|
257
|
+
external: ['react', 'react-dom'],
|
|
258
|
+
plugins: [
|
|
259
|
+
// Custom plugin
|
|
260
|
+
{
|
|
261
|
+
name: 'my-plugin',
|
|
262
|
+
setup(build) {
|
|
263
|
+
build.onLoad({ filter: /\.txt$/ }, async (args) => {
|
|
264
|
+
const text = await Bun.file(args.path).text();
|
|
265
|
+
return {
|
|
266
|
+
contents: `export default ${JSON.stringify(text)}`,
|
|
267
|
+
loader: 'js',
|
|
268
|
+
};
|
|
269
|
+
});
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
});
|
|
274
|
+
|
|
275
|
+
if (!result.success) {
|
|
276
|
+
console.error('Build failed:', result.logs);
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
## 7. Package Management
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
# Install packages (faster than npm)
|
|
286
|
+
bun install
|
|
287
|
+
|
|
288
|
+
# Add dependency
|
|
289
|
+
bun add react
|
|
290
|
+
|
|
291
|
+
# Add dev dependency
|
|
292
|
+
bun add -d typescript
|
|
293
|
+
|
|
294
|
+
# Remove package
|
|
295
|
+
bun remove lodash
|
|
296
|
+
|
|
297
|
+
# Update packages
|
|
298
|
+
bun update
|
|
299
|
+
|
|
300
|
+
# Run script
|
|
301
|
+
bun run build
|
|
302
|
+
|
|
303
|
+
# Link local package
|
|
304
|
+
bun link
|
|
305
|
+
|
|
306
|
+
# Create lockfile from scratch
|
|
307
|
+
bun install --force
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
### Workspaces
|
|
311
|
+
|
|
312
|
+
```json
|
|
313
|
+
// package.json
|
|
314
|
+
{
|
|
315
|
+
"workspaces": [
|
|
316
|
+
"packages/*"
|
|
317
|
+
]
|
|
318
|
+
}
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## 8. Environment Variables
|
|
324
|
+
|
|
325
|
+
```typescript
|
|
326
|
+
// .env is loaded automatically
|
|
327
|
+
console.log(Bun.env.DATABASE_URL);
|
|
328
|
+
console.log(Bun.env.API_KEY);
|
|
329
|
+
|
|
330
|
+
// Or use process.env (Node.js compatible)
|
|
331
|
+
console.log(process.env.DATABASE_URL);
|
|
332
|
+
|
|
333
|
+
// Type-safe env
|
|
334
|
+
const config = {
|
|
335
|
+
port: Number(Bun.env.PORT) || 3000,
|
|
336
|
+
dbUrl: Bun.env.DATABASE_URL || 'sqlite://local.db',
|
|
337
|
+
};
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 9. Comparison with Node.js
|
|
343
|
+
|
|
344
|
+
| Feature | Node.js | Bun |
|
|
345
|
+
|---------|---------|-----|
|
|
346
|
+
| Package manager | npm/yarn/pnpm | `bun install` (faster) |
|
|
347
|
+
| TypeScript | Needs compilation | Native |
|
|
348
|
+
| Test runner | Jest/Vitest | Built-in |
|
|
349
|
+
| Bundler | Webpack/esbuild | Built-in |
|
|
350
|
+
| HTTP server | Express/Fastify | `Bun.serve()` |
|
|
351
|
+
| SQLite | node-sqlite3 | Built-in |
|
|
352
|
+
| File I/O | fs.readFile | `Bun.file()` |
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## 10. Anti-Patterns
|
|
357
|
+
|
|
358
|
+
### ❌ Using Node.js APIs When Bun Has Better
|
|
359
|
+
|
|
360
|
+
```typescript
|
|
361
|
+
// WRONG: Node.js style
|
|
362
|
+
import { readFile } from 'fs/promises';
|
|
363
|
+
const content = await readFile('file.txt', 'utf-8');
|
|
364
|
+
|
|
365
|
+
// CORRECT: Bun style (faster)
|
|
366
|
+
const file = Bun.file('file.txt');
|
|
367
|
+
const content = await file.text();
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### ❌ Not Using Native SQLite
|
|
371
|
+
|
|
372
|
+
```typescript
|
|
373
|
+
// WRONG: External SQLite package
|
|
374
|
+
import sqlite3 from 'better-sqlite3';
|
|
375
|
+
|
|
376
|
+
// CORRECT: Bun's built-in SQLite
|
|
377
|
+
import { Database } from 'bun:sqlite';
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## Related Skills
|
|
383
|
+
|
|
384
|
+
- `nodejs-best-practices` - Node.js patterns
|
|
385
|
+
- `typescript-expert` - TypeScript patterns
|
|
386
|
+
- `testing-patterns` - Testing strategies
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: burp-suite-testing
|
|
3
|
+
description: "Expertise in using Burp Suite Professional for web application security testing. Covers Proxy, Repeater, Intruder, Sequencer, and specialized extensions."
|
|
4
|
+
version: "1.0.0"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 🕸️ Burp Suite Testing
|
|
8
|
+
|
|
9
|
+
You are a web security specialist who lives in Burp Suite. You know how to intercept, manipulate, and replay HTTP traffic to find vulnerabilities that automated scanners miss.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Core Components
|
|
14
|
+
|
|
15
|
+
### 1. Proxy
|
|
16
|
+
The heart of Burp. Intercept and modify traffic between the browser and the server.
|
|
17
|
+
- **Pro Tip**: Use "Match and Replace" rules to automatically bypass client-side checks or add custom headers like `X-Forwarded-For`.
|
|
18
|
+
|
|
19
|
+
### 2. Repeater
|
|
20
|
+
Manually modify and re-send individual HTTP requests.
|
|
21
|
+
- **Use Case**: Testing for IDOR by changing an `id` parameter and seeing if the response changes.
|
|
22
|
+
|
|
23
|
+
### 3. Intruder
|
|
24
|
+
Automate customized attacks (fuzzing).
|
|
25
|
+
- **Sniper**: One payload, one position.
|
|
26
|
+
- **Battering Ram**: One payload, multiple positions.
|
|
27
|
+
- **Pitchfork**: Different payloads, synchronized positions.
|
|
28
|
+
- **Cluster Bomb**: Every combination of multiple payloads (heavy!).
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Common Workflows
|
|
33
|
+
|
|
34
|
+
### Finding IDOR
|
|
35
|
+
1. Intercept a "Get Profile" request in **Proxy**.
|
|
36
|
+
2. Send to **Repeater**.
|
|
37
|
+
3. Change `user_id=101` to `user_id=102`.
|
|
38
|
+
4. If you see user 102's private data, you found an IDOR.
|
|
39
|
+
|
|
40
|
+
### Testing for SQLi (Time-based)
|
|
41
|
+
1. Send an search request to **Intruder**.
|
|
42
|
+
2. Mark the search term as a position.
|
|
43
|
+
3. Load a list of time-based payloads: `' OR SLEEP(5)--`.
|
|
44
|
+
4. Sort by "Response Received Time" to find successful delays.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Essential Extensions (BApp Store)
|
|
49
|
+
- **Turbo Intruder**: For high-speed fuzzing.
|
|
50
|
+
- **Logger++**: More detailed session logs.
|
|
51
|
+
- **AuthMatrix**: For complex authorization testing.
|
|
52
|
+
- **Param Miner**: Finding hidden parameters.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Related Skills
|
|
57
|
+
|
|
58
|
+
- `ethical-hacking-methodology` - Context
|
|
59
|
+
- `idor-testing` - Specialized application
|
|
60
|
+
- `api-fuzzing-bug-bounty` - Automation with Burp
|