开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 890|回复: 23
收起左侧

[易源码分享] 微软漏洞导致桌面反复重启

[复制链接]
结帖率:0% (0/1)
发表于 2024-11-15 21:22:06 | 显示全部楼层 |阅读模式   重庆市重庆市
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
' 1、这段代码本身没有攻击性,就是个单纯的写出文件。
' 2、除非打了最新微软补丁,否则屏幕会反复重启,电脑将会无法正常使用。
' 3、电脑重启后此BUG依旧存在,电脑依旧无法正常使用!
' 4、BUG影响到win7、win10、win11系统。
' --------------BUG分析--------------
' 1、首先我们查看崩溃堆栈,可以看到加载额外图标资源崩溃,其实问题不出在图标资源本身而是另有玄机,我这里写出的就是易语言的默认图标。
' 2、windows有两套文件名管理逻辑,一个是长文件名,一个是短文件名。
' 3、windows下的短文件名其实是dos+fat12/fat16时代的产物,又称为8.3命名法,其中的8是指文件名或目录名的主体部分小于等于8个字符,其中的3是指文件名或目录名的扩展部分小于等于3个字符。
' 4、长文件名转短文件名都会包含一个~符号,问题就出在这里。
' 5、正常逻辑,如果文件名包含~符号,先判断是不是8.3格式,如果不是8.3格式则不处理,而判断是不是8.3格式第一步是判断文件名的长度。
' 6、我们逆向系统代码可以看到当判断文件名中包含~符号时,会调用LdrpCnvrtShortToLongFileName函数进行转换,转换过程中我们可以看到里面调用了NtQueryDirectoryFile函数来获取文件基本信息,其中就有文件名长度信息。
' 7、微软帮助文档中有写到,第六个参数和第八个参数代码传入了Heap和3,Heap是一段内存缓冲区,指向的是FileInformation指针,而FileInformation并不是一个固定的结构体,而是由第八个参数决定的,第八个参数转入的是3,对应的是FileBothDirectoryInformation,是一个结构体,我们通过计算,可以看到Heap+60,偏移60对应的值是FileNameLength,这个值就是文件名的长度,单位是byte!!!
' 8、if(v8<=0x104)看到这句条件判断没?0x104不就是260嘛,MAX_PATH啊!但是它的单位可不是字节啊!而是字符啊!我们这里写出的问题大于了130个字符,以UNICODE方式保存的文件名实际占用字节数要乘以2!显然大于了260这个逻辑!但问题是微软在这个if底下没有else!也就是说文件名超过了130个字符就没做任何处理就返回了!并且没有做任何事!引用返回结果的代码没有判断值的合法性,所以导致空指针异常,程序就崩溃了。这个低级的问题很神奇地出现在windows的内核ntdll的dll中。
' 9、直到10月8日的win11补丁KB5044284才对代码进行了修改,看起来是修复了,我们看看微软是咋修复的:
' 10、微软增加了一个else { v6=0xC0000106 },并没有解决byte和字符之间的关系,目前这个在问题上还有BUG可以利用,也许以后还会修复吧。


微软BUG会让桌面宕机重启依旧请谨慎测试.e

12.16 KB, 下载次数: 23, 下载积分: 精币 -2 枚

售价: 2 枚 精币  [记录]

微软桌面BUG

点评

https://www.bilibili.com/video/BV1Rf421v73F/   天津市天津市  发表于 2024-11-15 22:52

评分

参与人数 4好评 +1 精币 +6 收起 理由
光影魔术 + 2 开源精神必须支持~
mgfz + 1 + 2 感谢分享,很给力!~
kyo9766 + 1 感谢分享,很给力!~
多多帅吧 + 1 互相讨论,共同进步

查看全部评分


结帖率:100% (1/1)

签到天数: 15 天

发表于 2024-11-19 15:05:56 | 显示全部楼层   广西壮族自治区柳州市
感谢分享源码
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 23 天

发表于 2024-11-18 20:49:47 | 显示全部楼层   广东省湛江市
66666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 2024-11-16 20:33:53 | 显示全部楼层   江苏省连云港市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 18 天

发表于 2024-11-16 14:19:37 | 显示全部楼层   广东省汕头市
感谢大神分享~!
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 17 天

发表于 2024-11-16 13:58:57 | 显示全部楼层   山东省青岛市
抖音看见过科普和 反编译代码,感谢分享
回复 支持 反对

使用道具 举报

签到天数: 18 天

发表于 2024-11-16 12:00:09 | 显示全部楼层   浙江省嘉兴市
互相讨论,共同进步
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 9 天

 楼主| 发表于 2024-11-16 11:19:53 | 显示全部楼层   重庆市重庆市
mood1000 发表于 2024-11-16 11:07
升级补丁可以解决么

微软补丁算是临时解决了一下,但是根本问题还是没解决。
回复 支持 反对

使用道具 举报

签到天数: 21 天

发表于 2024-11-16 11:07:59 | 显示全部楼层   重庆市重庆市
升级补丁可以解决么
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)

签到天数: 9 天

 楼主| 发表于 2024-11-16 10:39:54 | 显示全部楼层   重庆市重庆市
1182410163 发表于 2024-11-16 08:35
你可以联系比尔盖茨领取别墅一套了

哈哈哈哈哈哈。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表