Home

xman pwn 部分wp

smallest start proc near ; DATA XREF: LOAD:0000000000400018↑o .text:00000000004000B0 xor rax, rax .text:00000000004000B3 mov edx, 400h ; count .text:00000000004000B8 mov rsi, rsp ; buf .text:00000000004000BB mov ...

Read more

house of orange

house of orange 由于最近做到了一道很恶心的题目,导致我对于堆的一些理解认知产生了怀疑。于是决定补习一下一些堆的高级利用方法 题目来自于pwnable.tw的bookwriter 源程序是很典型的表单程序,唯一的特殊之处在于没有free函数,所以利用方式不同于以往 漏洞点有以下几个地方: 1.author变量与存储堆地址的指针列表相连,在我们打印出author信息的时候会将堆地址泄露 bss:0000000000602060 author db ? ; . . . bss:00000000006020A0 addrlist db ? 2.add函数对于下标的检查有误 for ( i...

Read more

xman re 题目

re0 题目开头的代码可以看出对judge函数进行了加密 for ( i = 0; i <= 181; ++i ) { envp = (const char **)(*((unsigned __int8 *)judge + i) ^ 0xCu); *((_BYTE *)judge + i) ^= 0xCu; } 在data段看到加密后的judge函数为乱码 可以看到judge函数的开头为0x600b00结尾为0x600bb5 但是在函数定义阶段定义的结尾为0x600b05 右键judge函数将其结尾改为0x600bb5 输入python脚本,将其解密(异或0xc) judge=0x600B00 ...

Read more