난이도 투표 가이드

⚠️ 난이도 투표 기준을 만족하지 못하거나 워게임 난이도 시스템에 혼란을 줄 목적의 난이도 투표가 지속적으로 확인되는 경우 투표 제한 및 드림핵 이용 제재가 진행될 수 있습니다.

🗳️ 난이도 투표 기준

난이도는 문제를 풀이하기 위한 지식 + 필요한 아이디어 및 관찰 역량을 종합하여 투표해야 합니다.

  1. 난이도는 가능한 풀이 방법 중 가장 쉬운 풀이를 기준으로 측정해야 합니다.
    • 유저가 D4 지식으로 문제를 풀었더라도, writeup 등을 통해 더 쉬운 방법으로 풀 수 있음을 인지했다면 이를 기준으로 투표해야 합니다.
  2. 문제를 풀이하기 위한 지식을 정의하기 위해 각 분야의 몇몇 태그들은 최소 난이도를 가지고 있습니다. 어떤 문제를 풀 때 해당 태그의 지식을 사용하였다면, 그 문제의 난이도는 최소한 그 태그의 난이도와 같거나 높아야 합니다.
    • 문제 풀이를 위해 S1, G4, P3을 최소 난이도로 가지는 태그가 필요하다면 그 문제의 난이도는 최소한 P3 이상이어야 합니다.
    • 최소 난이도 태그 표에 없는 경우 유사한 태그를 기준으로 난이도를 증감해 평가합니다.
  3. 위에서 정한 최소 난이도를 기준으로 필요한 아이디어 및 관찰 역량에 따라 적절하게 난이도를 증가시켜 투표합니다.

🤖 AI를 이용한 경우

난이도는 AI의 사용 여부와 무관합니다. AI로 문제의 태그를 판단하여 투표하는 것은 무관하나, 투표의 최종 책임은 항상 투표자에게 있습니다.

  • AI가 GOT Overwrite라는 태그를 이용해 문제를 풀었다면, 그 문제는 GOT Overwrite 태그의 최소 난이도 이상의 난이도를 가져야 합니다.

🏷️ 태그별 최소 난이도 표

난이도 Pwn Rev Web Crypto
새싹 Shellcode Flagchecker Cookie Base64
Out of Bounds Session Caesar(ROT) Cipher
B4 Command Injection Ransomware Arbitrary File Read Affine Cipher
Type Confusion Arbitrary File Upload Low Exponent Attack
Off by one Brute Forcing
Integer Overflow, Buffer Overflow Type Confusion
Return Address Overwrite Insecure Direct Object Reference (IDOR)
Path Traversal
Command Injection
B3 Return to Shellcode - Authentication Bypass Vigenère cipher
Nonce Reuse
B2 GOT Overwrite C++ HTML Injection Vulnerable Key
ROP Insecure Deserialization HMAC
Process Argument Injection Cross-Site Scripting (XSS) Rainbow Table
Fermat's Little Theorem
B1 SROP - Local File Inclusion Birthday Paradox
SQL Injection Man-In-The-Middle
Race Condition Merkle Tree
Winternitz OTS
Padding Oracle Attack
Extended Euclidean Algorithm
S4 one-gadget SMT solver Cross-Site Request Forgery (CSRF) Chinese Remainder Theorem (CRT)
environ Math NoSQL Injection Meet-in-the-Middle
Race Condition JWT Token Forgery Common Modulus Attack
Heap Overflow
Hook Overwrite
S3 Use After Free - WAF Bypass Fermat's Factorization
Code Injection Hastad's Broadcast Attack
Blind SQL Injection
Error-based SQL Injection
Time-based SQL Injection
Server-Side Request Forgery (SSRF)
S2 master_canary ARM CVE Jacobi Symbol
seccomp Rust DNS Rebinding Mersenne Twister
_IO_file Vtable Overwrite Hooking
libc GOT Overwrite Packing
chroot jail Anti Debugging
rtld Dummy Code
Semantic Obfuscation
Game Hacking
S1 Safe Linking - Client-Side Template Injection (CSTI) Elliptic Curve
Server-Side Template Injection (SSTI) Franklin-Reiter Attack
Relative Path Overwrite (RPO)
Phar Deserialization
JWT Header Confusion
Mass Assignment
G4 Double Free Bug C# XXE Injection Length Extension Attack
Fastbin Duplication Webassembly Prototype Pollution Continued Fraction Expansion
Format String Bug .NET CSS Injection Invalid Curve Attack
Tcache Duplication Virtualize CRLF Injection
__exit_funcs Layout Obfuscation Content Security Policy (CSP)
FSOP (without bypass _IO_validate_check) Self-modifying Code
Tcache Poisoning Opaque Predicates
Symbolic Execution
Auto Crack
G3 House of Force - XS-Leak Wiener's Attack
House of Spirit OTP exploit GCM
House of Lore DOM Clobbering
FSOP (bypass _IO_validate_check)
G2 Large Bin Attack MBA expression OGNL Injection Linear S-Box
Unsafe Unlink Client-side path traversal Inversive Congruential Generator (ICG)
Tcache Stashing Unlink Web Cache Poisoning Algebraic Immunity
Lenstra Elliptic-Curve Factorization
Arora-Ge Attack
G1 - - Same Origin Method Execution Twisted Elliptic Curve
SS-Leak Linear Cryptanalysis
Differential Cryptanalysis
Integral Cryptanalysis
Fast Correlation Attack
Smart's Attack
MOV Attack
P4 - Control Flow Flattening ReDoS LLL
Web Cache Deception Slide Attack
HTTP Request Smuggling Reflection Attack
Boomerang Attack
BB84
Gröbner basis
Coppersmith's Method
Higher Order Differential Cryptanalysis
P3 - - - Simultaneous Diophantine Approximation
Factoring with Cyclotomic Polynomials
Cube Attack
P2 Linux Kernel - - Orthogonal-Lattice attack
P1 QEMU - - -
V8
ret2usr
D4 SMM - - Information Set Decoding
Castryck-Decru Attack
D3 - - - Stern's Attack
D2 - - - -
D1 - - - -
M4 - - - -
M3 - - - -
M2 - - - -
M1 - - - -