美文网首页
通过给的libc文件泄露地址

通过给的libc文件泄露地址

作者: zs0zrc | 来源:发表于2018-01-28 14:18 被阅读285次

libc中的函数相对于libc的基地址的偏移都是确定的,如果有一道题给你了libc的文件,就可以通过libc文件泄露出system函数和binsh的地址,然后再构造payload。

一般通过write()函数泄露 ,通过ELF获得write函数在got表和plt表中的地址

同时获得程序start地址 构造payload 

payload 一般是填充字符(栈的大小)+ ‘aaaa’(覆盖EBP)+  p32(write_plt) + p32(start)(返回地址) + p32(1)+ p32(write_got)+p32(4)

后面三个是write函数的参数 write(1,'write_got',4) 4代表输出4个字节,write_got则为要泄露的地址

binsh在libc中的地址可以直接搜索得到 binsh_libc = libc.search('/bin/sh').next()

其中地址计算如:

libc_base = leak_add - leak_libc(函数在libc中的偏移)

system_add  = libc_base + system_libc

binsh_add = libc_base + binsh_libc

相关文章

  • 通过给的libc文件泄露地址

    libc中的函数相对于libc的基地址的偏移都是确定的,如果有一道题给你了libc的文件,就可以通过libc文件泄...

  • DynELF

    在没有libc的时候,使用pwntools的DynELF可以来泄露地址leak函数格式 address是需要泄露地...

  • 无libc泄露地址

    用pwntools的DynELF模块来实现 DynELF的基本框架 p = process('./xxx')def...

  • ciscn 2021 pwn

    pwnf 数组越界,负数泄露libc,任意地址写劫持exit_hook为one_gadget从而getshell ...

  • Jarvis OJ---level4

    这题与level3的区别就是level4之中并没有提供libc文件,所以不能像level3一样利用libc来泄露地...

  • 堆入门之常见漏洞利用

    本文结合具体的题目,对基于堆的常见漏洞利用方式,包括泄露libc基地址的常见方式、Use After Free、f...

  • 五_2.泄露libc_2016_PWN100_64/DynELF

    思考 1.开始接触这个题,我想直接泄露一个函数的地址,得到libc_base,然后构建我们的system_addr...

  • unsorted bin attack:似乎没什么用的任意地址写

    unsorted bin之前主要拿来用于泄露libc基址,然后发现还可以利用其来完成一次任意地址写。 例子是she...

  • UAF获取main_arena地址泄露libc基址

    linux中使用free()进行内存释放时,不大于 max_fast (默认值为 64B)的 chunk ...

  • jarvisoj level3

    这个题目乍一看和level2一模一样,不过给的文件里面多给了我们一个libc动态链接库。checksec看一下,依...

网友评论

      本文标题:通过给的libc文件泄露地址

      本文链接:https://www.haomeiwen.com/subject/froaaxtx.html