浏览模式: 普通 | 列表

推荐日志 Apache服务器配置安全规范及其缺陷

[ 2007-03-25 02:49:34 | 作者: sun ]
正如我们前言所说尽管Apache服务器应用最为广泛,设计上非常安全的程序。但是同其它应用程序一样,Apache也存在安全缺陷。毕竟它是完全源代码,Apache服务器的安全缺陷主要是使用HTTP协议进行的拒绝服务攻击(denial of service)、缓冲区溢出攻击以及被攻击者获得root权限三缺陷和最新的恶意的攻击者进行“拒绝服务”(DoS)攻击。合理的网络配置能够保护Apache服务器免遭多种攻击。我们来介绍一下主要的安全缺陷。

主要安全缺陷

(1)使用HTTP协议进行的拒绝服务攻击(denial of service)的安全缺陷

这种方法攻击者会通过某些手段使服务器拒绝对HTTP应答。这样会使Apache对系统资源(CPU时间和内存)需求的剧增,最终造成Apache系统变慢甚至完全瘫痪。

(2)缓冲区溢出的安全缺陷

该方法攻击者利用程序编写的一些缺陷,使程序偏离正常的流程。程序使用静态分配的内存保存请求数据,攻击者就可以发送一个超长请求使缓冲区溢出。

(3)被攻击者获得root权限的安全缺陷

该安全缺陷主要是因为Apache服务器一般以root权限运行(父进程),攻击者会通过它获得root权限,进而控制整个Apache系统。

(4)恶意的攻击者进行“拒绝服务”(DoS)攻击的安全缺陷

这个最新在6月17日发现的漏洞,它主要是存在于Apache的chunk encoding中,这是一个HTTP协议定义的用于接受web用户所提交数据的功能。 所有说使用最高和最新安全版本对于加强Apache Web服务器的安全是至关重要的。

正确维护和配置Apache服务器

虽然Apache服务器的开发者非常注重安全性,由于Apache服务器其庞大的项目, 难免会存在安全隐患。正确维护和配置Apache WEB服务器就很重要了。我们应注意的一些问题:

(1)Apache服务器配置文件

Apache Web服务器主要有三个配置文件,位于/usr/local/apache/conf目录下。 这三个文件是:


httpd.conf----->主配置文件
srm.conf------>填加资源文件
access.conf--->设置文件的访问权限


(2)Apache服务器的目录安全认证

在Apache Server中是允许使用 .htaccess做目录安全保护的,欲读取这保护的目录需要先键入正确用户帐号与密码。这样可做为专门管理网页存放的目录或做为会员区等。在保护的目录放置一个档案,档名为.htaccss。


AuthName "会员专区"
AuthType "Basic"


AuthUserFile "/var/tmp/xxx.pw" ----->把password放在网站外 require valid-user 到apache/bin目录,建password档 % ./htpasswd -c /var/tmp/xxx.pw username1 ----->第一次建档要用参数"-c" % /htpasswd /var/tmp/xxx.pw username2 这样就可以保护目录内的内容,进入要用合法的用户。

注:采用了Apache内附的模组。

也可以采用在httpd.conf中加入: 


options indexes followsymlinks 
allowoverride authconfig 
order allow,deny 
allow from all 


(3)Apache服务器访问控制

我们就要看三个配置文件中的第三个文件了,即access.conf文件,它包含一些指令控制允许什么用户访问Apache目录。应该把deny from all设为初始化指令,再使用allow from指令打开访问权限。


order deny,allow
deny from all
allow from safechina.net


  
设置允许来自某个域、IP地址或者IP段的访问。

(4)Apache服务器的密码保护问题

我们再使用.htaccess文件把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者rm.conf文件中使用 AccessFileName指令打开目录的访问控制。如:


AuthName PrivateFiles
AuthType Basic
AuthUserFile /path/to/httpd/users
require Phoenix
# htpasswd -c /path/to/httpd/users Phoenix


设置Apache服务器的WEB和文件服务器

我们在Apache服务器上存放WEB服务器的文件,供用户访问,并设置/home/ftp/pub目录为文件存放区域,用http://download.your.com/pub/来访问。在防火墙上设置apache反向代理技术,由防火墙代理访问。 

(1)Apache服务器的设置 

Apache服务器采用默认配置。主目录为/home/httpd/html,主机域名为Phoenix.your.com, 且别名到www.your.com中, 并且设置srm.conf加一行别名定义如下:


Alias /pub /home/ftp/pub/ 


更改默认应用程序类型定义如下: 


DefaultType application/octet-stream 


最后在/etc/httpd/conf/access.conf中增加一项定义


 
Options Indexes 
AllowOverride AuthConfig 
order allow,deny 
allow from all 


注:Options Indexes允许在找不到index.html文件的情况下允许列出目录/文件列表。AllowOverride AuthConfig允许做基本的用户名和口令验证。这样的话,需要在/home/ftp/pub目录下放入.htaccess,内容如下: 


  [root@ pub]# more .htaccess 
  AuthName Branch Office Public Software Download Area 
  AuthType Basic 
  AuthUserFile /etc/.usrpasswd 
  require valid-user 


用# htpasswd -c /etc/.usrpasswd user1  分别创建不同的允许访问/pub下文件服务的外部用户名和口令。

(2)在防火墙上配置反向代理技术.

在/etc/httpd/conf/httpd.conf  中加入 NameVirtualHost xxx.xxx.xxx.xxx # xxx.xxx.xxx.xxx ----->是防火墙外部在互联网上永久IP地址: 


  servername www.your.com 
  errorlog /var/log/httpd/error_log 
  transferlog /var/log/httpd/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 Apache服务器的IP地址。

  servername http://download.your.com/pub/
  errorlog /var/log/httpd/download/error_log 
  transferlog /var/log/httpd/download/access_log 
  rewriteengine on 
  proxyrequests off 
  usecanonicalname off 
  rewriterule ^/(.*)$ http://xxx.xxx.xx.x/$1 同上Apache服务器的IP地址。


设置防火墙上的DNS,让download.your.com和www.your.com 都指向防火墙的外部网地址xxx.xxx.xxx.xxx。

http://www.your.com访问主页,用http://download.your.com/pub/访问公共文件的下载区。

注:还需要在apache服务器主机上建立目录/var/log/httpd/download/,否则会出错。另外,也可以设置防火墙主机上的/home/httpd/html/index.html的属性为750来阻止访问,这是防外部用户能访问到防火墙上的Apache服务器的http://www.your.com中。 

总结:Apache Server是一个非常优秀,非常棒的服务器,只要你正确配置和维护好Apache服务器,你就会感受到Apache Server 所带来的好处,同样希望你能够通过阅读本文达到理论和实践双丰收的目的。

验证你的Apache来源途径

不要以为在Google上能够搜索到合适的Apache版本。如果你需要下载最新版本的Apache,那么你最好通过一个权威的镜像站点来下载。然而,即使这样也可能有问题,事实上,曾经就有黑客入侵过apache.org官方网站。所以,采用类似PGP的工具来验证Apache的数字签名就显得尤为重要。

保持更新Apache的补丁程序

如果你安装了Apache,你就必须及时更新安全补丁。如果没有及时的更新,那你的系统很容易受到网络上那些高危病毒的攻击。幸好,有几个简便方法可以更新Apache的补丁。参考我们关于保持更新Apache补丁的文章了解更多关于Apache服务器公告列表、Linux包管理系统和RedHat操作系统更新服务的信息。

避免使用.htaccess文件(分布式配置文件)

很多情况下需要几个管理员和内容管理者共同管理Apache服务器。一个常用的共享管理办法就是使用.htaccess文件,这样可以很灵活地对管理员以外的用户提供不同的配置控制权限。然而,这些文件也使得在集中安全管理之外还有相当多的安全控制权限——这些文件允许安全专业人士以外的其他用户改变服务器的访问控制许可配置。那些对粒度访问控制根本不熟悉的用户修改的配置可能在无意中会危害到你的系统安全。所以,除非必须使用,否则我们应该尽可能地避免使用这种访问控制系统。

监视系统日志

Apache为管理员提供了很全面的日志管理工具来对服务器的活动进行事后分析。Apache提供了多种不同的记录日志,但是对安全专业人士最重要的是访问日志。这个灵活的工具还具有了相当多的自定义功能,你可以按照你的需要很方便地记录尽可能多或者少的日志,以保证有效的分析。至少,你应该记录那些失败的认证企图和系统产生的错误。使用像AWStats一样的免费工具可以很轻松地完成分析任务。但是必须明确的一点是:监视日志只是一种事后分析手段。你可以利用它回顾和判断对服务器的攻击(和攻击企图),但是希望及时查看日志来对紧急情况做出快速反应是不可能的。如果需要进行预判反应,你应该考虑使用入侵预防系统如信息安全杂志评选的2003年度最新兴技术奖得主:Lucid Security公司的ipAngel系统。

管理文件系统

我们已经讨论了使用(或不使用).htaccess文件对管理文件访问权限的重要性。禁止通过文件系统许可对Apache服务器进行非授权修改也是很重要的。特别值得一提的是,你应该保证只有根用户才能修改存储在“/usr/local/apache ”目录的文件(或者你选择的任何Apache服务器的根目录)。确保只有根用户才能修改日志文件也很关键,这样可以防止用户掩盖他们的操作。

Apache 服务器日常配置

1、如何设 置请求等待时间

在httpd.conf里面设置:


TimeOut n


其中n为整数,单位是秒。

设置这个TimeOut适用于三种情况:

2、如何接收一个get请求的总时间

接收一个post和put请求的TCP包之间的时间

TCP包传输中的响应(ack)时间间隔

3、如何使得apache监听在特定的端口

修改httpd.conf里面关于Listen的选项,例如:


Listen 8000


是使apache监听在8000端口

而如果要同时指定监听端口和监听地址,可以使用:


Listen 192.170.2.1:80
Listen 192.170.2.5:8000


这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。

当然也可以在httpd.conf里面设置:


Port 80


这样来实现类似的效果。

4、如何设置apache的最大空闲进程数

修改httpd.conf,在里面设置:


MaxSpareServers n


其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。

同时也可以设置:


MinSpareServers n


来限制最少空闲进程数目来加快反应速度。

5、apache如何设置启动时的子服务进程个数

在httpd.conf里面设置:


StartServers 5


这样启动apache后就有5个空闲子进程等待接受请求。

也可以参考MinSpareServers和MaxSpareServers设置。

6、如何在apache中设置每个连接的最大请求数

在httpd.conf里面设置:


MaxKeepAliveRequests 100


这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。

7、如何在apache中设置session的持续时间

在apache1.2以上的版本中,可以在httpd.conf里面设置:


KeepAlive on
KeepAliveTimeout 15


这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp连接来发送,节约了网络资源和系统资源。

8、如何使得apache对客户端进行域名验证

可以在httpd.conf里面设置:


HostnameLookups on off double


如果是使用on,那么只有进行一次反查,如果用double,那么进行反查之后还要进行一次正向解析,只有两次的结果互相符合才行,而off就是不进行域名验证。

如果为了安全,建议使用double;为了加快访问速度,建议使用off。

9、如何使得apache只监听在特定的ip

修改httpd.conf,在里面使用


BindAddress 192.168.0.1


这样就能使得apache只监听外界对192.168.0.1的http请求。如果使用:


BindAddress *


就表明apache监听所有网络接口上的http请求。

当然用防火墙也可以实现。

10、apache中如何限制http请求的消息主体的大小

在httpd.conf里面设置:


LimitRequestBody n


n是整数,单位是byte。cgi脚本一般把表单里面内容作为消息的主体提交给服务器处理,所以现在消息主体的大小在使用cgi的时候很有用。比如使用cgi来上传文件,如果有设置:


LimitRequestBody 102400


那么上传文件超过100k的时候就会报错。

11、如何修改apache的文档根目录

修改httpd.conf里面的DocumentRoot选项到指定的目录,比如:


DocumentRoot /www/htdocs


这样http://localhost/index.html就是对应/www/htdocs/index.html

12、如何修改apache的最大连接数

在httpd.conf中设置:


MaxClients n


n是整数,表示最大连接数,取值范围在1和256之间,如果要让apache支持更多的连接数,那么需要修改源码中的httpd.h文件,把定义的HARD_SERVER_LIMIT值改大然后再编译。

13、如何使每个用户有独立的cgi-bin目录

有两种可选择的方法:

(1)在Apache配置文件里面关于public_html的设置后面加入下面的属性:


ScriptAliasMatch ^/~([^/]*)/cgi-bin/(.*) /home/$1/cgi-bin/$2

(2)在Apache配置文件里面关于public_html的设置里面加入下面的属性:
<CENTER><ccid_nobr>
<table width="400" border="1" cellspacing="0" cellpadding="2"
bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">
<tr>
<td bgcolor="e6e6e6" class="code" style="font-size:9pt">
<pre><ccid_code>  
Options ExecCGI
SetHandler cgi-script


14、如何调整Apache的最大进程数

Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中看到:


#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif


你可以把它调到1024,然后再编译你的系统。

15、如何屏蔽来自某个Internet地址的用户访问Apache服务器

可以使用deny和allow来限制访问,比如要禁止202.202.202.xx网络的用户访问:


o&#114;der deny,allow
deny from 202.202.202.0/24


  

16、如何在日志里面记录apache浏览器和引用信息

你需要把mod_log_config编译到你的Apache服务器中,然后使用下面类似的配置:

CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""

17、如何修改Apache返回的头部信息

问题分析:当客户端连接到Apache服务器的时候,Apache一般会返回服务器版本、非缺省模块等信息,例如:


Server: Apache/1.3.26 (Unix) mod_perl/1.26


解决:

你可以在Apache的配置文件里面作如下设置让它返回的关于服务器的信息减少到最少:


ServerTokens Prod


注意:

这样设置以后Apache还会返回一定的服务器信息,比如:


Server: Apache


但是这个不会对服务器安全产生太多的影响,因为很多扫描软件是扫描的时候是不顾你服务器返回的头部信息的。你如果想把服务器返回的相关信息变成:


Server: It iS a nOnE-aPaCHe Server


那么你就要去修改源码了。

推荐日志 不用改文件名 防止IIS文件被下载方法

[ 2007-03-25 02:49:16 | 作者: sun ]
如何才能防止encry目录下的所有文件被非法下载呢?我们可以应用IIS中的应用程序映射结合ASP.NET中的IHttpHandler自定义权限,把IIS应用程序映射用于所有文件,并将控制权交给我们自己实现的IHttpHandler

首先添加应用程序映射:打开IIS管理器->右击我们要控制下载的站点->在属性对话框中“配置...”,将文件改为你自己.netFramework ASPnet_isapi.dll的路径。

然后修改web.config,在system.web下添加httpHandlers项,


<system.web>
...
<httpHandlers>
<add verb="*" path="encry/*.*" type="CustomHttpHandler.Class1,CustomHttpHandler"></add>
</httpHandlers>
...
</system.web>


下面来实现IHttpHandler


//------------------------file:Class1.cs---------
using System;
using System.Web;
namespace CustomHttpHandler
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1 : System.Web.IHttpHandler
{
public Class1()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
#region IHttpHandler 成员

public void ProcessRequest(HttpContext context)
{
// TODO: 添加 Class1.ProcessRequest 实现
// string strRefUrl=context.Request.ServerVariables["HTTP_REFERER"];
/*插入您自己的代码,读文件内容并填充Response,该例仅简单返回一条错误信息*/
context.Response.Write("您无法访问该页");
}

public bool IsReusable
{
get
{
// TODO: 添加 Class1.IsReusable getter 实现
return false;
}
}

#endregion
}
}

推荐日志 识别文本文件型邮件附件欺骗方法

[ 2007-03-25 02:49:04 | 作者: sun ]
在众多媒体的宣传报道下,今天的我们都知道了不能轻易打开电子邮件里的可执行文件类的附件,但是显然那些破坏活动的制造者们也看了那些警告防范的文章,他们开始玩一些新的把戏,让您以为那些附件只不过是没有危险的文本文件或是图像文件等就是其手段之一。由于目前大多数人使用的是windows系列操作系统,windows的默认设置是隐藏已知文件扩展名的,而当你去点击那个看上去很友善的文件,那些破坏性的东西就跳出来了。您可能说这我早就知道了,那么下面讲述的.txt文件的新欺骗方法及原理您知道吗?
  假如您收到的邮件附件中有一个看起来是这样的文件:QQ靓号放送.txt,您是不是认为它肯定是纯文本文件?我要告诉您,不一定!它的实际文件名可以是QQ靓号放送.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}。{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}在注册表里是HTML文件关联的意思。但是存成文件名的时候它并不会显现出来,您看到的就是个.txt文件,这个文件实际上等同于QQ靓号放送.txt.html。那么直接打开这个文件为什么有危险呢?请看如果这个文件的内容如下:

  您可能以为它会调用记事本来运行,可是如果您双击它,结果它却调用了HTML来运行,并且自动在后台开始格式化d盘,同时显示“Windows is configuring the system。Plase do not interrupt this process。”这样一个对话框来欺骗您。您看随意打开附件中的.txt的危险够大了吧?

  欺骗实现原理:当您双击这个伪装起来的.txt时候,由于真正文件扩展名是.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。

  文件内容中的第2和第3行是它能够产生破坏作用的关键所在。其中第3行是破坏行动的执行者,在其中可以加载带有破坏性质的命令。那么第2行又是干什么的呢?您可能已经注意到了第2行里的“WSCript”,对!就是它导演了全幕,它是实际行动总指挥。

  WScript全称Windows Scripting Host,它是Win98新加进的功能, 是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于c:WINDOWS下,正是它使得脚本可以被执行,就象执行批处理一样。在Windows Scripting Host脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。

最近盗号很猖獗,大家一定要小心看管自己的账号!这里有一些小技巧希望大家能注意下。

1、公共场所上网、下机前,务必重起电脑

相信现在网吧电脑都100%安装了还原系统,重起电脑基本可以杜绝菜鸟级别的盗号手段。

2、上网过程中,坚决不打开别人发你的不明链接

记得有一次,正跟玩魔力的朋 友QQ聊天。他莫名其妙的让我去某网址看照片。我正犹豫的时候,他紧接着发过来一句“千万别开那网页,有病毒!我电脑已经感染了……”

上网,不要浏览乱七八糟的网站,尤其是现在的一些卖虚拟财产的网站,广告价格特别便宜,其实就是引人上当。如果你上网感觉不明原因的电脑运行慢了,立刻重起电脑。

3、不要随便陷入“网恋”

“网恋”骗号,损失的不只是物质财富,还有感情。网络,只是一个虚拟的世界,不要过于想入非非。账号尽量不要告诉别人,特别是异性,除非你绝对相信他!

4、账号、密码错位输入

比如你的账号是“ABcdEFG”,你输入的时候先输入“cd”,再用鼠标把光标移动盗最前面输入“AB”,再用鼠标把光标移动到最后输入“EFG”。这种方法可以让大多数木马失效。

推荐日志 保障安全 杀毒软件让你的电脑更坚强

[ 2007-03-25 02:48:40 | 作者: sun ]
在享受互联网为工作和生活带来便利的同时,人们也不可避免地面临着各种病毒的滋扰。

病毒和杀毒软件就像矛和盾,面对种类不断变化和杀伤力不断增强的病毒,电脑系统、商业机密、个人隐私面临着巨大的威胁,采取适合自己的防杀病毒的工具也就成为人们有效防护网络安全的盾牌。该选择怎样的杀毒软件来保护你的电脑呢?现在的杀软更新真是快,2006的硝烟尚未散去,国产三巨头的2007版本便粉墨登场了。看看在对几款主流杀毒软件做出的比较后,你是不是会更好地选择了呢?

国内杀毒软件

金山毒霸 2007

该软件最强悍的功能就是加入了杀壳的功能。加壳的病毒木马一直是国内的杀毒软件检测不出来的,金山毒霸2007这一特点无疑为其增添不少魅力。

金山毒霸2007是一款功能强大、方便易用的个人及家庭首选反病毒产品,包括金山毒霸、金山网镖、金山反间谍和金山漏洞修复。金山毒霸脱壳引擎模块的发布,大幅度改善了金山毒霸对已知计算机病毒被人为加壳后的查杀能力,以及由于壳的原因带来的对已知计算机病毒查杀能力的问题。

江民杀毒软件KV2007

可有效清除20多万种已知计算机病毒、蠕虫、木马、黑客程序、网页病毒、邮件病毒、脚本病毒等,全方位主动防御未知病毒,新增流氓软件清理功能。

新推出第三代BOOTSCAN系统启动前杀毒功能支持全中文菜单式操作,使用更方便,杀毒更彻底。

新增可升级光盘启动杀毒功能,可在系统瘫痪状态下从光盘启动电脑并升级病毒库进行杀毒。该软件还具有反黑客、反木马、漏洞扫描、垃圾邮件识别、硬盘数据恢复、网银网游密码保护、IE助手、系统诊断、文件粉碎、可疑文件强力删除、反网络钓鱼等十二大功能。

瑞星杀毒软件2007

基于第八代虚拟机脱壳引擎(VUE)研制开发的新一代信息安全产品,能准确查杀各种加壳变种病毒、未知病毒、黑客、木马、恶意网页、间谍软件、流氓软件等有害程序,在病毒处理速度、病毒清除能力、病毒误报率、资源占用率等主要技术指标上实现了新的突破。

用户可以免费下载安装包,具有免费查毒和实时监控功能,无需用户每次都连接到互联网就能免费查毒。

瑞星“虚拟机脱壳”引擎(VUE),是在计算机中构建一个仿真的运行环境,让加壳病毒在运行中自行脱壳、还原到原始形态,这样就能方便、彻底地将病毒清除掉,它还可以将杀毒软件的病毒库减小1/3,并极大降低对系统资源的占用,使电脑运行得更流畅。

国外杀毒软件

卡巴斯基

Kaspersky(卡巴斯基)杀毒软件来源于俄罗斯,是世界上最优秀、最顶级的网络杀毒软件,查杀病毒性能远高于同类产品。

卡巴斯基杀毒软件具有超强的中心管理和杀毒能力,能真正实现带毒杀毒,提供了广泛的抗病毒解决方案。

该软件提供了所有类型的抗病毒防护:抗病毒扫描仪,监控器,行为阻断和完全检验,支持几乎所有的普通操作系统、e-mail通路和防火墙。

诺顿

诺顿杀毒软件是赛门铁克公司的产品,在国际上具有很高的知名度。诺顿杀毒软件可帮你侦测上万种已知和未知的病毒。

当你从磁盘、网络上、e-mail夹档中开启文件时便会自动侦测文件的安全性,若文件内含病毒,便会立即警告,并作适当的处理。

诺顿具有防御非病毒性威胁,同病毒一样,间谍程序、击键记录程序等非病毒性威胁也会危害电脑的安全。诺顿防病毒可以通过扫描检测到这些威胁,并且针对这些非病毒性威胁提供持续的防护更新。

McAfee

全球最畅销的杀毒软件之一,除了操作界面更新外,也增加了许多新功能。除了帮你侦测和清除病毒,它还有VShield自动监视系统,会常驻在System Tray,当你从磁盘、网络上、e-mail文件夹中开启文件时便会自动侦测文件的安全性,若文件内含病毒,便会立即警告,并作适当的处理。

该软件还支持鼠标右键的快速选单功能,并可用密码将个人的设定锁住,让别人无法乱改你的设定。

系统维护软件

对于初级用户来说,学会了电脑的基本操作,最头痛的就是安全问题。时不时的死机和病毒的侵害、数据的丢失以及网络安全问题都是我们时刻面临的威胁,因此,有必要使用系统维护软件维护系统的正常运行。

维护操作系统

一键还原精灵

一键还原精灵是一种备份C盘的软件,而且可以免费使用。

与ghost手工备份不同的是,一键还原精灵在安装时先在硬盘最末部分分割出一个分区,用来存放备份。为了防止被误删,该分区是隐藏的,在Windows资源管理器里看不到,而且备份文件位于隐藏分区,不受病毒感染。

一旦系统崩溃,使用者按指导操作即可将已备份系统盘符下的所有文件还原。

维护硬盘

Windows优化大师

Windows优化大师小巧的系统信息查看、清理、维护等功能强大,能够全面扫描出计算机中的硬件信息和系统中的垃圾、错误。注册用户还可以得到硬件优化方案,方便快捷地清除扫描出的垃圾和错误。

超级兔子

超级兔子是完整的系统维护工具,可以清理大多数的文件、注册表里面的垃圾,同时还有强力的软件卸载功能,可以清理应用软件在电脑内的所有记录。

其中,超级兔子上网精灵具有IE修复、IE保护、恶意程序检测及清除工能,还能防止其他人浏览网站,阻挡色情网站,以及端口的过滤。超级兔子系统检测可以诊断一台电脑系统的CPU、显卡、硬盘速度,还有磁盘修复及键盘检测功能。

对付流氓软件

360安全卫士

360安全卫士是奇虎公司推出的反流氓软件的得力工具,更新很快,基本上每周都会更新特征库。有流氓软件清理、系统进程监控、系统全面诊断等功能,还辅助有IE历史文件、cook-ie、自动保存的密码清理等功能。

卸载软件

完美卸载

完美卸载软件可以在安装软件时监视系统状态,详细记录新装软件在系统中的存储情况,以及在注册表中的新加项目。到目前为止,完美卸载软件都是免费对外的,并且提供免费实时升级。

推荐日志 Web程序源代码加以保护

[ 2007-03-25 02:48:28 | 作者: sun ]
这里的所谓“Web源代码”,指的是客户端的诸如HTML、Javascript之类的东西,当你辛辛苦苦写出来一个web应用程序时,可能希望自己的劳动成果不被别人任意剽窃修改,但是这些东西如果不加处理,很容易被人拷贝。

其实说实话,我个人认为,作为描述性的语言,web源代码没有经过编译,也就是说,无论怎么加密,它在客户端都会最终以源代码形式出现,要绝对的防止被察看是不可能的。但是,我们还是要讨论这个问题,因为虽然没有绝对,但是相对比较安全就好了,正如系统的安全没有绝对,只有相对一样。只要能让绝大多数人束手无策,我们的目的也就达到了。

首先,禁止右键是一个比较常见的方法,这无论如何是不能彻底阻止用户察看源代码,但是既然无法防止用户察看代码,就只能把代码加工,让人看了也无法理解其意义。

一个比较经典而有效的方法是利用的js的escape方法,将源代码经过escape编码后,大部分文字被转换成了型如%xx的编码,unicode字符被转换成%uxxxx格式,于是看起来一片混乱。使用的时候先将这段编码作为数据,利用unescape转换回原貌,再用js写进需要的位置,于是便可正常使用了。

这个方法原理简单,而且可以反复调用,将源代码经过数层加密(将解密的程序本身也作为源代码进行加密),已经足以让大部分的人摸不着头脑了。他的缺点是编码效率不高,经过编码后数据量增加很多。而且这种编码要解也很容易。

仿照这个原理,其实你可以自己写出自己的算法来代替escape,不过因为这个部分源代码也是明文,所以其实意义不大,只能唬唬那些利用现成工具解码的人,稍微会编程的人都可以利用你的源代码部分,修改一下输出,得到你的代码明文。

作为全球最大的软件商,微软公司也意识到了脚本的知识产权保护问题,因此在IE5以上的版本里加入了对编码脚本的支持,这里的“编码”和上面所述的略有不同,这是通过微软专门的wse(windows script encoder)进行脚本编码,其范围也不仅仅局限于客户端脚本,它也可以对wsh,甚至服务器端的ASP脚本进行编码,经过编码的脚本看起来是一堆乱七八糟毫无疑义的字符(好像unicode会不经编码原封不动的保留下来),在运行的时候在脚本引擎内部进行解码,由于解码算法是脚本引擎内置的,所以一般人难以解出源代码。另外,由于解码中要进行完整性效验,即使unicode以原码显示出来了也不能被修改,修改哪怕是一个字节,就会使整段代码失效。

这个方法目前看来很安全,还没有现成的工具对其进行破解。但是要知道,这些算法是可逆的,也就是说迟早会有人找出其算法,我甚至猜测script engine本身提供了编码解码的接口,可以直接调用的。解密工具迟早要出来。而且这个加密方法有个很大的缺陷,就是必须要求IE5以上才能用,要知道,IE4的用户不在少数,因此在很大程度上限制了推广使用。

真的没有两全的办法了吗?

写到这里,我自己产生了一个想法:利用随机密匙+固定或随机算法进行加密,只是一时想法,还不成熟,而且也只是可以骗过一般人而已,不妨写下来供参考:

先想一种需要密匙的算法,比如xor,在服务器端写好加密算法,当用户访问此页的时候生成一个随机密匙,将解密算法以及加密后的数据发到客户端页面上,而在之前将此次会话生成的密匙通过某种特别途径发给客户端(比如服务器发来的cookie),然后在客户端读出cookie里的密匙进行实时解密。由于不带过期参数的cookie是存在内存里的,在硬盘里找不到,因此除非用户知道写cookie的那个页面并且察看其http头(同时还要向服务器发去维持本次会话的sessionID以防止密匙改变),否则是无法解密的。由于向客户端发送cookie的页面可以随机(可以在加密页面出现之前的任意页面),而且密匙甚至算法均可随机,找到密匙,算法,数据三者相对应的过程相当之繁琐,可以吓倒不少的人。

这种加密法是否可行还有待探讨,只是我一时想法而已,有空的时候我会试验一下,看看到底能不能用。

推荐日志 不惧恶性病毒 安全模式下的病毒查杀

[ 2007-03-25 02:48:16 | 作者: sun ]
杀毒软件多遭人诟病。不知道是厂商不够努力还是用户实在太挑剔,几乎每一款杀毒软件都会有人提出批评意见,不是杀不掉病毒就是太占用系统资源。其实我们很多的时候看到杀毒软件眼睁睁看着病毒溜走,这其实并不完全是杀毒软件的错,作为使用者的我们对杀毒软件也有很多地方使用不当。
理论上说,杀毒软件如果能正常识别一个病毒的名称,一般都能杀掉,不过也有一些病毒或开机自启动,或常驻内存,或嵌入到系统进程中,更有甚者注册为系统服务,遇到这些伪装颇高明的恶性病毒,杀毒软件也只能掂量着发力了。这个时候,进入到安全模式下再杀毒不失为一个好的方法。

现在就让我们来看一看怎样在安全模式下用杀毒软件大干一场。首先在正常模式下将杀毒软件病毒库升级至最新,关闭系统还原,具体步骤:我的电脑—“右键”属性—系统还原—点“在所有驱动器上关闭系统还原”,最后点击确定。接下来清空IE缓存,具体方法:启动IE浏览器—工具—Internet选项—删除Internet临时文件。准备工作已经完成,下面我们就可以进入安全模式杀毒了。

进入安全模式后只要正常启动杀毒软件,对电脑进行全面扫描,一般来说,这个扫描完成后的电脑就是比较干净的了。

无论使用的是正版还是盗版杀毒软件,最重要的是该软件可以正常升级,同时一定要开启实时监控,2-3天升级最为合适。千万不要等到杀毒软件提醒你要升级了才开始行动,因为拥有良好的安全意识才能远离各种威胁,不能总是依靠杀毒软件来自行解决问题。说到底,杀毒软件只是一个工具,能让电脑更清净的是用户。

推荐日志 IP地址盗用常用方法及防范

[ 2007-03-25 02:48:05 | 作者: sun ]
目前IP地址盗用行为非常常见,许多“不法之徒”用盗用地址的行为来逃避追踪、隐藏自己的身份。IP地址的盗用行为侵害了网络正常用户的权益,并且给网络安全、网络的正常运行带来了巨大的负面影响,因此研究IP地址盗用的问题,找出有效的防范措施,是当前的一个紧迫课题。
IP地址盗用常用的方法及其防范机制
  IP地址盗用是指盗用者使用未经授权的IP地址来配置网上的计算机。IP地址的盗用通常有以下两种方法:
  一是单纯修改IP地址的盗用方法。如果用户在配置或修改配置时,使用的不是合法获得的IP地址,就形成了IP地址盗用。由于IP地址是一个协议逻辑地址,是一个需要用户设置并随时修改的值,因此无法限制用户修改本机的IP地址。
  二是同时修改IP-MAC地址的方法。针对单纯修改IP地址的问题,很多单位都采用IP-MAC捆绑技术加以解决。但IP-MAC捆绑技术无法防止用户对IP-MAC的修改。MAC地址是网络设备的硬件地址,对于以太网来说,即俗称的网卡地址。每个网卡上的MAC地址在所有以太网设备中必须是惟一的,它由IEEE分配,固化在网卡上一般不得随意改动。但是,一些兼容网卡的MAC地址却可以通过配置程序来修改。如果将一台计算机的IP和MAC地址都修改为另一台合法主机对应的IP和MAC地址,那么IP-MAC捆绑技术就无能为力了。另外,对于一些MAC地址不能直接修改的网卡,用户还可以通过软件修改MAC地址,即通过修改底层网络软件达到欺骗上层软件的目的。
  目前发现IP地址盗用比较常用的方法是定期扫描网络各路由器的ARP(address resolution protocol)表,获得当前正在使用的IP地址以及IP-MAC对照关系,与合法的IP地址表,IP-MAC表对照,如果不一致则有非法访问行为发生。另外,从用户的故障报告(盗用正在使用的IP地址会出现MAC地址冲突的提示)也可以发现IP地址的盗用行为。在此基础上,常用的防范机制有:IP-MAC捆绑技术、代理服务器技术、IP-MAC-USER认证授权以及透明网关技术等。
  这些机制都有一定的局限性,比如IP-MAC捆绑技术用户管理十分困难;透明网关技术需要专门的机器进行数据转发,该机器容易成为瓶颈。更重要的是,这些机制都没有完全从根本上防止IP地址盗用行为所产生的危害,只是防止地址盗用者直接访问外部网络资源。事实上,由于IP地址盗用者仍然具有IP子网内完全活动的自由,因此一方面这种行为会干扰合法用户的使用:另一方面可能被不良企图者用来攻击子网内的其他机器和网络设备。如果子网内有代理服务器,盗用者还可以通过种种手段获得网外资源。
  目前IP地址盗用行为非常常见,许多“不法之徒”用盗用地址的行为来逃避追踪、隐藏自己的身份。IP地址的盗用行为侵害了网络正常用户的权益,并且给网络安全、网络的正常运行带来了巨大的负面影响,因此研究IP地址盗用的问题,找出有效的防范措施,是当前的一个紧迫课题。 网卡地址。每个网卡上的MAC地址在所有以太网设备中必须是惟一的,它由IEEE分配,固化在网卡上一般不得随意改动。但是,一些兼容网卡的MAC地址却可以通过配置程序来修改。如果将一台计算机的IP和MAC地址都修改为另一台合法主机对应的IP和MAC地址,那么IP-MAC捆绑技术就无能为力了。另外,对于一些MAC地址不能直接修改的网卡,用户还可以通过软件修改MAC地址,即通过修改底层网络软件达到欺骗上层软件的目的。
IP地址盗用常用的方法及其防范机制
  IP地址盗用是指盗用者使用未经授权的IP地址来配置网上的计算机。IP地址的盗用通常有以下两种方法:
  一是单纯修改IP地址的盗用方法。如果用户在配置或修改配置时,使用的不是合法获得的IP地址,就形成了IP地址盗用。由于IP地址是一个协议逻辑地址,是一个需要用户设置并随时修改的值,因此无法限制用户修改本机的IP地址。
  二是同时修改IP-MAC地址的方法。针对单纯修改IP地址的问题,很多单位都采用IP-MAC捆绑技术加以解决。但IP-MAC捆绑技术无法防止用户对IP-MAC的修改。MAC地址是网络设备的硬件地址,对于以太网来说,即俗称的
  目前发现IP地址盗用比较常用的方法是定期扫描网络各路由器的ARP(address resolution protocol)表,获得当前正在使用的IP地址以及IP-MAC对照关系,与合法的IP地址表,IP-MAC表对照,如果不一致则有非法访问行为发生。另外,从用户的故障报告(盗用正在使用的IP地址会出现MAC地址冲突的提示)也可以发现IP地址的盗用行为。在此基础上,常用的防范机制有:IP-MAC捆绑技术、代理服务器技术、IP-MAC-USER认证授权以及透明网关技术等。
  这些机制都有一定的局限性,比如IP-MAC捆绑技术用户管理十分困难;透明网关技术需要专门的机器进行数据转发,该机器容易成为瓶颈。更重要的是,这些机制都没有完全从根本上防止IP地址盗用行为所产生的危害,只是防止地址盗用者直接访问外部网络资源。事实上,由于IP地址盗用者仍然具有IP子网内完全活动的自由,因此一方面这种行为会干扰合法用户的使用:另一方面可能被不良企图者用来攻击子网内的其他机器和网络设备。如果子网内有代理服务器,盗用者还可以通过种种手段获得网外资源。
利用端口定位及时阻断IP地址盗用
  交换机是局域网的主要网络设备,它工作在数据链路层上,基于MAC地址来转发和过滤数据包。因此,每个交换机均维护着一个与端口对应的MAC地址表。任何与交换机直接相连或处于同一广播域的主机的MAC地址均会被保存到交换机的MAC地址表中。通过SNMP(Simple Network Management protocol)管理站与各个交换机的SNMP代理通信可以获取每个交换机保存的与端口对应的MAC地址表,从而形成一个实时的Switch-Port-MAC对应表。将实时获得的Switch-Port-MAC对应表与事先获得的合法的完整表格对照,就可以快速发现交换机端口是否出现非法MAC地址,进一步即可判定是否有IP地址盗用的发生。如果同一个MAC地址同时出现在不同的交换机的非级联端口上,则意味着IP-MAC成对盗用。
  发现了地址盗用行为后,实际上也已经将盗用行为定位到了交换机的端口。再通过查询事先建立的完整的Switch-Port-MAC对应表,就可以立即定位到发生盗用行为的房间。
  发生了地址盗用行为后,可以立即采取相应的方法来阻断盗用行为所产生的影响,技术上可以通过SNMP管理站向交换机代理发出一个SNMP消息来关断发生盗用行为的端口,这样盗用IP地址的机器无法与网络中其他机器发生任何联系,当然也无法影响其他机器的正常运行。
  端口的关断可以通过改变其管理状态来实现。在MIB(Management Information Base)中有一个代表端口管理状态的可读写对象ifAdminStatus(对象标识符号为1.3.6.1.2.1.2.2.1.7),给ifAdminStatus赋不同的值,可以改变端口的管理状态,即“1”—开启端口,“2”—关闭端口,“3”—供测试用。
  这样,通过管理站给交换机发送赋值信息(Set Request),就可以关闭和开启相应的端口,比如要关闭某一交换机(192.168.1.1)的2号端口,可以向该交换机发出如下信息:
  set("private" 192.168.1.1 1.3.6.1,2.1.2.2.1.7.2.0.2).
  结合IP-MAC绑定技术,通过交换机端口管理,可以在实际使用中迅速发现并阻断IP地址的盗用行为,尤其是解决了IP-MAC成对盗用的问题,同时也不影响网络的运行效率。交换机是局域网的主要网络设备,它工作在数据链路层上,基于MAC地址来转发和过滤数据包。因此,每个交换机均维护着一个与端口对应的MAC地址表。任何与交换机直接相连或处于同一广播域的主机的MAC地址均会被保存到交换机的MAC地址表中。通过SNMP(Simple Network Management protocol)管理站与各个交换机的SNMP代理通信可以获取每个交换机保存的与端口对应的MAC地址表,从而形成一个实时的Switch-Port-MAC对应表。将实时获得的Switch-Port-MAC对应表与事先获得的合法的完整表格对照,就可以快速发现交换机端口是否出现非法MAC地址,进一步即可判定是否有IP地址盗用的发生。如果同一个MAC地址同时出现在不同的交换机的非级联端口上,则意味着IP-MAC成对盗用。
  发现了地址盗用行为后,实际上也已经将盗用行为定位到了交换机的端口。再通过查询事先建立的完整的Switch-Port-MAC对应表,就可以立即定位到发生盗用行为的房间。
  发生了地址盗用行为后,可以立即采取相应的方法来阻断盗用行为所产生的影响,技术上可以通过SNMP管理站向交换机代理发出一个SNMP消息来关断发生盗用行为的端口,这样盗用IP地址的机器无法与网络中其他机器发生任何联系,当然也无法影响其他机器的正常运行。
  端口的关断可以通过改变其管理状态来实现。在MIB(Management Information Base)中有一个代表端口管理状态的可读写对象ifAdminStatus(对象标识符号为1.3.6.1.2.1.2.2.1.7),给ifAdminStatus赋不同的值,可以改变端口的管理状态,即“1”—开启端口,“2”—关闭端口,“3”—供测试用。
  这样,通过管理站给交换机发送赋值信息(Set Request),就可以关闭和开启相应的端口,比如要关闭某一交换机(192.168.1.1)的2号端口,可以向该交换机发出如下信息:
  set("private" 192.168.1.1 1.3.6.1,2.1.2.2.1.7.2.0.2).
  结合IP-MAC绑定技术,通过交换机端口管理,可以在实际使用中迅速发现并阻断IP地址的盗用行为,尤其是解决了IP-MAC成对盗用的问题,同时也不影响网络的运行效率。

推荐日志 揭开“网络钓鱼”的真正面目

[ 2007-03-25 02:47:49 | 作者: sun ]
细心的用户不难发现,无论是微软刚推出的windows vista操作系统,还是诺顿的2007版杀毒软件,在其对各自的产品宣传期间,总会不厌其烦地提到一项新功能,那就是“反网络钓鱼”。在最近两年,网络钓鱼已经成为病毒、各种攻击之后最严重的网络威胁。
  所谓网络钓鱼,就是利用一些“高仿”的网页、qq消息等骗取网友的信任,并多以高额奖金作为诱饵来赢得网友的“贪心”,很多网友就曾经上过这个当,而且这种骗术目前非但没有消失的迹象,反而越演越烈。下面就让我们来看一下经典的几个网络钓鱼。

  “幸运”消息提示中奖

  这种消息通常来源于游戏平台,发送者往往署名客服或者“系统提示”,不明就里的用户往往容易将其误认成是真正的系统发出的消息,而且注册这样的一个id是非常简单的,用户极其容易上当。其实我们在看到这样的消息时只需要核实一下用户资料,或者平时注意一下真正的系统提示与假消息的区别就可以轻松避免上当受骗。

  高仿钓鱼网页

  工商银行的首页已经不幸中招了好几次。在仿冒的工行网页上,连网站认证的细节都极其相似,不少用户曾经投诉过工行,但是这并不是工行的责任。还有一些比较著名的钓鱼网页就是qq中奖提醒。在发送者给出的所谓领奖页面上,所有的项目都让你觉得真实可信。不过,这些仿冒网页的地址都非常长,主域名的拼写虽然很相似但是总会有所改变,有经验的网友应该熟记各大银行的缩写,这样在遇到此类网页的时候就能一眼识别。

  奖品邮寄需要付邮费

  几乎在所有的仿冒领奖网页的奖品发放后都会提到:此次奖品的邮寄邮费玩家自理。留心的用户就会琢磨:既然这么高金额的奖品都发了,还在乎几十元的邮费么?至此,钓鱼者的真实目的也就被戳穿了。奖品只是诱饵,邮费才是他们真实所想拿到的。

  做好防范 拒绝被钓

  其实网络钓鱼并不神秘,它只是利用了社会工程学的原理,抓住人们贪小便宜的弱点进行欺骗,只要提高安全意识完全是可以避免此类“钓鱼”事件的。

  网络钓鱼的目的已经不仅仅局限于重要资料的获取,现金成为目前钓鱼者最想得到的东西,不过,防范起来也并非难事:

  1、在收到领奖消息后,去该组织的官方网站寻找相关活动的信息,以保证消息的准确性;

  2、尽量在地址栏里输入想要到达的网站的地址,不要轻信别处网页上的链接;

  3、不要轻易透露自己的信用卡以及各种卡片的密码,如果qq有奖品送给你,它顶多需要你的移动电话号码,而不是你的信用卡密码。

  相信只要我们仔细分辨,提高安全意识,网络钓鱼最终一定会向我们投降,毕竟邪不胜正。

推荐日志 动易2006最新漏洞补丁

[ 2007-03-25 02:47:23 | 作者: sun ]
其实这是2003系统流传已久的小特点,不明白官方为什么大惊小怪地要删除相关文件......连华夏的怪狗也是改UPLOAD文件名的......过滤用户名注册中的“.”就OK了。
于是我下了个动易2005SP5找到REG目录中的User_RegCheck.asp,发现最后面就有一个函数
&#39;**************************************************
&#39;函数名:UserNamefilter(
&#39;作 用:过滤用户名(增强过滤,用户名现用于建立个人文集目录)
&#39;**************************************************
Function UserNamefilter(strChar)
If strChar = "" o&#114; IsNull(strChar) Then
UserNamefilter = ""
Exit Function
End If
Dim strBadChar, arrBadChar, tempChar, i
strBadChar = "&#39;,%,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & "," & Chr(0) & ",*,|,"""
arrBadChar = Split(strBadChar, ",")
tempChar = strChar
For i = 0 To UBound(arrBadChar)
tempChar = Replace(tempChar, arrBadChar(i), "")
Next
UserNamefilter = tempChar
End Function
%>

直接往 strBadChar 里加上过滤“.”,然后测试,居然还能注册*.asp的文件,晕S。再看到User_CheckReg.asp,真不明白要两个来干什么用,改之

Sub User_CheckReg()
Dim RegUserName
RegUserName = Trim(request("UserName"))
If InStr(RegUserName, "=") > 0 o&#114; InStr(RegUserName, "%") > 0 o&#114; InStr(RegUserName, Chr(32)) > 0 o&#114; InStr(RegUserName, "?") > 0 o&#114; InStr(RegUserName, "&") > 0 o&#114; InStr(RegUserName, ";") > 0 o&#114; InStr(RegUserName, ",") > 0 o&#114; InStr(RegUserName, "&#39;") > 0 o&#114; InStr(RegUserName, ",") > 0 o&#114; InStr(RegUserName, Chr(34)) > 0 o&#114; InStr(RegUserName, Chr(9)) > 0 o&#114; InStr(RegUserName, " ") > 0 o&#114; InStr(RegUserName, "$") > 0 o&#114; InStr(RegUserName, "*") o&#114; InStr(RegUserName, "|") o&#114; InStr(RegUserName, """") > 0 o&#114; InStr(RegUserName, "^") > 0 o&#114; InStr(RegUserName, "--") > 0 o&#114; InStr(RegUserName, ".") > 0 o&#114; InStr(RegUserName, "+") > 0 Then
FoundErr = True
ErrMsg = ErrMsg & "<br><li>用户名中含有非法字符</li>"

加上Or InStr(RegUserName, ".") > 0

测试居然还没能注册*.asp,倒塌......

仔细看下REG里的所有文件,发现User_RegPost.asp
看下这里
<!--#include file="../conn.asp"-->
<!--#include file="../inc/md5.asp"-->
<!--#include file="../inc/function.asp"-->
<!--#include file="../API/API_Config.asp"-->
<!--#include file="../API/API_Function.asp"-->

刚才那两个CHECK简直就是废的,根本用不上......
再找到

If CheckUserBadChar(UserName) = False Then
ErrMsg = ErrMsg & "<li>用户名中含有非法字符</li>"
FoundErr = True
End If

看来与CheckUserBadChar这个函数有关
搜索之,发现接近末尾的地方

Function CheckUserBadChar(strChar)
Dim strBadChar, arrBadChar, i
strBadChar = "&#39;,%,.,^,&,?,(,),<,>,[,],{,},/,\,;,:," & Chr(34) & ",*,|,"""
arrBadChar = Split(strBadChar, ",")
If strChar = "" Then
CheckUserBadChar = False

往strBadChar 加上“.”号的过滤,测试,OK,提示用户名非法。
真搞不明白动易那帮人怎么想的,一个那么简单的问题搞到那么复杂,连帮忙改的人都给搞复杂来,MMD

PS,我原来还试过把INC里的function.asp里定义SQL注射的地方把.a和.e设置成过滤字符,防止别人注册,但似乎没用,不知道为什么.....没仔细研究了,动易那么变态,什么都爱复杂化的,更懒得研究了......
补丁只测试过2006SP5有效,其他版本貌似那两个CHECK有的有用的,懒得弄了。