板子题,主要设了两个限制:1. add 时只能 add 0x500 - 0x520 大小的堆块;2. show 只能 show 出 8 个 Byte. house of apple2 梭就完了。 Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PI…
非常友好的堆题,uaf 直接用,libc 和 heap 地址随便拿,但是故意搞了个沙箱,不能使用 execve 只能打 orw. 由于 orw 需要较长的执行链,所以一般打 ROP 会比较方便。打 ROP 就要获取栈地址,这个在获得 libc 地址后可以通过 leak environ 变量中的内容实现。 Arch: amd64-64-little …
void __fastcall __noreturn main(int a1, char **a2, char **a3) { pthread_t newthread[2]; // [rsp+0h] [rbp-10h] BYREF newthread[1] = __readfsqword(0x28u); setbuf…
heack Arch: amd64-64-littleRELRO: Full RELROStack: Canary foundNX: NX enabledPIE: &n…
参考链接:浅析Large_bins_attack在高低版本的利用 进入 largebin 的条件: 无 tcache 或 tcache 已经被填满:最小 0x200 存在 tcache 且 tcache 未被填满(7 个 chunk):最小 0x410 largebins 中含有 63 个 bin , 总体又被分成 6 个组,每个组对应一个区间。只…
IO_FILE 相关结构体源代码 struct _IO_FILE{ int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ /* The following pointers correspond to the C++ streambuf protoco…
Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled libc 是 2.23 的,比较古早。 void __fastcall __noreturn main(int a1, char **a2, char **a3) {…
pwn 环境搭建-WSL(2025/04/05) 前言 ponder 在 4.5 凌晨为了图省事,想把 libc.so.6 从系统自带的地址搬到做题目录下,结果十分幽默地把 sudo cp /lib/x86_64-linux-gnu/libc.so.6 ./libc.so.6 写成了 sudo mv /lib/x86_64-linux-gnu/li…
int __fastcall main(int argc, const char **argv, const char **envp) { TablePage *v3; // rbx void *Page; // rax __int64 v5; // rdx Record *v6; // rax __int16 *v7; // rax size_t…
[未解决] 两道题同为 2.27 版本的 libc,为何 signin2heap 的 tcache 检查了 double free,而 HITCON_2018_children_tcache 没有检查?问题出在哪里? Signin2Heap 题目附件:Signin2Heap libc 版本:2.27 Arch: amd64-64-little RE…