中国网站美工网!网页设计者的天堂!
本站特色:HTML网页模版下载    
  您的位置:

首页 >> 设计学院 >> 网络安全 >> 网站安全 >> 正文

相关信息

ASP网站漏洞解析及黑客入侵防范方
开始→运行→命令集锦
关于网站的安全性

网页编程安全漏洞全接触

网页编程安全漏洞全接触


来源: 不详 | 时间: 2005-12-16 20:45:17 | 人气:

 

网页编程安全漏洞全接触


可能我们认为以上的情况很简单,的确简单,但是这种方式编程的程序员却很多,随便在网上找,我们可以找到很多这种方式编程的源代码和已经采用的程序。
以上就是就是页面行为方式缺乏逻辑的典型举例,还有没有其他的举例呢?我们大家都很熟悉的一个例子。在电子商务初期,一些电子商务网站的程序很多存在这样的漏洞,用户可以随意定义自己购买商品的价格!其实也就是这个原因造成的。
3、编程方式不成熟
很多时候,我们可能根本没有意识到一些漏洞的产生,这时候,不是我们没有注意安全问题,而是我们缺少经验。这种情况,我们就需要多了解一些网络攻击者的进攻方式,以此来修改程序,加固网络、程序安全。我们已经知道的一些漏洞就是这种情况产生的。在一些账号密码验证中,有万能密码的存在就是这样产生的,在下面的举例中我们会详细介绍。
4、没有基于内容的检测
上面第一条我们提到检测的漏洞,这里,我们专门提出基于内容的检测。前面多是技术上的考虑,这里,确实基于国家法律法规的考虑。一个网站的设计完成,除了技术的完善以外,还需要这个网站在国家法律法规内发布信息,不能随意让自己的网站成为一些别用心的人发布不法信息的平台。所以 ,我们有必要对所有用户输入而且有可能显示给其他用户的信息进行内容检测,一般有几类:
(1)粗话的检测,一般我们检测一些常见的粗话;
(2)敏感词汇的检测,必然“法轮”“明慧”等这些词;
(3)关系政治的词汇,最好全部过滤,比如“共产党”等;
(4)国家领导人的姓名,最好过滤;
当然,以上的一些规则,不一定全部要这样,可以根据自己留言、或者论坛的性质来决定那些需要严格过滤。
三、攻击实例
以下的实例,可能网络上有些网站刚好存在这些问题,希望存在问题的网站能够及时修改程序改正,读者也不要利用这些漏洞做不符合国家法律法规的事情。
1、万能密码
这个漏洞,一些读者可能已经知道,但是,由于网络上依然很多网站存在这些漏洞,我们还是有必要详细、全面的了解这个漏洞的形成原因和严重后果。首先,我们来看看漏洞的产生。这个漏洞是因为在程序验证账号密码的时候程序不严谨造成的。我们在程序设计的时候,常常将账号、密码放在一个叫“User”的数据表中,设置“username”和“password”两个字段,当验证的时候,检查用户的输入是否存在于这个数据表,如果存在,证明这个用户合法;不存在,证明用户不合法。漏洞的出现,就是这个验证代码的编写不严谨造成的,我们来看原代码。
‘连接数据库
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("db\news.mdb")+";DefaultDir=;DRIVER={Microsoft Access
Driver (*.mdb)};DriverId=25;FIL=MS Access;ImplicitCommitSync=Yes;MaxBufferSize=512;
MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"
‘打开数据库连接
Conn.Open connstr
‘数据库选择语句
mysql="select * from user where userid=’”&txtuserid&”’ and pwd=‘”&txtpwd&” "
set rs=server.createobject("adodb.recordset")
rs.open mysql,conn,1,1 
 
if not (rs.eof) then
rs.close
conn.close 
response.redirect"ok_login.asp" 
end if 
 
在以上的代码中,我们看mysql的定义,这里的txtuserid和txtpwd都是直接来自用户的输入,如果用户构造特殊的用户名或者密码,就可以直接让这里的Select条件为“真”,完全不必理会是否有合法账号密码。我们这里不直接给出万能密码,希望有经验的读者仔细分析select语句,找出可能的漏洞。
以上漏洞的修改其实很多方法,我们这里提出几种比较完善的方法参考。首先,我们可以对用户输入的账号、密码进行严格检查,除了二十六个字母和十个数字,其他任何字符都是非法的,也就是过滤那些非法的字符,确保用户输入合法。注意,这个过滤要针对用户名和密码两个进行;二是修改以上的select语句或者下面的if语句,从程序设计角度堵塞漏洞的产生;三是检验用户的输入信息长度,限制输入信息在8个字母内,这样,也能防止漏洞的产生,不过,这个方法不是很好,最好利用第一种方法。

本新闻共4页,当前在第3页  1  2  3  4  

 
  上一篇:如何对付论坛群发广告  下一篇:ASP网站漏洞解析及黑客入侵防范方法
Copyright © 2005 - 2006 WEB600.Net,All Rights Reserved
业务联系 QQ 站长:106324307 美工:270348300 程序:63888546
E-mail: 3235183@163.com MSN: fuqiyangru@hotmail.com
中国网站美工网--网页设计者的天堂! 陕ICP备06005517号
本站资源来自互联网 如果侵犯您的权利 请通知我们 我们会尽快删除