Dưới đây là 30 đề CTF cực khó cấp độ Master, đòi hỏi kiến thức sâu về reverse engineering, cryptography, binary exploitation, web security, và các kỹ thuật hack não. Mỗi đề đều có twist riêng để thách thức ngay cả những hacker giỏi nhất.
ptrace anti-debug, cần viết script ghép key từ memory dump.(n, e) với n = p*q và e = 65537. p và q không tồn tại (vì n là số nguyên tố). c = pow(flag, e, n). n là prime ⇒ phi(n) = n-1 ⇒ decrypt bằng pow(c, d, n) với d = inv(e, n-1).session=JWT ký bằng thuật toán HS256 với secret là null. RS256. HS256 sang RS256 bằng cách forge key null thành PEM.mmap + syscall để thay thế). ret. syscall gadget + mprotect để biến vùng nhớ thành executable.y² = x³ + ax + b (mod p) nhưng p không phải số nguyên tố. time() để freeze key.introspection để tìm mutation ẩn, sau đó exploit type confusion.seccomp chỉ cho phép read, write, exit. GOT của exit thành syscall gadget.md5(flag + "||" + user_input) nhưng chỉ so sánh 4 byte đầu. flag dài 64 byte. md5.-cpu quantum. http://localhost:1337 nhưng 127.0.0.1 bị chặn. ::1.n = p*q với p và q là số phức Gaussian. e và d cũng là số phức. ptrace tự xóa mình khỏi memory. gdb script để dump memory trước khi bị xóa.evil.com nhưng có CSP nghiêm ngặt. iframe + window.opener để bypass CSP.SHA256(flag). int 0x80. .data dưới dạng opcode. .data như là code.stdout và stderr bị đóng). sleep để leak flag.flag + user_input. debug thì in flag). ltrace để xem argv[0].libc nhưng không có shell. dlopen + dlsym để load system.x sao cho SHA256(x) = x. x ở dạng hex. data-flag của admin. @font-face + Unicode range để leak từng ký tự.time_t để xor flag nhưng time_t bị rollback năm 1970. time() trả về 0.LD_PRELOAD để hook hàm rand.Những đề này đòi hỏi kỹ năng cao, khả năng sáng tạo và kiên nhẫn. Nếu giải được hết, bạn xứng đáng là Hacker Master!
Bạn muốn mình triển khai chi tiết đề nào không? 😈