• sleepyHolder_hitcon_2016


    很久没写题目了,所以最近准备重新开始练起来。

    该题很考自己对libc的malloc了解,虽然逆过一遍,但还是有些不熟悉比如合并的函数。

    不过看了hav1k师傅的博客后,恍然大悟

    记录下思路

    1. 由于是ubuntu16,而且没有开PIE,所以可以进行unlink
    2. 其次由于释放后未变0,所以我们先申请一个小chunk,再把该位置释放后,在用malloc_consolidate来将fast bin里的函数放入unsorted bin中,后续的操作会放入small bin中
    3. 由于delete函数里面没有检查机制,所以我们可以再一次delete,造成double free,由于该chunk再fast bin何unsorted bin中,所以我们可以把chunk申请回来,再伪造一个chunk,进行unlink
    4. 此时指针已经指向自身的-0x18处,我们就操控了中等的chunk与小型的chunk,后面就是常规操作,劫持free为puts,得到libc,接着再劫持别的函数来getshell 即可
  • 相关阅读:
    mysql权限
    Win7_64位使用Mysql Odbc
    二叉树的遍历
    Notepad++的使用
    mysql与mysqld
    Mysql 聚集函数和分组
    Linux 目录
    Linux 倒引号、单引号、双引号
    openkm安装过程
    rhel 7 设置默认运行级别为图形
  • 原文地址:https://www.cnblogs.com/pppyyyzzz/p/14508306.html
Copyright © 2020-2023  润新知