美文网首页
ciscn-2018-pwn-wp

ciscn-2018-pwn-wp

作者: fantasy_learner | 来源:发表于2019-01-05 18:53 被阅读0次

echo_back

  • 这题看了大佬的wp才写出来的,触及到了我的知识盲区。。。
  • 参考链接 : http://p4nda.top/2018/05/13/ciscn-ctf-2018/#comments
  • x64 ELF | Full Relro , nx , stack canary , pie
  • 功能分析:
      1. 输入一个最长为7个字节的姓名 | 限制设定一次,但可利用漏洞输入多次,没有必要
      1. echo_back , 输入最长为7个字节的字符串 | 格式化字符串
  • 漏洞点:
    • 7个字符的格式化字符串
  • 利用思路:(3.4. 需要参考scanf 源码,可看参考链接中详细解释,我自己也只是简略的了解了一下,留待以后填这个scanf源码学习的坑。。。)
    • 1.栈上有libc地址 , 栈地址 和 函数地址 | 可使用格式化字符串进行leak
    • 2.7个字符的格式化字符串,只能设置指定地址1字节为 10以内的值 ,或者 设置指定地址 1,2,4 字节为 0。考虑到修改ret地址为 libc 需要大于10,所以选择第二种用法
    • 3.修改 stdin 文件指针中的 _io_buf_base 最低字节为 0 ,将缓冲区设置到 stdin 文件结构体内部,从而可以覆盖 相关指针。将 _io_buf_base 覆盖为 栈ret地址 ,
    • 4.然后利用getchar()将 _io_read_ptr 抬高到 与 _io_read_end 相等,再次触发,将main 函数 ret地址覆盖为one_gadget
      1. 执行退出getshell

exp

相关文章

  • ciscn-2018-pwn-wp

    echo_back 这题看了大佬的wp才写出来的,触及到了我的知识盲区。。。 参考链接 : http://p4nd...

网友评论

      本文标题:ciscn-2018-pwn-wp

      本文链接:https://www.haomeiwen.com/subject/ccjdrqtx.html