zoukankan      html  css  js  c++  java
  • CTF

    remote("ip", port)
    process("./bin",env={"LD_PRELOAD":"./libc2.23.so"})
    EFL("./bin")
    efl.bss()
    
    context.log_level='DEBUG'
    gdb.attach(p)
    
    send(payload)   发送payload
    sendline(payload)   发送payload,并进行换行(末尾
    )
    sendafter(some_string, payload)   接收到 some_string 后, 发送你的 payload
    
    recv(numb = 2048, timeout = dufault)   接受数据,numb指定接收的字节,timeout指定超时
    recvline(keepends=True)    接受一行数据,keepends为是否保留行尾的
    
    recvuntil("Hello,World
    ",drop=fasle)    接受数据直到我们设置的标志出现
    recvall()    一直接收直到EOF
    recvrepeat(timeout = default)    持续接受直到EOF或timeout
    
    symbols['a_function']   找到 a_function 的地址
    got['a_function']   找到 a_function的 got
    plt['a_function']   找到 a_function 的 plt
    next(e.search("/bin/sh"))   找到包含 some_characters(字符串,汇编代码或者某个数值)的地址.
    
    libc=LibcSearcher("func",func_addr)  根据func查找libc版本
    Libc.dump("func")  在libc中找到func的地址
    
    p32()/u32()
    p64()/u64()
    str.ljust(width, ‘char’)#左对齐
    
    asm(shellcraft.sh())  shellcode
    
    int(xxx,base=10)  将xxx转换为10进制
    
    interactive()
    
     

     export LD_PRELOAD="./so"
    unset LD_PRELOAD

  • 相关阅读:
    vue.nextTick()方法简单理解
    vue中 hash和history的区别
    Set,Map一些常见的遍历方法以及转化方法
    vue中import和require的用法
    $route和 $router的区别是什么
    vue vmodel的总结
    vue router的钩子函数总结
    了解promise和async await的区别
    ZOJ 1642 Match for Bonus
    UVA 10003 Cutting Sticks
  • 原文地址:https://www.cnblogs.com/0xHack/p/10741351.html
Copyright © 2011-2022 走看看