1 概述
这几天做了一个libc2.27的题目,了解到tcachebin的基础内容,发现利用这个tcachebin,反而导致漏洞更好利用了
2 CTF题目
题目1:CISCN2019_pwn6
参考:pwn6_exp
题目2:CISCN2019_pwn17
3 解题思路
3.1 题目解析
1,输入内容,基本上没有任何内容提示
2、反编译查看
1、存在一个check,绕过这个check,是一个整数溢出
如果输入的input_number等于这个值,通过类型强转化为signed int(32位),就是0 了
2、在执行shellcode之前,还有第二个比较操作,需要满足
3、即使输入shellcode,也需要满足下面这个条件:异或
绕过方法:
1、shellcode 计算异或之后输入
2、在shellcode之前添加一段指令,保证 strlen 很短,shellcode不用校验
4、查找漏洞点
free之后,没有置空,可以造成double free
4 EXP解读
主要思路:
- 通过doubleFree构造“泄露”可用的地址
- 通过覆盖可以,篡改已知字符串
- 绕过最后的check,进行命令执行
1、绕过check,目前的堆栈是: