BCTF2017 BabyUse
BCTF2017 BabyUse
问题
问题在于drop函数中在释放块之后没有清空bss_gun_list中的指针。
一般因为存在对bss_gun_flag的验证,所以不会出现什么问题,但是在use功能中没有验证bss_gun_flag
 struct_ptr = bss_gun_list[global_index_saved];
因此use功能存在UAF,不得不说这个设计的还是比较隐蔽的,有点考验眼神。
想法
首先因为题目给了我们分配任意大小堆块的能力,并且我们在阅读代码时候发现并没有对分配的内存进行清零。
这就存在内存未初始化漏洞,我们可以通过布局读出之前释放的usorted块中的fd和bk地址,从而计算出libc的基地址。
其次,我们考虑的是利用UAF漏洞去控制gun结构中的函数表地址,我们在issue部分说了,UAF限制了其它功能唯独没有限制use功能,因此我们的目的就是构造函数表地址,然后进行跳转。
做法
前面提出了利用的思路,但是在实际利用的时候会发现内存未初始化因为存在着'\x00'截断实际上是泄漏不了的。因此这道题的泄漏是一个问题,我在泄漏时尝试了一些内存布局比如
buy(1,15,'a'*15)
buy(1,31,'a'*15)
select(0)
drop(0)
rename(1,15,'AAAA\n')
buy(1,15,'a'*15)
use()
结果发现drop之后再buy的话会挤占掉UAF结构的指针 ORZ。。
这道题应该是晨升师傅做出来的,不得不膜一发。我真是没想到能利用输入时的那个空字节进行部分覆盖,覆盖之后就可以直接得到主模块的基地址和堆基址了。
之后直接泄漏got就能得到libc,再伪造函数表就可以了,这里不多说了。
BCTF2017 BabyUse的更多相关文章
随机推荐
- c语言基础——基本数据类型
			1.基本数据类型是什么?包括有哪些代表?除了基本数据类型还有什么其他类型形式? (1)基本数据类型--用于描述基本的数据 (数.日期等) (2)有整型.实型.字符型.枚举类型等等 ========== ... 
- BZOJ2001 [Hnoi2010]City 城市建设 CDQ分治
			2001: [Hnoi2010]City 城市建设 Time Limit: 20 Sec Memory Limit: 162 MB Description PS国是一个拥有诸多城市的大国,国王Lou ... 
- 如何用React, Webcam和JS Barcode SDK创建Web扫码App
			这篇文章分享下如何结合React Webcam和Dynamsoft JavaScript Barcode SDK来创建Web扫码App. Web实时扫码 从GitHub上下载react-webcam. ... 
- 致研究者:2018 AI 研究趋势
			2017 年是机器学习领域最有成效.最具创意的一年.现在已经有很多博文以及官方报道总结了学界和业界的重大突破.本文略有不同,Alex Honchar在Medium发文,从研究者的角度分享机器学习明年发 ... 
- 【BZOJ3733】[Pa2013]Iloczyn (搜索)
			[BZOJ3733][Pa2013]Iloczyn (搜索) 题面 BZOJ 题解 把约数筛出来之后,直接爆搜,再随便剪枝就过了. 最近一句话题解倾向比较严重 #include<iostream ... 
- 【COGS1752】 BOI2007—摩基亚Mokia
			http://cogs.pro/cogs/problem/problem.php?pid=1752 (题目链接) 题意 给出$n*n$的棋盘,单点修改,矩阵查询. Solution 离线以后CDQ分治 ... 
- java字符数组char[]和字符串String之间的转换
			java字符数组char[]和字符串String之间的转换 觉得有用的话,欢迎一起讨论相互学习~Follow Me 使用String.valueOf()将字符数组转换成字符串 void (){ cha ... 
- python循环删除列表元素常见错误与正确方法
			python循环删除列表元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_ ... 
- C# 获取文件图标
			今天突然想到一个问题,如何去获取一个文件的关联图标呢?于是就上网搜索了一下.现总结如下: 首先明确问题:获取一个文件的关联图标或者是某个类型文件的显示图标. 在网上搜了一圈,发现方法还是比较多的,但是 ... 
- php拾遗: 类型约束
			突然间什么都不想干,感觉就像来大姨夫一样..但是又不能断了每个工作日都写博客的习惯..所以今天水一下吧. PHP用了快2年了,但是这东西竟然第一次看到,突然间,觉得自己有掉回战五渣的行列了.翻开官方文 ... 
