免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123456789
最近访问板块 发新帖
楼主: 独孤九贱
打印 上一主题 下一主题

新爆内核高危漏洞sock_sendpage的利用分析的讨论 [复制链接]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
81 [报告]
发表于 2010-01-20 10:31 |只看该作者
(这个 - 6是什么意思,大家指点一下)
在地址0x0处埋下代码kernel_code 函数,因为0x90 = nop, 0xe9 = jmp
上面代码可表示为在映射的地址0处,执行


查了一下手册。这里E9对应的jmp是相对跳转。也就是jmp 后面跟的操作数,应该是应跳转到的地址和当前下一条指令地址之间的差值。
当前jmp下一条指令的地址应该是6, 所以jmp后面的操作数应该是&kernel_code -6.
也就是*(unsigned long *)2 = &kernel_code -6

见intel的手册
E9 cw JMP rel16 A N.S. Valid
     Jump near, relative,displacement relative to next instruction. Not supported in 64-bit mode.
E9 cd JMP rel32 A Valid Valid
     Jump near, relative, RIP =RIP + 32-bit displacement sign extended to 64-bits

论坛徽章:
0
82 [报告]
发表于 2010-01-20 13:54 |只看该作者
原帖由 Godbach 于 2010-1-20 10:31 发表


查了一下手册。这里E9对应的jmp是相对跳转。也就是jmp 后面跟的操作数,应该是应跳转到的地址和当前下一条指令地址之间的差值。
当前jmp下一条指令的地址应该是6, 所以jmp后面的操作数应该是&kernel_code ...


nop, jmp各占一个字节, offset战4个字节,jmp后面的地址为便宜地址就是kernel_code的地址减去jmp之后下一条指令的地址, 下一条指令的地址就是1+1+4, 因为是从内存0开始算的。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
83 [报告]
发表于 2010-01-20 13:57 |只看该作者
        mem[0] = '\xff';
        mem[1] = '\x25';
        *(unsigned int *)&mem[2] = (sizeof(unsigned long) != sizeof(unsigned int)) ? 0 : 6;
        *(unsigned long *)&mem[6] = (unsigned long)&own_the_kernel;


另外一个例程使用的是绝对跳转,FF 25 是代表的JMP,但是这里mem[2]里面存储的int型数值是做什么呢?

论坛徽章:
0
84 [报告]
发表于 2010-01-21 14:20 |只看该作者
学习了,佩服佩服!

论坛徽章:
2
巨蟹座
日期:2014-03-09 21:37:25射手座
日期:2014-04-16 16:23:03
85 [报告]
发表于 2010-01-26 23:48 |只看该作者
强帖留名,很久没上CU了。最近google sendfile调用才看到此帖,呵呵,有空好好研究研究。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
86 [报告]
发表于 2010-01-27 10:29 |只看该作者

回复 #85 kwest 的帖子

确实很久没见到kwest兄了

论坛徽章:
0
87 [报告]
发表于 2010-07-23 19:09 |只看该作者
原来就是这样发现 系统 漏洞的阿`! 要是写补丁的话,是不是重新写个模块就可以了,然后内核编译呢,

  似乎我有点点感觉了,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP