2024-4-29

今日流水账:

  • 上午:
    • 还是在看相关源码,搞懂了 unix socket 和 inet soeket 的区别,并且终于搞懂了 SCM_RIGHTS 一些源码的细节,太不容易了~~~,但还是感觉效率不高,下午的把效率提起来了
  • 下午:
    • 搞了一下午,实锤了就是网上的 exp 有问题,艹了,主要就是他的 io_uring 写的代码有问题(:也有可能是已经过了两年了,liburing 库发生了一些变化。总的来说就是网上的 exp 自己封装了一些 io_uring 相关的东西,然后出现了一些问题,反正就是这个搞了我很久,最后还是得自己去分析调试,然后我去看了下 liburing 库的一些源码,发现其对漏洞利用根本没啥影响,所以直接用 liburing 库函数就行了,最后成功触发了漏洞:
      在这里插入图片描述
      然后编译了一个没有设置 KASAN 选项的内核进行测试,成功完成本地提取:
      在这里插入图片描述
      晚上在做最后的总结,这个漏洞就是完全复现完成了(:

晚上:

  • 把之前那个洞搞完了,没写分析博客,就简单记录了下(:不想写了,笔记有点瑕疵,也不想公开了。这个洞后面还得看看,还有一些细节(:不是漏洞的细节,而是 io_uring 子系统部分源码上的细节
  • 然后在找其他有价值,值得复现的漏洞

明日安排:

  • 趁热打铁,继续复现一些 io_uring 相关的漏洞,希望能够对 io_uring 子系统有一个比较深的理解

总结:小小总结一下

复现这个漏洞踩了好多坑,花费了很多时间,但是学到了很多,而且很多问题都是自己摸索着解决的,虽然花费了很多时间,但是还不错,当成功完成提权时,那种自豪感真的…,总的来说,自己学到了如下知识:

  • 对套接字有了更加清晰的认识,分析了部分源码,对 socket 这个函数总是有了一定的认识
  • 分析了部分 io_uring 源码,对这个子系统也逐渐熟悉起来了
  • 分析了 unix_gc 的源码,也算搞懂了 unix_gc 的原理(:其实挺简单的,但是开始把自己绕进去了,主要还是基础太差了
  • 对 DirtyCred 漏洞利用方式有了更加清晰的理解(:发现自己之前的一些理解都是存在错误的,悲
  • 对 file 的引用计数、打开文件表、内存 inode 表有个更加清晰的认识
  • 探索了一些环境相关的问题,希望后面再遇到,能够快速解决这些环境相关的问题

想起来最近我的一个同学问我的一个问题。

  • 我同学:你每天花费多少时间学习
    我:基本没咋学,很多时间都是在反复配环境,配环境的时间远远大于真正学习知识的时间
    我同学:配环境不也是学习的过程吗?

现在想想,是啊,配环境不也是学习的过程吗?反思从前的自己:是否之前自己是真的太浮躁了,每次复现漏洞都想找现成的环境,不愿意自己去探索,总想着赶紧完成复现,然后复现下一个漏洞,但是,正如之前一个大佬给我说的:单纯复现漏洞是没有任何意义的,你要从其中学习到经验。

所以像这次复现漏洞,由于大佬提供的环境存在一定的问题,而之前都是直接用大佬的环境,从而导致自己不知所措,最后花费了大量的时间去配环境,所以配环境其实也是一个学习的过程,这次你花费了大量的时间,等到下次,一切都会柳暗花明的。而且后面的时间是越来越宝贵的,如果自己在大一大二就养成好的习惯,自己去探索,也许就不会像现在这么狼狈,当然还好,还有时间,加油

在本次复现漏洞过程中,学习到了新的知识,也纠正了自己过去对一些技术的错误认识,总的来说是一次不错的体验😀😀😀

先提前发了,后面出去happy了

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值