2006年8月15日

Windows XP还是独领风骚,如火如荼的Linux还是只有可怜的0.36%,Apple的MacOS有上升的趋势!
OneStat.com通过对大量网站的用户点击和网络代理客户的抽样分析,得出了以下较为客观的数据。

The 10 most popular operating systems in the world on the web are:

1. Windows XP 86.80%
2. Windows 2000 6.09%
3. Windows 98 2.68%
4. Macintosh 2.32%
5. Windows ME 1.09%
6. Linux 0.36%
7. Windows NT 0.24%
8. Macintosh Power PC 0.15%


详细信息见:http://www.onestat.com/html/aboutus_pressbox46-operating-systems-market-share.html

posted @ 2006-08-15 15:31 Advance 阅读(423) | 评论 (6)编辑

2006年7月27日

软件测试的基本理论和要点,感觉作者说得很清晰透彻,故转载于此,供大家参考!

软件开发和使用的历史已经留给了我们很多由于软件缺陷而导致的巨大财力、物力损失的经验教训。这些经验教训迫使我们这些测试工程师们必须采取强有力的检测措施来检测未发现的隐藏的软件缺陷。

生产软件的最终目的是为了满足客户需求,我们以客户需求作为评判软件质量的标准,认为软件缺陷( Software Bug )的具体含义包括下面几个因素:

•  软件未达到客户需求的功能和性能;

•  软件超出客户需求的范围;

•  软件出现客户需求不能容忍的错误;

•  软件的使用未能符合客户的习惯和工作环境。

考虑到设计等方面的因素,我们还可以认为软件缺陷还可以包括软件设计不符合规范,未能在特定的条件(资金、范围等)达到最佳等。可惜的是,我们中的很多人更倾向于把软件缺陷看成运行时出现问题上来,认为软件测试仅限于程序提交之后。

在目前的国内环境下,我们几乎看不到完整准确的客户需求说明书,加以客户的需求时时在变,追求完美的测试变得不太可能。因此作为一个优异的测试人员,追求软件质量的完美固然是我们的宗旨,但是明确软件测试现实与理想的差距,在软件测试中学会取舍和让步,对软件测试是有百益而无一弊的。

下面是一些软件测试的常识,对这些常识的理解和运用将有助于我们在进行软件测试时能够更好的把握软件测试的尺度。

•  测试是不完全的(测试不完全)

很显然,由于软件需求的不完整性、软件逻辑路径的组合性、输入数据的大量性及结果多样性等因素,哪怕是一个极其简单的程序,要想穷尽所有逻辑路径,所有输入数据和验证所有结果是非常困难的一件事情。我们举一个简单的例子,比如说求两个整数的最大公约数。其输入信息为两个正整数。但是如果我们将整个正整数域的数字进行一番测试的话,从其数目的无限性我们便可证明是这样的测试在实际生活中是行不通的,即便某一天我们能够穷尽该程序,只怕我们乃至我们的子孙都早已作古了。为此作为软件测试,我们一般采用等价类和边界值分析等措施来进行实际的软件测试,寻找最小用例集合成为我们精简测试复杂性的一条必经之道。

•  测试具有免疫性(软件缺陷免疫性)

软件缺陷与病毒一样具有可怕的 “ 免疫性 ” ,测试人员对其采用的测试越多,其免疫能力就越强,寻找更多软件缺陷就更加困难。由数学上的概率论我们可以推出这一结论。假设一个 50000 行的程序中有 500 个软件缺陷并且这些软件错误分布时均匀的,则每 100 行可以找到一个软件缺陷。我们假设测试人员用某种方法花在查找软件缺陷的精力为 X 小时 /100 行。照此推算,软件存在 500 个缺陷时,我们查找一个软件缺陷需要 X 小时,当软件只存在 5 个错误时,我们每查找一个软件缺陷需要 100X 小时。实践证明,实际的测试过程比上面的假设更为苛刻,为此我们必须更换不同的测试方式和测试数据。该例子还说明了在软件测试中采用单一的方法不能高效和完全的针对所有软件缺陷,因此软件测试应该尽可能的多采用多种途径进行测试。

•  测试是 “ 泛型概念 ” (全程测试)

我一直反对软件测试仅存在于程序完成之后。如果单纯的只将程序设计阶段后的阶段称之为软件测试的话,需求阶段和设计阶段的缺陷产生的放大效应会加大。这非常不利于保证软件质量。需求缺陷、设计缺陷也是软件缺陷,记住 “ 软件缺陷具有生育能力 ” 。软件测试应该跨越整个软件开发流程。需求验证(自检)和设计验证(自检)也可以算作软件测试(建议称为:需求测试和设计测试)的一种。软件测试应该是一个泛型概念,涵盖整个软件生命周期,这样才能确保周期的每个阶段禁得起考验。同时测试本身也需要有第三者进行评估(信息系统审计和软件工程监理),即测试本身也应当被测试,从而确保测试自身的可靠性和高效性。否则自身不正,难以服人。

另外还需指出的是软件测试是提高软件产品质量的必要条件而非充分条件,软件测试是提高产品质量最直接、最快捷的手段,但决不是一个根本手段。

•  80-20 原则

80% 的软件缺陷常常生存在软件 20% 的空间里。这个原则告诉我们,如果你想使软件测试有效地话,记住常常光临其高危多发 “ 地段 ” 。在那里发现软件缺陷的可能性会大的多。这一原则对于软件测试人员提高测试效率及缺陷发现率有着重大的意义。聪明的测试人员会根据这个原则很快找出较多的缺陷而愚蠢的测试人员却仍在漫无目的地到处搜寻。

80-20 原则的另外一种情况是,我们在系统分析、系统设计、系统实现阶段的复审,测试工作中能够发现和避免 80% 的软件缺陷,此后的系统测试能够帮助我们找出剩余缺陷中的 80% ,最后的 5% 的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来。因为软件测试只能够保证尽可能多地发现软件缺陷,却无法保证能够发现所有的软件缺陷。

80-20 原则还能反映到软件测试的自动化方面上来,实践证明 80% 的软件缺陷可以借助人工测试而发现, 20% 的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分,因此尚有 5% 左右的软件缺陷需要通过其他方式进行发现和修正。

•  为效益而测试

为什么我们要实施软件测试,是为了提高项目的质量效益最终以提高项目的总体效益。为此我们不难得出我们在实施软件测试应该掌握的度。软件测试应该在软件测试成本和软件质量效益两者间找到一个平衡点。这个平衡点就是我们在实施软件测试时应该遵守的度。单方面的追求都必然损害软件测试存在的价值和意义。一般说来,在软件测试中我们应该尽量地保持软件测试简单性,切勿将软件测试过度复杂化,拿物理学家爱因斯坦的话说就是: Keep it simple but not too simple 。

•  缺陷的必然性

软件测试中,由于错误的关联性,并不是所有的软件缺陷都能够得以修复。某些软件缺陷虽然能够得以修复但在修复的过程中我们会难免引入新的软件缺陷。很多软件缺陷之间是相互矛盾的,一个矛盾的消失必然会引发另外一个矛盾的产生。比如我们在解决通用性的缺陷后往往会带来执行效率上的缺陷。更何况在缺陷的修复过程中,我们常常还会受时间、成本等方面的限制因此无法有效、完整地修复所有的软件缺陷。因此评估软件缺陷的重要度、影响范围,选择一个折中的方案或是从非软件的因素(比如提升硬件性能)考虑软件缺陷成为我们在面对软件缺陷时一个必须直面的事实。

•  软件测试必须有预期结果

没有预期结果的测试是不可理喻的。软件缺陷是经过对比而得出来的。这正如没有标准无法进行度量一样。如果我们事先不知道或是无法肯定预期的结果,我们必然无法了解测试正确性。这很容易然人感觉如盲人摸象一般,不少测试人员常常凭借自身的感觉去评判软件缺陷的发生,其结果往往是把似是而非的东西作为正确的结果来判断,因此常常出现误测的现象。

•  软件测试的意义 - 事后分析

软件测试的目的单单是发现缺陷这么简单吗?如果是 “ 是 ” 的话,我敢保证,类似的软件缺陷在下一次新项目的软件测试中还会发生。古语说得好, “ 不知道历史的人必然会重蹈覆辙 ” 。没有对软件测试结果进行认真的分析,我们就无法了解缺陷发生的原因和应对措施,结果是我们不得不耗费的大量的人力和物力来再次查找软件缺陷。很可惜,目前大多测试团队都没有意识到这一点,测试报告中缺乏测试结果分析这一环节。

结论:

软件测试是一个需要 “ 自觉 ” 的过程,作为一个测试人员,遇事沉着,把持尺度,从根本上应对软件测试有着正确的认识,希望本文对读者对软件测试的认识有所帮助

posted @ 2006-07-27 16:19 Advance 阅读(485) | 评论 (0)编辑

2006年7月26日

问题描述:
安装并注册完成后,运行Rational Robot时弹出一警告框:“The procedure entry point iphlpapi.IcmpSendEcho could not be located  in the dynamic link library ICMP.dll”。

尝试解决过程:
1. 卸载后重装,问题依旧。
2. 注册ICMP.dll文件(运行regsvr32  ICMP.dll命令),弹出警告:ICMP.dll was loaded,but the DllRegisterServer entry point was not found. 依然无法从该动态连接库中找到出口点。
3. 上Google狂搜一通,有类似问题症状的反应者,但却找不到奏效的解决办法,无奈ing!
4. 插入系统安装盘(Win2003ENG SP1)检测系统文件完整性,并运行Sfc /scannow指令,检测完后,重试,问题仍旧,郁闷ing!
5. 在C:\WINDOWS\system32 下找到ICMP.dll文件,备份后删除之,发现系统自动又生成一个,也无法进行替换,不过找到了问题的症结所在。

正确的解决办法:
重启机器,进入安全模式,将其它机器上的ICMP.dll考过来替换原有文件,重启再进入系统后问题解决!

总结:
问题在于ICMP.dll文件可能被损坏了,也无法进行注册,导致rational程序无法从中找到入口点,查看系统日志,也显示注册更新失败。失望这种问题不要再给我们带来不必要的困扰。

posted @ 2006-07-26 18:09 Advance 阅读(409) | 评论 (0)编辑

2006年7月4日

项目编译时出现以下错误:

将字符串转换为 uniqueidentifier 时出现语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 将字符串转换为 uniqueidentifier 时出现语法错误。

源错误:


行 110:FDataSet = new DataSet();
行 111:if (init_sql.Length>0)
行 112:FDataAdapter.Fill(FDataSet);
行 113:
行 114:}

究其原因,得出以下结论:

是由于参数类型和数据库字段类型不一致造成的,数据库字段类型是uniqueidentifier ,而程序中参数类型是string,需要转换,转换方法:
string guid=System.Guid.NewGuid().ToString();//或System.Guid.Empty.ToString();

System.Guid g=new Guid(guid);//给数据库字段赋值时转换为guid类型

或者不要定义成string类型的,直接定义成guid类型的,如

public static readonly string ZeroUniqueID="{00000000-0000-0000-0000-000000000000}";// 代表一个不存在的编号
改为
public static readonly Guid ZeroUniqueID=System.Guid.Empty;// 代表一个不存在的编号
这样就可以直接给数据库字段赋值了,不用做任何的转换。
posted @ 2006-07-04 17:57 Advance 阅读(2967) | 评论 (4)编辑

2006年3月19日

       最近北京的天气很不错,正是春暖宜人的时光,出门旅游是不二选择,可是最近自己还得为找工作的事情四处奔波,丝毫没有出外游玩的兴趣和心情,在这种疲于奔命的节奏中,周末了也只有对着PC发愣了,算是一种简单的放松……

       昔日愁着没时间踢足球,打网球……而今似乎有时间了却不知道是因为没心情了,还是因为别的什么原因,可能自己感觉冬天还在继续,只想“蛰伏”在屋里,如今也只有在电脑面前玩玩实况了……

posted @ 2006-03-19 13:17 Advance 阅读(191) | 评论 (0)编辑

2006年2月27日

    受影响系统:
    Microsoft Windows NT Workstation 4.0 Service Pack 6a 
    Microsoft Windows NT Server 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
    Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service Pack 3
    和Microsoft Windows 2000 Service Pack 4
    Microsoft Windows XP和Microsoft Windows XP Service Pack 1
    Microsoft Windows XP 64-Bit Edition Service Pack 1
    Microsoft Windows XP 64-Bit Edition 2003版
    Microsoft Windows Server 2003
    Microsoft Windows Server 2003 64-Bit Edition
    Microsoft NetMeeting
    Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE)和Microsoft
    Windows Millennium Edition (ME) 

 1、LSASS漏洞
       本地安全性授权服务(LSASS,Local Security Authority Subsystem Service)提供一种
接口,用来管理本地的安全、网络的授权及Active Directory服务。它能用来处理客户端及服
务器间的验证,同时包含了用来支持Active Directory服务的公用程序。最近发现LSASS服务
中存在未检查的缓冲区,导致存在缓冲溢出漏洞。攻击者成功利用该漏洞可以获得系统管理员权限。

       临时解决办法:
       * 使用个人防火墙,例如Windows XP和Windows Server 2003捆绑的Internet连接防火墙;
       * 在防火墙阻断以下端口:
         UDP 135, 137, 138和445端口,TCP 135, 139, 445和593端口
         在大于1024的端口阻断所有没有请求的流入通讯
         任何其他特别配置的RPC端口
       * 在支持高级TCP/IP过滤特性的系统上启用这个特性;
       * 在受影响系统上使用IPSec阻断受影响的端口。

    2、LDAP漏洞
       轻量级目录存取服务协议(LDAP,Lightweight Directory Access Protocol)是目
前通用的目录服务存取标准协议。最近发现windows系统的LSASS服务在处理特殊构造的LDAP协议包
时存在一个缺陷,当攻击者发送可以构造的LDAP数据包给LSASS,会导致LSASS服务停止响应并致使
系统重新启动,从而达到拒绝服务攻击。

       临时解决办法:
       * 在防火墙阻断LDAP TCP 389, 636, 3268和3269端口
       注意封锁这些端口会导致Active Directory域验证无法进行

    3、PCT 漏洞
      Private Communications Transport (PCT)通讯协议是属于SSL (Secure Sockets Layer)函数库的一部,PCT存在一个缓冲溢出漏洞,攻击者成功利用该漏洞可以获得系统管理员权限。这个
漏洞只存在于启用了SSL服务的系统中(通常情况下是win2000主域控制器)。另外所有使用SSL
协议的程序都可能受此漏洞的影响,他们包括:Microsoft Internet Information Services 4.0、
Microsoft Internet Information Services 5.0、Microsoft Internet Information Services 5.1、
Microsoft Exchange Server 5.5、Microsoft Exchange Server 2000、
Microsoft Exchange Server 2003、Microsoft Analysis Services 2000 (随SQL Server 2000 提供)
以及使用 PCT 的协议的其他商用程序。

      临时解决办法:
      * 通过注册表禁用PCT支持

    4、winlogon漏洞
       winlogon是windows系统的一个底层组件,用来提供交互式的登录支持,Winlogon.exe 是
 Windows 中用来管理与用户登录安全相关的互动操作的程序,它会处理登录、注销、锁定或
解除锁定系统、变更密码及其他相关的请求。
      当用户登录域系统的时候winlog服务会从域上读取相关的信息,并用这些信息来设定使
用者的环境。最近发现winlogon在这个过程中没有有效的检查获得数据的大小,导致一个缓冲
溢出漏洞存在。要想成功利用该漏洞,攻击者必须拥有该域中的一个可以修改域用户配置权限
的账号。

       临时解决办法:
     * 减少拥有帐号修改权限用户的数目

    5、Metafile漏洞
       WMF是windows系统中16位的影像图元格式,它可以同时包含向量和点阵格式的图信息。
       EMF是windows系统中32位的影像图元格式,它根据WMF改良扩充而来的。
       最近发现window系统在解析这些图元格式的过程中存在一个缓冲溢出漏洞,恶意的攻击者
可以发送特殊构造的文件给用户,诱使用户点击从而达到攻击目的,成功利用该漏洞,攻击者可以
获得系统权限。
      
       临时解决办法:
       * 如果使用Outlook 2002或之后版本的话,或Outlook Express 6 SP1或之后版本的话,
         以纯文本格式读取邮件消息以防范HTML邮件攻击。

    6、帮助和支持中心漏洞
       帮助和支持中心(HSC)是window中的帮助功能,可提供类似于是否需要下载安装更新软件等
各种帮助。HCP协议可以通过URL链接来开启帮助和支持中心功能,与能够通过标有http协议的
URL能够开启ie浏览器的功能非常相似。由于帮助和支持中心程序没有有效的检查通过HCP协议传
递来的信息,导致一个缓冲溢出漏洞存在。成功利用该漏洞,攻击者可以获得系统管理权限。

       临时解决办法:
       * 注销HCP协议
       * 如果在使用Outlook 2000 SP1或更早版本的话,安装Outlook E-mail安全更新
       * 如果使用Outlook 2002或之后版本的话,或Outlook Express 6 SP1或之后版本
         的话,以纯文本格式读取邮件消息以防范HTML邮件攻击。

    7、工具管理器漏洞
       工具管理器程序让使用者可以检查辅助程序的状态(如放大镜、屏幕小键盘、语音朗
读等),并能启动和停止这些辅助程序。由于该管理器在启动辅助程序时使用了系统权限,所
以本地的用户可以利用该程序获得系统管理权限。

       临时解决办法:
       * 在所有受影响系统中使用软件策略在不需要的地方禁用工具管理器
   
    8、Windows管理漏洞
       windows管理方式是windowxp允许建立的一种工作模式,在某些特殊情况下,普通的用
户可以建立这种工作模式并以系统权限来运行,从而达到权限提升的目的。

临时解决办法:
       * 删除受影响Windows管理接口(WMI)Provider
        
    9、本地描述符列表漏洞
       用来在本地描述符列表(Local Descriptor Table ,LDT)中建立项目的程序接口存
在一个权限提升漏洞,一个本地普通用户可以利用这个漏洞获得系统管理权限

       临时解决办法:
       无

    10、H.323漏洞
       H.323是一个ITU-T协议,它使基于数据包的系统能够进行多媒体通讯。它能够启动声
讯和图像会议系统,实现数据传输。windows在处理H.323协议时存在一个远程缓冲溢出漏洞,
成功利用该漏洞可以获得系统管理权限。

       临时解决办法:
       * 在防火墙阻断TCP 1720和TCP 1503的流入和流出通讯
 
    11、虚拟DOS机漏洞
        Windows内核支持的虚拟DOS机存在问题,本地攻击者可以利用这个漏洞提升权限。
        问题存在于支持16位代码的虚拟DOS机中,通过使处理机在Virtual86模式没有对进
程进行初始化VDM就执行代码,在WIndows 2000内核中会引起废弃NULL指针,如果内存分配在
虚拟地址0实际。通过在VDM数据地址上提供特殊的数据,可能写内核内存中的任意内容,导致
权限提升。
      
       临时解决办法:
       无

    12、协商SSP漏洞
        windows提供多种安全验证方式,因此当一个用户登录服务器时必须与服务器对使
用的验证的方式进行协商,协商SSP接口就是提供这项功能的windows组件。最近发现在
ssp接口中存在未检查的缓冲区导致缓冲溢出攻击的可能。成功利用该漏洞可以获得系统管
理权限,但是大多数情况下,这个漏洞都会导致服务崩溃。

       临时解决办法:
          * 禁用“集成Windows验证”
          * 禁止协商SSP

    13、SSL漏洞  CAN-2004-0120 风险级别 高
        微软安全套接层(Microsoft Secure Sockets Layer)函数库提供对安全通讯协议
的支持,这些协议包括Transport Layer Security 1.0 (TLS 1.0),
Secure Sockets Layer 3.0 (SSL 3.0),Secure Sockets Layer 2.0 (SSL 2.0), 和
Private Communication Technology 1.0 (PCT 1.0)协议。windows的SSL函数库没有
有效检查输入的数据,恶意的攻击者可以构造特殊的SSL请求,这些请求可能导致win2000和
winxp的SSL函数库停止响应,而在win2003中可能会导致系统重新启动。

临时解决办法:
* 在防火墙阻断443和636端口

    14、ASN.1 “Double Free” 漏洞 
        微软的ASN.1函数库存在一个远程代码执行漏洞。造成这个漏洞的原因是ASN.1函
数库存在Double Free(多次释放内存空间)的可能,一个恶意的攻击者可以构造特殊的代码
利用该漏洞去释放系统内存中本来已经被多次释放的内存空间,从而破坏系统内存的结构。
攻击者可以放置恶意的执行代码到被破坏的内存空间中,在特定的硬件环境下这些代码
可能会被以系统权限运行。但是大多数情况下,这样只会导致系统拒绝服务。

临时解决办法:


补丁下载:
  微软已经针对这些漏洞发布了相关的安全公告和补丁程序,你可以到我们网站上下载相关的补
丁程序安装:
winnt workstation 4.0 中文版+sp6补丁程序
winnt server 4.0 中文版+sp6补丁程序
window2000 中文版 +(sp1或sp2或sp3或sp4)补丁程序
winxp 中文版+sp1补丁程序
win2003 中文版补丁程序


微软安全公告MS04-012
Microsoft RPC/DCOM累积更新 (828741)

 影响系统:
   
    Microsoft Windows NT Workstation 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
    Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service
    Pack 3和Microsoft Windows 2000 Service Pack 4
    Microsoft Windows XP和Microsoft Windows XP Service Pack 1
    Microsoft Windows XP 64-Bit Edition Service Pack 1
    Microsoft Windows XP 64-Bit Edition 2003版
    Microsoft Windows Server 2003
    Microsoft Windows Server 2003 64-Bit Edition
    Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE)和Microsoft
    Windows Millennium Edition (ME)

详细信息:
1、RPC运行时间库漏洞
       默认情况下RPC-RUNTIME函数库安装在所有的windows操作系统中,该函数库为程序开发者
提供包括通讯服务、目录服务及安全服务的底层支持。Rpc-Runtime函数库在处理刻意构造的数据
包时可能发生条件竞争错误。攻击者利用该漏洞可以获得系统管理权限,但是由于条件竞争漏洞
的特殊性,利用该漏洞的攻击通常只能造成系统拒绝服务。

       临时解决办法:
       * 使用个人防火墙,例如Windows XP和Windows Server 2003捆绑的Internet连接防火墙
       * 在防火墙阻断以下端口:
         UDP 135, 137, 138和445端口,TCP 135, 139, 445和593端口
         在大于1024的端口阻断所有没有请求的流入通讯
         任何其他特别配置的RPC端口
         如果安装了的话,则阻断COM Internet服务(CIS)或RPC over HTTP端口(在80和443端
         口监听)
       * 在支持高级TCP/IP过滤特性的系统上启用这个特性;
       * 在受影响系统上使用IPSec阻断受影响的端口。
      
   2、RPCSS服务漏洞 CAN-2004-0120 风险级别高
        RPCSS服务存在一个拒绝服务攻击漏洞,当攻击者构造特殊的数据包到RPC监听的端口
(tcp 135、139、445、593,udp 135、138、139、445)会造成系统用来启动DCOM功能的RPCSS服
务失效,导致系统重新启动。
     
      临时解决办法:
      * 在所有受影响系统上禁用DCOM

   3、COM Internet服务(CIS) – RPC over HTTP漏洞
      RPC over HTTP使得程序能够在80和443端口使用RPC进行通讯,使得客户端可以透过代理或
者防火墙访问这两个端口的服务。COM Internet服务(CIS)让DCOM组件能够使用RPC over HTTP在
DCOM客户端和服务端进行通讯。CIS服务中存在一个拒绝服务攻击漏洞,恶意的攻击者可以发送特
殊构造数据包使得CIS服务失效,管理员只有重新启动IIS服务才能恢复正常。

      临时解决办法:
      * 如果在受影响系统中手动启用了CIS和RPC over HTTP的话,禁止向它们转发不可信任的
        资源
    * 如果不需要CIS或RPC over HTTP的话,在受影响系统中禁用这个功能

   4、对象标识漏洞
      window在对象标识建立时存在一个泄漏敏感信息漏洞,这个漏洞可能会导致攻击者拥有让
应用程序开放网络通讯端口的功能,虽然攻击者无法利用该漏洞直接控制或破坏系统,但是他可
以使用该端口进行通讯,并且你无法确定他会开放哪个端口进行通讯?

      临时解决办法:
       * 使用个人防火墙,例如Windows XP和Windows Server 2003捆绑的Internet连接防火墙
       * 在防火墙阻断以下端口:
         UDP 135, 137, 138和445端口,TCP 135, 139, 445和593端口
         在大于1024的端口阻断所有没有请求的流入通讯
         任何其他特别配置的RPC端口
         如果安装了的话,则阻断COM Internet服务(CIS)或RPC over HTTP端口(在80和443端
         口监听)
       * 在支持高级TCP/IP过滤特性的系统上启用这个特性;
       * 在受影响系统上使用IPSec阻断受影响的端口。

补丁下载:
  微软已经针对这些漏洞发布了相关的安全公告和补丁程序,你可以到我们网站上下载相关的补
丁程序安装:
winnt workstation 4.0 中文版+sp6补丁程序
winnt server 4.0 中文版+sp6补丁程序
window2000 中文版 +(sp1或sp2或sp3或sp4)补丁程序
winxp 中文版+sp1补丁程序
win2003 中文版补丁程序


微软安全公告MS04-013
Outlook Express累积安全更新 (837009)

影响系统:
    Microsoft Windows NT Workstation 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
    Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service
    Pack 3, Microsoft Windows 2000 Service Pack 4
    Microsoft Windows XP and Microsoft Windows XP Service Pack 1
    Microsoft Windows XP 64-Bit Edition Service Pack 1
    Microsoft Windows XP 64-Bit Edition 2003版
    Microsoft Windows Server 2003
    Microsoft Windows Server 2003 64-Bit Edition
    Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE)和Microsoft
    Windows Millennium Edition (ME)

影响软件:
    Microsoft Outlook Express 5.5 SP2
    Microsoft Outlook Express 6
    Microsoft Outlook Express 6 SP1
    Microsoft Outlook Express 6 SP1 (64 bit Edition)
    Windows Server 2003上的Microsoft Outlook Express 6
    Windows Server 2003上的Microsoft Outlook Express 6 (64 bit Edition)

详细信息:
    这是一个补丁集,它包含了Outlook Express 5.5和 Outlook Express 6之前发布的所有补丁
程序。并新修补了一个最新发现的安全漏洞,该漏洞是:
 
     1、MHTML URL处理漏洞
MHTML是 MIME Encapsulation of Aggregate HTML的缩写,它是一种网络编码格式,是用来定义
在电子邮件正文中如何传送html内容的MIME标准。MHTML URL处理功能是Outlook Express的一部
分,该功能提供了一种URL类型(MHTML://)使得程序中能转译MHTML文件。所有的应用程序(包
括IE)都会启动Outlook Express程序来处理MHTML编码的文件。
     Outlook Express在处理MHTML是存在一个缺陷,使得HTML中的脚本程序可以在
Internet Explorer本地安全区域内运行,这可能会导致攻击者获得系统管理权限。

     临时解决办法:
    * 加强Internet Explorer中“本地机器”区的安全设置
    * 如果在使用Outlook 2000 SP1或更早版本的话,安装Outlook E-mail安全更新
    * 如果使用Outlook 2002或之后版本的话,或Outlook Express 6 SP1或之后版本
      的话,以纯文本格式读取邮件消息以防范HTML邮件攻击。

补丁下载:
微软已经针对这些漏洞发布了相关的安全公告和补丁程序,你可以到我们网站上下载相关的补
丁程序安装:
Microsoft Outlook Express 5.5+sp2中文补丁
Microsoft Outlook Express 6中文补丁
Microsoft Outlook Express 6+SP1中文补丁
Microsoft Outlook Express 6 on Windows Server 2003中文补丁


微软安全公告MS04-014
Microsoft Jet数据库引擎中的漏洞可能允许代码执行

影响系统:
       
    Microsoft Windows NT Workstation 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Service Pack 6a
    Microsoft Windows NT Server 4.0 Terminal Server Edition Service Pack 6
    Microsoft Windows 2000 Service Pack 2, Microsoft Windows 2000 Service
    Pack 3和Microsoft Windows 2000 Service Pack 4
    Microsoft Windows XP和Microsoft Windows XP Service Pack 1
    Microsoft Windows XP 64-Bit Edition Service Pack 1
    Microsoft Windows XP 64-Bit Edition 2003版
    Microsoft Windows Server 2003
    Microsoft Windows Server 2003 64-Bit Edition
    Microsoft Windows 98, Microsoft Windows 98 Second Edition (SE)和Microsoft
    Windows Millennium Edition (ME)

影响程序:
    Microsoft Jet Database Engine 4.0版

详细信息:
    在Microsoft Jet数据库引擎(Jet)中存在缓冲区溢出,可能允许远程执行代码。
    成功利用这个漏洞的攻击者可以完全控制受影响的系统,包括安装程序,浏览,
    更改,删除数据,或以创建拥有完全权限的新帐号。
posted @ 2006-02-27 22:25 Advance 阅读(621) | 评论 (0)编辑

2005年8月28日

     摘要: .NET(C#)连接各类数据库-集锦
1.连接Access
2.连接SQL server
3.连接Oracle
4.连接MySQL
5.连接DB2
6.连接SyBase
7................  阅读全文
posted @ 2005-08-28 15:19 Advance 阅读(8722) | 评论 (10)编辑

2005年7月4日

博客园应该是用的UTF-8编码

但在中文的浏览器(IE,FireFox……)中,默认编码为GB2312,如果浏览器不能自动调整编码的话就会出现乱码现象,如下图:



手动改为UTF-8后恢复正常!

感觉编码的设置是在B/S开发中最令人头疼的问题之一了,前一段时间在做一个办公用品商务网站时就已经深恶痛绝了,其罪魁祸首就是UTF-8和GB2312的兼容问题。最初我们都统一使用UTF-8,连上数据库后,千奇百怪的乱码问题就接踵而至了,只要遇到GB2312的编码就是乱码,全部统一为UTF-8后无法解决问题。迫于无奈, 最后只好再换用GB2312了!

虽然UTF-8更适合国际趋势的发展,但就国内来说,GB2312更为普遍,不可避免的会遇到形形色色的兼容问题。

比起UTF-8来说,GB2312会有很多局限,但也有它自己的优势。

比如:UTF-8会多占用一些空间(一个汉字需3个字节)

看到很多地方都说UTF-8兼容GB2312、BIG5、EUC-JP等多种国家的语言编码,而恰好问题往往就出在UTF-8和GB2312的兼容问题上!其实只有GBK完全兼容GB2312,UTF-8的确没有像它说的那么完美。

不知道大家在遇到类似问题的时候是如何解决的?

总之发现很多时候直接用GB2312会比UTF-8省事,不过也是出于无奈的举措了,能用的话肯定首选UTF-8了!什么时候才能有一个完美兼容汉字编码code的呢?
posted @ 2005-07-04 14:49 Advance 阅读(3001) | 评论 (15)编辑

夏日北京……

溽暑难熬

假期又至!

堕落两天……

专点技术,

写点博客……

玩玩实况,

只待回家,

避暑休闲…………

posted @ 2005-07-04 12:55 Advance 阅读(426) | 评论 (0)编辑

2005年6月20日

     摘要: 6月16日,Mono 1.1.8发布了.Mono 1.1.8 是Mono发展到现在的第八个版本.
从1.1.1到1.1.2 ……再一直到现在, Mono 1.1.x series 最终将会通往下一个稳定的版本:Mono1.2,期待这一里程碑的到来!不过1.1.8版本对于大多数开发者来说,已经足够稳定了

今天说下Mono 在不同平台下的安装。  阅读全文
posted @ 2005-06-20 17:02 Advance 阅读(2168) | 评论 (0)编辑

2005年6月10日

最近开始在Linux下尝试.NET的开发.
Mono在.net的cross-platform develop上的确功不可没……
 
简单的说下mono,可能大家都已经比较熟悉了
mono中包括编译器、ECMA(欧洲计算机制造商协会)统一的运行时引擎(CLR)和很多类库。这些类库中囊括了微软的ADO.NET、System.Windows.Forms和 ASP.NET等。
另外还有mono自己的一个GTK#类库,一个GUI Toolkit;类似于任何windowing library的事件驱动系统。

最让人兴奋的便是基于GTK#的应用程序能运行在Linux、Windows、MacOS x等多个平台上,当然它的程序性能和外观还是在Linux-Gnome上是最佳了!看看下面的效果就知道了。

下图为GTK#中iFolder的截图:


未完,待续ing!

Mono使用日志(2)

posted @ 2005-06-10 20:47 Advance 阅读(2619) | 评论 (5)编辑

2005年5月11日

Visual Studio 2005 Beta2 简体中文版发布,中文论坛开通

发布日期: 5/10/2005 | 更新日期: 5/10/2005

微软公司刚刚发布了Visual Studio 2005产品系列中的三种简体中文测试版:

Visual Web Developer 2005 Express Beta2
可以从http://download.microsoft.com/download/9/c/d/9cdbd3a4-81f7-4ff1-ad4c-b48f9ea99b83/vwdsetup.exe 下载 
 

Visual Basic 2005 Express Beta2


为配合Visual Studio 2005 Beta2 中文测试版的发布,微软公司还开通了Visual Studio 2005 中文测试版中文论坛,以方便Visual Studio 2005 中文测试版的用户讨论Visual Studio的技术问题,向微软公司提供反馈意见,以及报告产品中可能存在的缺陷(Bug)。这5个中文论坛分别是:


下面是Visual Studio 2005 beta1的下载地址:
累计大小约在510M左右:

DotNET Framework Version 2.0 Redistributable Package Beta 1 (x86) - 24M
http://go.microsoft.com/fwlink/?linkid=30093&clcid=0x409

DotNET Framework 2.0 SDK Beta 1 x86 - 229M
http://www.microsoft.com/downloads/details.aspx?familyid=916EC067-8BDC-4737-9430-6CEC9667655C&displaylang=en

Visual Web Developer 2005 Express Edition Beta - 43.4M
http://go.microsoft.com/fwlink/?linkid=30092&clcid=0x409

SQL Server 2005 Express Edition Beta - 36M
http://go.microsoft.com/fwlink/?linkid=31760&clcid=0x409

Visual C# 2005 Express Edition Beta - 28.9
http://go.microsoft.com/fwlink/?linkid=30090&clcid=0x409

Visual Basic 2005 Express Edition Beta - 34.1M
http://go.microsoft.com/fwlink/?linkid=30088&clcid=0x409

Visual C++ 2005 Express Edition Beta - 65.3M
http://go.microsoft.com/fwlink/?linkid=30089&clcid=0x409

Visual J# 2005 Express Edition Beta - 32.3M
http://go.microsoft.com/fwlink/?linkid=30091&clcid=0x409

posted @ 2005-05-11 21:57 Advance 阅读(7064) | 评论 (7)编辑

2005年5月3日

     摘要: Imaging.cs using System;using System.Drawing;using System.Drawing.Imaging;namespace CSharp_Imaging_Moire_Fringe{    public sealed class Imaging&#... 阅读全文
posted @ 2005-05-03 11:33 Advance 阅读(1219) | 评论 (0)编辑
     摘要: C#编程模拟实现图形图象中摩尔纹效果.

摩尔纹是大屏幕显示器在显示大面积相同色彩的画面时,出现的彩色波浪状条纹。它会影响视觉效果,在Windows 98关机画面可以看到(Windows XP 关机画面改为逐渐灰化)。它是扫瞄线花纹与磷光体所产生的干扰现象。其强度与点距、点状大小、分辨率、屏幕大小及亮度等有关。

示例:XP系统关机时的摩尔纹现象

详细代码请见:http://www.cnblogs.com/advance/archive/2005/05/03/148989.html

  阅读全文
posted @ 2005-05-03 11:30 Advance 阅读(2809) | 评论 (3)编辑

2005年4月12日


当建立数据库连接后(测试已成功)出现下面的对话框,2005没有提供连接数据库的功能?



而手工添加并找到相应的数据库后却出现下面的提示:


不知道大家在使用时有没有出现上面的问题?
Beta版中的确不是太完善,期待2005正式版的推出!
posted @ 2005-04-12 18:43 Advance 阅读(1963) | 评论 (2)编辑

2005年3月15日

     摘要: 调用ActiveX控件编写播放器时,遇到了不少问题! 发现MS.NET2003中缺少对一些动态链接库的引用! 在调用ActiveX等多媒体控件时,需要用到的MediaPlayer.dll 和 AxMediaPlayer.dll需要自己生成。 首先用下面的命令为媒体播放器控件:msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。 aximp c:\win... 阅读全文
posted @ 2005-03-15 13:29 Advance 阅读(6429) | 评论 (10)编辑

2005年3月11日

程序代码如下:
using System;
using System.Management;

public class MAC
{
    
public static void Main()
    
{
        ManagementClass mc 
= new ManagementClass("Win32_NetworkAdapterConfiguration");  
        ManagementObjectCollection moc 
= mc.GetInstances();  
        
foreach(ManagementObject mo in moc)  
        

            
if((bool)mo["IPEnabled"== true)  
                Console.WriteLine(
"MAC address\t{0}", mo["MacAddress"].ToString());  
        }
  
        ManagementObject disk 
= new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");  
        disk.Get();  
        Console.WriteLine(
"Volume Serial Number: " + disk.GetPropertyValue("VolumeSerialNumber").ToString()); 
    }

}


输出如图:



通过上面的程序获取MAC物理地址和卷轴序列号!

posted @ 2005-03-11 15:20 Advance 阅读(1955) | 评论 (0)编辑

2005年3月9日

在ASP.NET中原始的出错页面会暴露部分源代码,由此带来了潜在的安全隐患。
ASP.NET允许应用程序出错时显示用户指定的页面,方法是在web.config文件中修改配置信息。

<? xml version="1.0" encoding="UTF-8" ?>
<configuration>
 
    
<system.web>
        
        
<customErrors mode="On" defaultRedirect="ErrorPage.htm" />
        
    
</system.web>
 
</configuration>

上面的配置信息明确指定了当应用程序出错的时候显示用户定制的页面ErrorPage.htm。并且因为各个应用程序有自己独立的web.config配置文件,所以应用程序之间不会互相干扰。

其中,mode属性表示是否启用定制的用户页面,它可取三个值,如下所示:
On 启用定制的出错页面
Off 禁用定制的出错页面
RemoteOnly 启用定制的出错页面但仅展示给远程用户

defaultRedirect属性表示用户定制出错页面的文件名。


<!-- 自定义错误信息
设置 customError 模式值可以控制应向
用户显示用户友好错误信息而不是错误详细信息(包括堆栈跟踪信息):

“On”始终显示自定义(友好的)信息
“Off”始终显示详细的 ASP.NET 错误信息。
“RemoteOnly”只对不在本地 Web 服务器上运行的
用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便
不向远程客户端显示应用程序的详细信息。
-->

注释中说明!
默认下是<customErrors mode="RemoteOnly" />只针对远程用户
改为<customErrors mode="On" defaultRedirect="ErrorPage.htm" />
后始终显示自定义的页面,而不显示程序的详细信息!
posted @ 2005-03-09 00:21 Advance 阅读(1349) | 评论 (0)编辑

2005年3月3日

类似Minix那样的系统,或者是写最简单的MOS系统,有常识过的吗?交流一下
posted @ 2005-03-03 12:42 Advance 阅读(1463) | 评论 (9)编辑

2005年1月16日

以学校食堂为背景,我们开发制作了这么一CS地图!发布给大家,希望大家玩得开心!

有关地图的说明:

该地图以北信一食堂和二食堂为背景的C4安包地图,包点分别设置在一食堂和二食堂,可供2~~10人同时撕杀!我们尽量按照实物图象来设计

地图,尽量使图的娱乐性和可玩性融合在一起,在保证警匪基本平衡的情况下,我们在图里加入了很多暗门和通道(包括电梯、遥控门等),

机关重重,等待玩家们的发现了!:)另外加入了一些娱乐设施(小鸡、卖饭的老板……)供广大玩家们消遣!

声明:该地图版权归北京信息工程学院学生科协所有,在不经过修改下,可以任意传播和使用!





游戏中截图:










 
点击下载地图安装包


posted @ 2005-01-16 22:47 Advance 阅读(1832) | 评论 (7)编辑

2004年11月30日

编写的程序只能在装有.NET环境的机器上运行,VS2003中怎样把程序打包啊?
posted @ 2004-11-30 13:19 Advance 阅读(2035) | 评论 (3)编辑

2004年11月26日

     摘要: C#中对ActiveX控件的调用 调用ActiveX控件编写播放器时,遇到了不少问题! 播放器如图:  15:45:46 using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windo... 阅读全文
posted @ 2004-11-26 18:53 Advance 阅读(1833) | 评论 (0)编辑

2004年8月5日

 

using System;
using Microsoft.ObjectSpaces;


//
// ObjectSpaces object 'Customer'.
//

public abstract class Customer 
{
    [UniqueId] 
public abstract string Id getset; }

    
public abstract string Name getset; }
    
public abstract string CompanyName getset; }
    
public abstract string Phone getset; }
    
public abstract string Fax getset; }

    
public void OnCreate(string newId) 
    
{
         Id 
= newId;
    }


}



//
// ObjectSpaces Tutorial #1
//

public class Example2 
{

    
public static void Main() 
    
{

       
try  
       
{

    
//
    
// Load in the Source.xml file (specifies the XmlObjectSpace to load in).
    
//

    IObjectSpace os 
= ObjectSpaceFactory.CreateObjectSpace("Source.xml");


    
//
    
// Create two new customers.
    
//

          Customer myCustomer 
= (Customer) os.CreateObject( typeof(Customer), "1" );
          myCustomer.Name 
= "Mario Esprito";
          myCustomer.CompanyName 
= "Infoltrix";
          myCustomer.Phone 
= "(111) 345 6777";
          myCustomer.Fax 
= "(222) 343 6744";

          myCustomer 
= (Customer) os.CreateObject( typeof(Customer), "2" );
          myCustomer.Name 
= "Frank Antuono";
          myCustomer.CompanyName 
= "Infoltrix";
          myCustomer.Phone 
= "(333) 345 6737";
          myCustomer.Fax 
= "(444) 343 6244";


    
//
    
// Once you have specified values for the fields, commit the changes to
    
// the underlying object storage.
    
//
    
          os.UpdateAll();


    
//
    
// Iterate through the newly created objects in the ObjectSpace and 
    
// print out object properties.
    
//

          
foreach(Customer theCustomer in os.GetObjects(typeof(Customer), "")) 
          
{
              Console.WriteLine(
" Customer Id: " + theCustomer.Id + 
                                
" Customer Name: " + theCustomer.Name + 
                                
" Company: " + theCustomer.CompanyName + 
                                
" Phone: " + theCustomer.Phone + 
                                
" Fax: " + theCustomer.Fax + " " );

          }


     }



  
//
  
// Catch any exceptions that might occur.
  
//

  
catch (Exception e) 
  
{
    Console.Write(e);
  }


   }

    
}


其中 Customer myCustomer = (Customer) os.CreateObject( typeof(Customer), "1" );
感觉文档中说得不太清楚!VS2003的ObjectSpace文档感觉写得太烂,很多细节都忽略了!
posted @ 2004-08-05 17:11 Advance 阅读(902) | 评论 (1)编辑

公告

北京时间

和我联系

给我发消息

访客统计

天气状况

友情博客

馨梦奇缘 — 我的网络日记

— MSN Spaces —

导航

<2008年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计