查看: 587|回复: 3

[Pwn] 全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

[复制链接]

1

主题

6

帖子

1

精华

VIP

Rank: 16

学币
140
荣耀
0
rank
63
违规
0
发表于 2020-9-2 00:32:43 | 显示全部楼层 |阅读模式

相关题目:

♦ n-2

题目链接:https://www.xuenixiang.com/ctfexercise-competition-417.html

感觉自己还是太菜了,一道简单的tcache我竟然想了两天。。。

典型的菜单的形式,乍一看好像很复杂,因为给的选项很多,但是其实真正用到的仍然只有create,delete,edit,print(增删改查)

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)


整体的思路:只用到了一个tcache的double free,本身并不难,但是我在理解题目意思上走了很多弯路,尤其是里面指针的操作,做到一大半才发现理解错了。。。

注意chunklist[]这个数组,它在bss段上,chunklist[2*idx]保存的是堆内存的指针,chunklist[2*idx+1]的相当于一个flag,释放堆内存时 flag就置为1,但是存指针的位置没有清空,而且在deleteUser中并不检测flag,这就存在一个doublefree的漏洞。
如下图,释放之后没有置空,只是在chunklist[2*idx+1]的位置上置零

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)


看一下保护:

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)


不能改got表,所以就该改bss段上管理指针的区域。
之后主要就是在bss段上的chunklist做文章。

先构造一个double free把堆分配到chunklist[0]的位置,然后修改里面的指针,就可以实现任意地址写。注意doublefree之后,0x20大小的tcachebin就已经被破坏掉了,之后也不能再去申请。
之后就是把__free_hook改写为system的地址,然后在bss段上伪造的chunk里填入'/bin/sh\x00',之后free这块内存即可


flag{65a4fa78-c453-4de6-b9da-b1b066a99739}

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)




exp.txt

2.56 KB, 下载次数: 0, 下载积分: 学币 -3

全国大学生信息安全大赛2019_pwn_babytcache(ciscn_2019_n_2)

评分

参与人数 1学币 +3 收起 理由
roger + 3 感谢您的热心分享,学逆向论坛有你更精彩!.

查看全部评分

温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的最好奖励,还可以获得学币奖励,请尊重作者的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
学逆向论坛-免费的逆向学习论坛

0

主题

16

帖子

0

精华

初级会员

Rank: 4

学币
8
荣耀
0
rank
0
违规
0

    发表于 2020-9-2 07:07:14 | 显示全部楼层
    支持学逆向论坛,资源不错!
    学逆向论坛-免费的逆向学习论坛

    0

    主题

    15

    帖子

    0

    精华

    VIP

    Rank: 16

    学币
    134
    荣耀
    0
    rank
    140
    违规
    0

      发表于 2020-9-17 20:15:56 | 显示全部楼层
      资瓷资瓷!资源丰富!
      学逆向论坛-免费的逆向学习论坛

      1

      主题

      27

      帖子

      0

      精华

      中级会员

      Rank: 8Rank: 8

      学币
      89
      荣耀
      0
      rank
      0
      违规
      0

        发表于 4 天前 来自手机 | 显示全部楼层
        大佬发一下地址
        学逆向论坛-免费的逆向学习论坛
        微信公众号
        快速回复 返回顶部 返回列表