您现在的位置: 天极网 > 软件频道 > 设计在线 > 网页UI设计 > ASP程序密码验证问题 (MS,缺陷)
全文

ASP程序密码验证问题 (MS,缺陷)

2000-07-06 00:00作者:不详出处:ASP中华网责任编辑:

涉及程序MS IIS

描述
国内一大学生发现的NT网站的ASP程序密码验证漏洞

详细
来自: benjurry@263.net
原文如下:

很早就发现很多国内程序员密码不注意,今去了陈水扁(www.abian.net)的网沾,随手一试,居然发现有这种漏洞,真是让人笑破肚皮!
原理
很多网站把密码放到数据库中,在登陆验证中用以下sql,(以asp为李)
sql="select * from user where username="&username&"and pass="& pass&"
此时,您只要根据sql构造一个特殊的用户名和密码,如:ben or 1=1
hehe ...是不是进去了??

-----------------------------------------------------------------------

解释:
上述的SQL语句ASP程序的if判断的一部分,如果该语句返回为真,则密码验证通过。
输入 ben or 1=1这样的用户名之后,其验证的语句将执行为:
sql="select * from user where username="& ben or 1=1 &"and pass="& pass&"
因为1=1为真,由于 or 逻辑运算的作用,这个语句将返回为真。
所以验证通过。


解决方案
ASP程序员应该用更严密的判断语句来止这个安全问题
下面是发现者提出的解决方案:
比较好的应该按照以下式:
1、处理输入字符
2、处理‘,|等字符
3、select * from user where user=’ " & User & " "
4、如果返回不为,则取密码
pass=rs("passwd")
5、判断:if pass=password
6、得出结论。

共1页。 1
相关搜索:
相关文章及软件
关注此文读者还看过
热门关注
特别推荐
网友关注
软件下载
娱乐下载
驱动下载
热评排行
群乐关注结束-->
文章排行
本周
本月
最近更新
关于我们|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2008 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 Powered by 天极内容管理平台CMS4i
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众-网站地图