sina.com.cn
新浪首页|免费邮件|用户注册|网站地图

科技时代

新浪首页 > 科技时代 > 软件 > 常用工具 > 正文
软件分类教程

● 系统工具
● 网络工具
● 常用工具
● 多媒体类
● 图像处理
● 文字编辑
● 休闲娱乐
● 办公软件
● 编程语言
● 操作系统
● 其它软件
● 软件评测
● 主页制作
● 观点评论





微软服务器软件IIS5.0编码漏洞简析

http://tech.sina.com.cn 2000/10/20  新浪科技 nsfocus 袁仁广

  分析微软程序一段时间,虽然找到了一堆漏洞,但还是赞叹微软程序接口的规范、分明的层次结构,又在程序中感受到了数学中那种严密的逻辑思维的美,所以经常留言灌水的时候我会留下一句"I love Microsoft."

  程序有BUG是很正常的,这也可以得到大家的理解,可BUG之外的一些东西就不能让人理解了。今天分析到一段程序,破坏了微软给我的这种好印象,真让我搞不懂微软到底要干什么。还是先让大家看看例子吧,中文简体WIN2000+IIS5.0环境。

  http://192.168.8.48/A.ida/%c1%00.ida

  文件 E:\Inetpub\wwwroot\A.ida\@.ida。 系统找不到指定的路径。

  解释:

  %c1%00解码成了c1 00,这正常。但再一次解码成了(c1-c0)*40+00=40='@'

  http://192.168.8.48/A.ida/%c1%01.ida

  文件 E:\Inetpub\wwwroot\A.ida\A.ida。 系统找不到指定的路径。

  解释:

  %c1%01解码成了c1 01,这正常。但再一次解码成了(c1-c0)*40+01=41='A'

  http://192.168.8.48/A.ida/%c1%02.ida

  文件 E:\Inetpub\wwwroot\A.ida\B.ida。 系统找不到指定的路径。

  ....

  http://192.168.8.48/A.ida/%c1%3a.ida

  文件 E:\Inetpub\wwwroot\A.ida\z.ida。 系统找不到指定的路径。

  ....

  大家可能还没意思到这能干什么,那看看我们能干什么吧。把计数器e: \inetpub\wwwroot\counter.asp拷贝成e:\inetpub\count.asp,也就是到了WEB目录的上级目录,文件名也改了避免混淆,这时在浏览器里面输入:http://192.168.8.48/..%c1%1ccount.asp,乖乖,计数器界面出来了,也就是说你访问到了WEB目录的上级目录。再结合一些别的技巧,可以看到虚拟目录所在盘任意文件。这点危害性不用我再多说,懂一点安全的就知道这是严重的"漏洞"了。打上SP1仍然还有这种编码问题。

  c1 1c,中文简体里面没有这种字,照正常的情况该根据内码转换文件\winnt\system32\c_936.nls会编码成"?"。大家会SOFT-ICE的可以实验,设置断点 bpx CreateFileA拦截文件打开操作,再打开一个文件,断点出来后把文件名最后修改成c1 1c,再设置断点bpx CreateFileW,g运行出来看看这个c1 1c 解码成了什么?解码成了3f就是"?"号,这是正常的汉字转换成内码结果。但对中文简体版IIS中c1 1c解码成了(c1-c0)*40+1c=5c='\',作为一个程序员,我真的不能读懂这段程序,虽然自认为长期看别人程序,能轻易看出编程程序员的思想,但在微软面前我还是只能承认我的水平还不到家。


  相关文章:

     

  【相关论坛】 【发表评论】  


网站简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息 | 网站律师

Copyright © 1996 - 2000 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网