LibcSearcher介绍

前言

LibcSearcher是针对pwn的python库,可以通过它寻找libc版本。

安装

1
2
3
4
git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python2 setup.py develop
python3 setup.py develop

使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from LibcSearcher import *

#第二个参数,为已泄露的实际地址,或最后12位(比如:d90),int类型
gets_real_addr = 0X7ff39014bd90 # gets 真实地址
obj = LibcSearcher("fgets", gets_real_addr)

print obj.dump("system") # system 偏移
print obj.dump("str_bin_sh") # /bin/sh 偏移
print obj.dump("__libc_start_main_ret")

libcbase = gets_real_addr – obj.dump("fgets")
system_addr = libcbase + obj.dump("system") # system 真实地址
bin_sh_addr = libcbase + obj.dump("str_bin_sh") # /bin/sh 真实地址
print "system_addr",system_addr
print "bin_sh_addr",bin_sh_addr
  • 如果遇到返回多个libc版本库的情况,可以通过add_condition(leaked_func, leaked_address)来添加限制条件,也可以手工选择其中一个libc版本。