AI Skill Report Card

Solving CTF Challenges

A-82·Nov 7, 2026·Source: Extension-selection
Markdown
--- name: solving-ctf-challenges description: Solves Capture The Flag (CTF) challenges across pwn/binary exploitation, web exploitation, reverse engineering, cryptography, forensics, steganography, OSINT, and misc/scripting categories, with strict emphasis on factual accuracy over guessing. Use when user mentions CTF, capture the flag, platforms like HackTheBox/TryHackMe/PicoCTF/OverTheWire/CTFtime, uploads binaries/source code/pcap/memory dumps/disk images for analysis, or mentions keywords like flag, exploit, payload, buffer overflow, ROP chain, SQLi, XSS, SSRF, reversing, decrypt, decode, stego, shellcode, privesc, or tools like Ghidra, IDA, pwntools, GDB, Burp Suite, Wireshark, Volatility, CyberChef, sqlmap, John/Hashcat. --- # Solving CTF Challenges

Accuracy over confidence. Never fabricate output, analysis results, or flags. If something hasn't actually been run/analyzed, label it explicitly as a hypothesis, not a fact. If unsure about a technique, vulnerability, or decode result, say "not yet verified" rather than guessing and presenting it as certain. Always show reasoning, not just final answers — this is for learning. If an approach is likely to fail, say so plainly with the reason. Re-verify all calculations/decodes before presenting them as final.

Scope check: Before proceeding, confirm the target is a legitimate CTF context (official competition, HTB/THM/PicoCTF/OverTheWire lab, or similar authorized environment). If the described target sounds like a real third-party production system without clear authorization, ask for context first instead of proceeding.

13 / 15

When a challenge is presented, immediately do this triage:

  1. Identify category (pwn / web / rev / crypto / forensics / stego / osint / misc) — if ambiguous, say so and check multiple angles.
  2. Run cheap, safe recon commands/checks before any heavy analysis:
    • Files: file, strings, exiftool, binwalk
    • Binaries: checksec
    • Network captures: open in Wireshark, check protocol hierarchy
  3. State what you actually know vs. what you're guessing, explicitly.
  4. Ask: does the user want "no spoiler" (progressive hints) or "full solve" (complete reasoning + exploit/script)?
Recommendation▾
Examples mix Indonesian and English inconsistently, which could confuse users expecting a uniform language skill; consider standardizing or noting language adaptability explicitly
14 / 15
Progress:
- [ ] Identify challenge category and confirm scope/authorization
- [ ] Run initial recon (file type, strings, checksec, metadata, protocol inspection)
- [ ] Form hypothesis about vulnerability/technique — mark clearly as hypothesis
- [ ] Verify hypothesis with actual tool output / step-by-step derivation
- [ ] If verification fails, state this honestly and revise approach
- [ ] Build solution incrementally (exploit/script/decode), re-checking each step
- [ ] Re-verify final result (recompute decode, re-run exploit logic mentally) before presenting as answer
- [ ] Summarize the generalizable technique

Category-specific methodology

Pwn/Binary Exploitation

  • checksec first: NX, ASLR, PIE, Canary, RELRO — state exactly what each result implies for exploitability
  • Precisely classify the vuln (BOF, format string, UAF, integer overflow, type confusion) — don't guess the class without evidence from disassembly/source
  • Build exploit stepwise: find offset → control EIP/RIP → craft payload (ROP/shellcode) → handle bad chars/mitigations
  • Tools: pwntools, GDB+pwndbg/gef, ROPgadget, angr, one_gadget
  • Test offset-finding logic (e.g., cyclic pattern) explicitly rather than assuming a round number

Web Exploitation

  • Read available source/endpoints before blind-testing
  • Systematically check: SQLi, XSS, SSRF, IDOR, auth/logic bypass, deserialization, path traversal, SSTI
  • Tools: Burp Suite, sqlmap, ffuf/gobuster
  • Distinguish "this endpoint looks vulnerable" (hypothesis) from "this payload confirmed the vulnerability" (verified)

Reverse Engineering

  • Start with file, strings, architecture check, compiler fingerprint, packing/obfuscation detection
  • Decompile with Ghidra/IDA; explain each key function's logic only after actually reading it — never guess function purpose from name alone
  • For anti-debug/obfuscation, identify the specific technique before proposing a bypass

Cryptography

  • Identify the scheme from ciphertext/code precisely — don't assume an algorithm without evidence (key length, structure, encoding markers)
  • Check common weaknesses: weak RSA (small e, shared modulus, Wiener/Fermat), XOR key reuse, ECB pattern, weak PRNG/seed
  • Tools: CyberChef, RsaCtfTool, SageMath
  • Always recompute decode/attack results step-by-step before stating them as final — show the math/decode chain explicitly

Forensics

  • Files: exiftool, binwalk, foremost/photorec for carving
  • Memory: Volatility — determine profile first, state it explicitly
  • Network: Wireshark — follow stream, check protocol anomalies, extract objects
  • Disk image: mount read-only, check slack space & deleted files

Steganography

  • Metadata first (exiftool), then LSB/frequency analysis (zsteg, stegsolve), check file signature mismatches

OSINT

  • Verify every finding against a checkable source; never assume identity/location without strong corroborating evidence

Misc/Scripting

  • Write directly runnable Python (not pseudocode), with comments on each important logic block
Recommendation▾
Add a concrete example for pwn/web with actual tool output snippets rather than describing output in prose
16 / 20

Example 1 (crypto, full solve requested): Input: "Ini ciphertext RSA dengan n, e, c kecil. Solve dong, mau flag-nya." Output: State observed values of n/e/c → factor n (show factorization attempt and result, e.g., via Fermat or trial division, with actual computed factors) → derive d → decrypt → recompute decryption manually to confirm plaintext bytes decode to ASCII/flag format → present flag only after this check passes. If factorization tool isn't actually run, say "saya belum menjalankan factorization-nya secara aktual, berikut cara dan dugaan pendekatannya" instead of inventing p and q.

Example 2 (pwn, no-spoiler requested): Input: "Binary ini ada buffer overflow kayaknya, tapi jangan spoiler dulu." Output: Tier 1 hint: "Cek checksec dulu — perhatikan apakah canary aktif." Tier 2: "Kalau canary nonaktif dan tidak ada PIE, arah seranganmu kemungkinan kontrol langsung ke return address." Tier 3 (only if asked): concrete offset-finding steps and payload structure.

Example 3 (forensics, ambiguous category): Input: user uploads a pcap with no further description. Output: "Belum jelas kategori spesifiknya — saya mulai dari protocol hierarchy di Wireshark dan follow TCP streams untuk cari anomali atau object yang bisa di-extract. Berikut observasi awal (bukan kesimpulan final): ..."

Recommendation▾
Could include a brief flag-format recognition/validation note (e.g., regex check) as part of the final verification step to strengthen completeness
  • Separate sections clearly: "Observasi faktual" vs "Hipotesis" vs "Terverifikasi"
  • When a decode/calculation is shown, walk through it step-by-step so the user can verify independently
  • When proposing an exploit, explain why it works, not just the payload bytes
  • Close every full solve with a short "generalizable technique" summary for transfer to similar challenges
  • Prefer naming the exact tool/command used for a claim (e.g., "ran strings -n 8 binary") over vague claims like "I analyzed the binary"
  • Do NOT invent a flag format or flag value to "complete" an answer — if the flag isn't actually derived, say so
  • Do NOT assume an algorithm/vuln class from superficial pattern-matching without checking the actual bytes/code
  • Do NOT skip re-verification of crypto/decode math — silent arithmetic errors are a common false-flag source
  • Do NOT proceed on ambiguous-authorization targets (real-looking production systems) without asking for context
  • Do NOT present a hypothesis and a verified fact in the same tone — always flag confidence level explicitly
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
13/15
Workflow
14/15
Examples
16/20
Completeness
13/20
Format
13/15
Conciseness
13/15