老表带你学linux kernel pwn(五)结业考试

第一章 写在前面

​ 本篇是老表带你学linux kernel pwn入门系列的第五篇,也是入门系列的最后一篇。选取的是xman成都营中的level5,暂时没有在网上找到相关的思路介绍文章,通过前面四篇的积累,尝试解决level5给出解决过程。最后打算从不同kernel pwn的漏洞类型和cve的分析与利用入手。或者积累别的东西去,再说啦。

第二章 基础知识

第三章 目标准备与分析

3.1 逆向分析baby.ko

本小节逆向baby.ko,梳理驱动执行逻辑,解决分析时遇到的问题,为寻找漏洞位置做好准备

3.1.1 IDA中堆栈不平衡的解决方法

一上来按F5就报错,查了一下获得解决方案

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7xaVHnvq-1605422617183)(C:\Users\Siamese\AppData\Roaming\Typora\typora-user-images\image-20201115124329493.png)]

出现此错误消息的原因是由于指定的地址大于初始栈指针的地址,如果只是为了F5通过,可以按如下方式解决

  1. 打开栈指针检查

    O p t i o n → G e n e r a l → D i s a s s e m b l y 下 勾 选 S t a c k p o i n t e r Option\to General\to Disassembly下勾选Stackpointer OptionGeneralDisassemblyStackpointer

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ojIQToU-1605422617184)(C:\Users\Siamese\AppData\Roaming\Typora\typora-user-images\image-20201115125740414.png)]

  2. 调整栈指针便宜

    地址后出现的绿色数字表示栈指针和初始栈的偏移,再出现问题的0x5A那一行使用Alt+K,中间把偏移量减回来即可

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PyVQnoWG-1605422617185)(C:\Users\Siamese\AppData\Roaming\Typora\typora-user-images\image-20201115130212620.png)]

3.1.2 init_moule函数

注册了一个杂项设备,没什么问题

__int64 __fastcall init_module(__int64 a1, __int64 a2)
{
   
  _fentry__(a1, a2);
  return misc_register(&off_200);
}

3.1.3 free_get_preaddr函数

a 1 → i s _ e m p t y , a 3 → f p a1\to is\_empty,a3\to fp a1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值