-
-
[原创]2018全国大学生信息安全竞赛----PWN签到题
-
发表于:
2018-4-29 18:28
7111
-
[原创]2018全国大学生信息安全竞赛----PWN签到题
第一次在大赛中做出PWN
题, 心情有点小激动.
0. 结构体
1.MENU
2. Add
add
一个 commodity
, 输入name, price, descrip_size
3. Del
del
一个commodity
, 数组的指针会清零, des
释放, price
清零
4. list
列出所有内容,
5. Change the price(没什么用)
6. Change the description of a commodity
漏洞在realloc
, 当重新分配的new_size < pre_size
, 返回原指针; new_size > pre_size
释放原原指针, 重新分配内存. 但数组中的s指针并没有改成新分配的堆指针, 仍指向已释放的, 这点很重要. 此时又分配一个node
, 恰好是这个已释放的堆, 那么上一个堆就可以编辑这个新分配的堆, 恐怖.
思路: 利用realloc
函数产生的释放原指针, 程序没有更新指针. 实现修改leak memory求得system真实地址
,修改atoi的got表值为system
, 发送/bin/sh\x00
.
步骤一
步骤二: leak memory
步骤三: modify
步骤四: get shell
相关文件
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
最后于 2018-4-30 18:41
被baolongshou编辑
,原因: