[BUGKU] [PWN] PWN5
先下载文件,拉入UBUNTU,checksec检查一下
checksec human
架构是amd64,并开启了NX(堆栈可执行,16进制地址后六位不变,其余运行一次都会变)
在windows里把pwn2拉入64位ida
按F5
切换到伪C
发现乱码,修改配置文件后ALT+A
全部选上UTF-8,再按一次F5
,中文就可以显示了
int __cdecl main(int argc, const char **argv, const char **envp)
{
char s; // [sp+0h] [bp-20h]@1setvbuf(_bss_start, 0LL, 2, 0LL);
setvbuf(stdin, 0LL, 1, 0LL);
memset(&s, 0, 0x20uLL);
puts(“人类的本质是什么?\n”);
read(0, &s, 8uLL);
printf(&s, &s);
puts(&s);
puts(&s);
puts(&s);
puts(“一位群友打烂了复读机!”);
sleep(1u);
puts("\n人类还有什么本质?");
read(0, &s, 0x40uLL);
if ( !strstr(&s, “鸽子”) || !strstr(&s, “真香”) )
{