background image

2.1

 

操作失误

操作员安全配置不当造成的安全漏洞,用户安全意识不强

.用户口令选择不

.用户将自己的帐号随意转借他人或与别人共享等都会对网络安全带来威胁。

这种情况在企业计算机网络使用初期较常见,随着网络管理制度的建立和对使
用人员的培训,此种情况逐渐减少

.

 

对网络安全己不构成主要威胁。

2.2

 

恶意攻击

这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一

类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破
坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的

 

情况下,进行截获、窃取、破译以获得重要机密信急。

当然作为本文最讨论的网站安全,它也有它自身的安全隐患存在,主要体

 

现在以下几点:

3.

 

用户输入验证不全面

在网站编程中,对于用户和用户的输入,都必须抱怀疑态度,不能完全信

任。所以,对于用户的输入,不能简单的直接采用,而必须经过严格验证,确定
用户的输入是否符合输入规则才可以录入数据库。用户输入验证应该包括以下几

 

个方面:

1)输入信息长度验证。程序员往往认为一般用户不会故意将输入过分拉

长,不进行输入验证可能没有危害。但如果用户输入的信息达到几个兆,而程序
又没有验证长度的话,可以使程序验证出错或变量占用大量内存,出现内存溢

 

出,致使服务器服务停止甚至关机。

2)输入信息敏感字符检查。在设计程序的时候,程序员可能都会关注

JavaScript

“”

的一些敏感字符,如在设计留言版的时候,会将 等符号的信息过

滤,以免用户留下页面炸弹。但还有以下几个方面需要特别注意,一是留言版内
容信息的过滤。二是用户名信息的过滤。程序设计中,对用户名的验证往往只是
验证长度,没有验证

JavaScript 或者 HTML 的标记,这样就容易形成漏洞。三

Email 信息的验证,Email

信息往往也只验证是否含有

@”符号,其他没有

限制,这容易形成两个漏洞:输入信息过长的内存溢出漏洞;含有

JavaScript

等字符信息,造成显示用户

Email 的时候形成页面炸弹等。四是搜索信息的验

证。尽管搜索信息不会直接保存到网站服务器,但是,搜索信息却与数据库或者
服务器所有文件密切相关,如果搜索信息有问题,很容易就会暴露一些本来不
应该暴露的数据库信息或者文件信息。如果用户对程序比较了解,可设计一些很
特别的搜索信息,检索他不应该检索的数据库表,例如用户账号密码表等。因此
一般要验证一些常见的用于数据库操作的语句,例如搜索信息是否含有
“Select”

 

等,这样来限制用户输入,避免信息的泄露。

4.页面行为方式缺乏逻辑 
在网站中注册新用户的时候,一般会首先要求用户输入自己需要注册的账号信息,验

证该账号是否已经存在,确保用户的单一性。如果用户的注册信息通过了

“存在该账号”的检

测,在编程的时候就认为这个账号一定不存在,可以注册,在注册页面中直接使用
“nsertInto”语句将注册信息插入用户数据库。上述的问题是:将注册信息插入数据库之前,
并没有再一次检查这个用户是否存在,而是信任前一个检测页面传来的账号信息。由于可以
阅读和保存

HTML 文件的源代码,如果用户将注册通过的页面保存并且将上面的账号信息

修改为一个已经存在的账号,由于程序认为该账号已经通过检测,直接将该账号插入数据