《黑客防线》↑在攻与防的对立统一中寻求突破!2001年创刊的黑客技术专业刊物!

设为首页
收藏本站
联系我们
网站导航


技术论坛 - 公共交流区 - 技术交流 - 帖子浏览 - [分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
您是本贴第 125 位浏览者 本版版主
帖子浏览: [分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
  • vippangxievip
  • 等级: 钻石VIP
  • 发贴: 100 贴
  • 货币: 0 金币
  • 积分: 479 分
  • 经验: 3784 点
  • 体力: 16950 点
  • 注册: 2008-03-27
[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
Application: Novell Client <= 4.91 SP4

Web Site:http://www.novell.com/products/clients/

Platform: Windows

Bug: Local Stack overflow / B.S.O.D (unauthentificated user)

Impact: Critical
-------------------------------------------------------

1) Introduction

2) Bug

3) Proof of concept

4) Credits

===========

1) Introduction

===========

"Novell Client? 4.91 for Windows XP is workstation software that brings an easy-to-use, secure,
and manageable networking environment to Windows XP and Windows 2003 users.
It enables you to access NetWare? services from Windows XP workstations or 2003 Windows servers,
and tightly integrates either product into your NetWare network. For example,
with Novell Client for Windows XP, you can browse through authorized NetWare directories,
transfer files, print documents and use advanced NetWare services directly from a Windows XP workstation or Windows Server 2003."


======

2) Bug

======

There's a funny bug in novell client, a while ago a stack based overflow was present in the username field.
this as been patched, but i guess not properlly.

You have a username field limited to 255 chars, but when you fill up this field , and press login button
it tells you "not loggued in".
If you click on the "forgot passwd" link, it will popup a little windows with your username supplied printed,
stack based overflow occurs here, Allowing code execution .


=====

3)Proof of concept

=====

When you boot the machine,you'll be firstly prompted for your Novell login.
If you fill up username with 254's B ==> click login ==> forgotten password ==> B.S.O.D

If the workstation is allready loggued in:
novell ==> login Novell ==> 254's A ==> click login ==> forgotten password ==> Result:

Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
eax=41414141 ebx=00000111 ecx=00000001 edx=00000000 esi=00997980 edi=00997980
eip=73d22054 esp=00dff278 ebp=00dff200 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206

MFC42!Ordinal5163+0x492:
73d22054 8908            mov     dword ptr [eax],ecx  ds:0023:41414141=????????




=================

5)Credits

================

laurent gaffi?
laurent.gaffie[at]gmail[dot]com
爱上破解,有免费的师傅M~~
我很菜!
现在开始自学VB
今年要学会
2008-5-16 9:13:45
  • vippangxievip
  • 等级: 钻石VIP
  • 发贴: 100 贴
  • 货币: 0 金币
  • 积分: 479 分
  • 经验: 3784 点
  • 体力: 16950 点
  • 注册: 2008-03-27
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
没一个会看的懂的吗?
爱上破解,有免费的师傅M~~
我很菜!
现在开始自学VB
今年要学会
2008-5-18 11:28:14
  • cracker007_cugb
  • 等级: 黑客防线技术团队
  • 发贴: 12 贴
  • 货币: 0 金币
  • 积分: 100 分
  • 经验: 467 点
  • 体力: 2075 点
  • 注册: 2008-04-28
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
我来翻吧。第3部分可能有些朋友没看明白,我顺带解释了一下。

-------------------------------------------------

程序名: Novell客户端,版本<=4.91,sp4

下载网址http://www.novell.com/products/clients/

运行平台:windows

漏洞:本地堆栈溢出/蓝屏(未授权用户)

漏洞级别:严重

1)简介

2)漏洞

3)实战

4)发现者

---------------------------------------------------------------------

1)简介

此客户端是提供给win2003和winxp用户使用的,它提供了一个简单易用、安全、方便管理的网络环境。它使得你能够从win2003服务器或者winxp工作站访问NetWare服务,并且使得NetWare网络能与win2003/winxp高度集成。比如在winxp上使用这个客户端,你可以浏览授权的NetWare目录、传输文件、打印文档并且直接在winxp/win2003中使用高级的NetWare服务。

2)漏洞

此客户端存在一个有意思的漏洞。不久之前在用户名填写处发现了一个堆栈溢出漏洞,并且已经被打上补丁了,但我估计补丁有些问题。用户名这里最多允许填写255个字符,当你输入255个字符,按下登陆,程序将提示"未登陆".如果你此刻点击"忘记了密码",就会弹出一个显示了你前面输入的用户名的窗口,这个地方就存在溢出漏洞,可以执行代码。

3)实战

当你启动机器的时候,首先会提示你登陆Novell,如果你用254个B填写用户名,然后点登陆,然后点忘了密码,就会蓝屏。

如果你已经登陆了工作站,登陆Novell,然后用户名填254个A,然后点登陆,然后点忘记密码,此刻就会出现如下错误:

内存访问错误 - 代码c0000005(第一次)

第一次异常会在任何异常处理程序执行之前报告出来,这个异常可能被处理。执行异常指令前一刻的cpu环境如下所示:

eax=41414141 ebx=00000111 ecx=00000001 edx=00000000 esi=00997980 edi=00997980
eip=73d22054 esp=00dff278 ebp=00dff200 iopl=0         nv up ei pl nz na pe nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206

下一句执行异常代码:
73d22054(位于mfc42.dll中,故此客户端或其某个组件应该是mfc写的):
mov     dword ptr [eax],ecx

注意此刻eax.所以要访问41414141这块内存进行写入,此内存地址非法,造成access violation。

4)发现者

laurent gaffie
email: laurent.gaffie@gmail.com


-----------------------------------------------------------------
我是没看出来这个溢出漏洞的利用价值,最后只是访问输入的字母的asc形成的地址造成内存访问错误,并没有执行什么东西。应该只是一个造成崩溃的bug.
cracking&&coding
2008-5-18 13:29:54
  • 逍遥忘我
  • 等级: 核心组
  • 发贴: 394 贴
  • 货币: 0 金币
  • 积分: 100 分
  • 经验: 6923 点
  • 体力: 22475 点
  • 注册: 2007-12-22
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
额,楼上那位注意寄存器,我不大懂溢出,不过,这个貌似说的是一个什么软件在输入用户名那里有个溢出漏洞,而且根据描述很明显是一个缓冲区溢出漏洞,他测试时候用大长度的A而程序的缓冲区显然长度不够,最后导致eax被改,而后面又刚好有个访问内存的,所以这个是个很典型的缓冲区溢出漏洞。如果利用的话后果就不用介绍了,大家都知道溢出的效果,那是相当的好,呵呵。
蟲兒飛,蟲兒飛,隻要有妳陪~~!
2008-5-18 17:10:18
  • vippangxievip
  • 等级: 钻石VIP
  • 发贴: 100 贴
  • 货币: 0 金币
  • 积分: 479 分
  • 经验: 3784 点
  • 体力: 16950 点
  • 注册: 2008-03-27
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
你们英语怎么这么好 啊 、
我 好垃圾的
爱上破解,有免费的师傅M~~
我很菜!
现在开始自学VB
今年要学会
2008-5-18 17:23:52
  • cracker007_cugb
  • 等级: 黑客防线技术团队
  • 发贴: 12 贴
  • 货币: 0 金币
  • 积分: 100 分
  • 经验: 467 点
  • 体力: 2075 点
  • 注册: 2008-04-28
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
to 4楼:

  你仔细看代码,这个溢出只不过是把eax覆盖了,但是随后仅仅是把ecx写入到覆盖的eax指定的地址,既不能执行[eax]处的代码,也不能把冗余的用户名asc覆盖到特定的内存中,这样有什么利用价值呢?
cracking&&coding
2008-5-19 3:24:39
  • 逍遥忘我
  • 等级: 核心组
  • 发贴: 394 贴
  • 货币: 0 金币
  • 积分: 100 分
  • 经验: 6923 点
  • 体力: 22475 点
  • 注册: 2007-12-22
Re:[分享]这应该是个BUG,但是我 没看明白~高手翻译吧~~~
额,不好意思看反了,额,写入的话是没什么用。
蟲兒飛,蟲兒飛,隻要有妳陪~~!
2008-5-19 11:06:09