Tag: stripped-binary (17)pwnable.tw > criticalheapVuln: User được setenv() tuỳ ý.tl;dr: Sử dụng strace; Đọc man page; localtime() có sử dụng đến env var "TZ".March 10, 2026 • Easypwnable.tw > Food StoreVuln: Con trỏ next trỏ đến Recipe tiếp theo ko đc init khi tạo Recipe mới, có thể bị lợi dụng để trỏ về chunk đã free, dẫn đến UAF, tạo chunk overlap.tl;dr: Không chỉ setup heap cho mục tiêu ngay trước mắt, mà cần tính toán cho các bước về sau; Heap spray, rồi lợi dụng alignment khi cấp phát để kiểm soát uninit data.March 7, 2026 • Hardpwnable.tw > Ghost PartyVuln: Vi phạm Rule Of Three trong C++ do thiếu copy constructor, gây double free sau khi pass by value; Gán raw pointer vào thành viên class, pointer được free ngay khi out of scope, gây UAF.March 7, 2026 • Hardpwnable.tw > Bounty Program βVuln: Không kiểm tra NULL trước khi sử dụng strtok().tl;dr: Bounty Program αMarch 3, 2026 • Hardpwnable.tw > Bounty Program αVuln: Không kiểm tra NULL trước khi sử dụng strtok().tl;dr: Hành vi nguy hiểm của strtok(NULL, delim); Hàm calloc() bỏ qua tcache; Env var có thể tác động đến hành vi của ptmalloc.March 3, 2026 • Hardpwnable.tw > WannaHeaptl;dr: Bớt map to another variable trong IDA lại :); Tìm gadgets hiệu quả hơn; Setcontext gadget để setup toàn bộ register.March 1, 2026 • Hardpwnable.tw > CAOVVuln: Chương trình C++ vi phạm cơ chế return by value của SYSV ABI, dẫn đến lời gọi destructor trên dữ liệu trên stack trước đó được attacker kiểm soát.tl;dr: Cơ chế của sysv abi ở C++, trên C ko có cái này.February 23, 2026 • Mediumpwnable.tw > Heap Paradisetl;dr: Chunk overlap, vừa trong unsortedbin, vừa trong fastbin; Partially overwrite ko cần leak libc; Ghi đè flags của stdout thành 0xfbad1800 và _IO_write_base để leak libc.February 20, 2026 • Mediumpwnable.tw > BookWriterVuln: Off-by-one error cho phép attacker ghi out-of-bound vào kích thước của page, dẫn đến buffer overflow tuỳ ý trên heap khi chỉnh sửa page content.February 19, 2026 • Mediumpwnable.tw > Secret Of My HeartVuln: Chương trình đặt null byte sau input của user không cẩn thận, gây 1 null byte overflow, ghi đè vào size của chunk liền sau, attacker có thể gây chunks overlap từ đó.tl;dr: Lại là 1 null byte overflow; Heap chunk consolidation, overlapping.February 19, 2026 • Mediumpwnable.tw > Secret Gardentl;dr: Bớt giả định, nhìn xem dòng code đang thực sự làm gì; Ghi one gadget vào realloc hook, ghi realloc vào malloc hook; hoặc ghi one gadget vào malloc hook và double free để trigger malloc printerr.February 19, 2026 • Easypwnable.tw > BabyStackVuln: Chương trình kiểm tra mật khẩu không cẩn thận với hàm strncmp(), dẫn đến bị bruteforce bởi attacker. Chương trình copy dữ liệu với hàm strcpy() nhưng không kiểm tra kích thước buffer, dẫn đến stack buffer overflow.tl;dr: Từ hàm này có thể gây overflow trên stack frame của hàm khác.February 14, 2026 • Easypwnable.tw > Tcache TearVuln: Chương trình ép kiểu không cẩn thận từ int về unsigned, dẫn đến buffer overflow trên heap do có chênh lệch giữa kích thước cấp phát và kích thước thực tế được input.February 8, 2026 • Easypwnable.tw > hacknotetl;dr: Đôi khi ko cần heap fengshui quá phức tạp; Cần để ý tham số cần truyền vào là gì, ko mặc định plt giống với hàm wrapper custom của chương trình.February 2, 2026 • Easypwnable.tw > dubblesortVuln: Chương trình không kiểm tra số lượng số được nhập vào, dẫn đến buffer overflow trên stack, kết hợp với việc stack canary bị bypass do hành vi của hàm scanf().tl;dr: scanf() gặp input ko khớp với format thì sẽ bỏ qua buffer cần ghi; offset ở local và remote có thể khác nhau dù đã patch binary.February 2, 2026 • Easypwnable.tw > 3x17tl;dr: Ghi đè fini_array; Break toàn bộ địa chỉ trong GOT entries.January 31, 2026 • Medium • PuzzlyGoogleCTF 2023 Quals > gradebookVuln: Chương trình giả sử rằng room chỉ có 3 ký tự, nhưng lại cho phép attacker nhập 4 ký tự, dẫn đến ghi đè null terminator và leak dữ liệu trên stack. Tiếp đến, chương trình tin rằng các metadata của file gradebook là hợp lệ, tuy nhiên attack có thể làm giả field head_offset, dẫn đến làm giả toàn bộ field khác, hoặc chỉnh sửa metadata sau khi đã load file do chia sẻ vùng nhớ -> đọc ghi tùy ý.tl;dr: Cứ input full size buffer đi; MAP_SHARED cho map trực tiếp vào source gốc;January 8, 2026 • Hard