欢迎
游客
,
注册
|
登录
|
会员
|
界面
|
简洁版本
|
在线
|
帮助
商都网教育宝典宝库
商都网教育宝典宝库
计算机
软件开发
不当编写SQL语句导致系统不安全
本主题被查看579次, 共1个帖子, 1页, 当前为第
1
页 选择页数: 1 跳转到第
页
上一主题
下一主题
标题: 不当编写SQL语句导致系统不安全
zxf_1
张小峰
超级版主
UID: 14
来自:
精华:
4
积分: 313
帖子: 285
注册: 2007-8-23 10:27:00
状态:
离线
威望: 8.00
金钱: 75.55 元
发短消息
用户资料
树型
回复
引用
只看楼主
2007-08-23 15:31
不当编写SQL语句导致系统不安全
、漏洞的产生
用于登录的表
Users(name,pwd)
建立一个窗体Frmlogin,其上有两个文本框Text1,Text2和两个命令按钮cmdok,cmdexit。两个文本框分别用于让用户输入用户名和密码,两个命令按钮用于“登录”和“退出”。
1、定义Ado Connection对象和ADO RecordSet对象:
Option Explicit
Dim Adocon As ADODB.Connection
Dim Adors As ADODB.Recordset
2、在Form_Load中进行数据库连接:
Set Adocon = New ADODB.Connection
Adocon.CursorLocation = adUseClient
adocon.Open "Provider=Microsoft.jet.OLeDB.4.0.1;Data Source=" && _
App.Path && " est.mdb;"
cmdok中的代码
Dim sqlstr As String
sqlstr = "select * from usersswheresname='" && Text1.Text && _
"' and pwd='" && Text2.Text && "'"
Set adors = New ADODB.Recordset
Set Adors=Adocon.Execute(sqlstr)
If Adors.Recordcount>0 Then //或If Not Adors.EOF then
....
MsgBox "Pass" //通过验证
Else
...
MsgBox "Fail" //未通过验证
End if 运行该程序,看起来这样做没有什么问题,但是当在Text1中输入任意字符串(如123),在Text2中输入a' or 'a'='a时,我们来看sqlstr此时的值:
select * from usersswheresname='123' and pwd='a' or 'a'='a'
执行这样一个SQL语句,由于or之后的'a'='a'为真值,只要users表中有记录,则它的返回的eof值一定为False,这样就轻易地绕过了系统对于用户和密码的验证。
这样的问题将会出现在所有使用select * from usersswheresname='" && name && "' and pwd='" && password &&"'的各种系统中,无论你是使用那种编程语言。
二、漏洞的特点
在网络上,以上问题尤其明显,笔者在许多网站中都发现能使用这种方式进入需要进行用户名和密码验证的系统。这样的一个SQL漏洞具有如下的特点:
1、与编程语言或技术无关
无论是使用VB、Delphi还是ASP、JSP。
2、隐蔽性
现有的系统中有相当一部分存在着这个漏洞,而且不易觉察。
3、危害性
不需要进行用户名或密码的猜测即可轻易进入系统。
三、解决漏洞的方法
1、控制密码中不能出现空格。
2、对密码采用加密方式。
这里要提及一点,加密不能采用过于简单的算法,因为过于简单的算法会让人能够构造出形如a' or 'a'='a的密文,从而进入系统。
3、将用户验证和密码验证分开来做,先进行用户验证,如果用户存在,再进行密码验证,这样一来也能解决问题。
#1
大
中
小
本主题被查看579次, 共1个帖子, 1页, 当前为第
1
页 选择页数: 1 跳转到第
页
论坛跳转...
胎教早教
准备怀孕
怀孕期
出生与分娩
婴儿期(0-1岁)
幼儿期(1-3岁)
学龄前(3-6岁)
中小学
课件
试题
中招
中招动态
招生快讯
相关政策
考试辅导
语文
数学
英语
物理
化学
生物
政治
历史
地理
家长交流
历年中招资料
满分作文
高考
高考动态
高考状元
历年试题
家长必读
志愿填报
心理减压
复习技巧
考生经验
备考辅导
高考大纲
历年分数线
高考常识
高考指南
语文
数学
外语
物理
化学
生物
历史
地理
政治
文综
理综
高考满分作文
家长
教师
读书
作文
郑州新东中学
学校动态
学生天地
高等教育
移民留学
成人高考
自学考试
考研
论文
外语
雅思
托福
四六级
实用英语
职称外语
公共英语(PETS)
商务英语
英语口语
小语种
英思力美语
在线留言
学校动态
课程
学生作业
英思力相册
学英语资料
计算机
办公应用
软件开发
平面动画设计
IT资格认证
等级考试
网络工程
初学者之路视频教程
计算机基础
Windows
Word2003
Execl2003
Powerpoint
Flash
Deamweaver
Fireworks
黑客基础
北大青鸟
青鸟新闻
开班信息
青鸟师资
在线问答
学员相关
技术文章
职业资格
企业培训师
资料库
历年试题
案例探讨
相关政策
财务会计
公务员考试
营养师
营养动态
职业前景
健康权威
学习指导
营养知识
健康食谱
心理咨询师
心理俱乐部
学习指导
花季少年
爱情婚姻
心理障碍
人在职场
职业前景
经典案例
导游
司法考试
建筑工程资格
外贸资格
医药资格考试
教师资格考试
电子商务师
人力资源师
资料库
历年试题
案例探讨
相关政策
技能培养
汽车驾驶
美容美发
美容
美发
化妆
整体形象设计
相关课程
人才信息
茶艺
调酒
厨师烹饪
手机维修
音乐乐器
舞蹈健身
企业管理
人力资源
市场营销
管理激励
管理书籍
管理视频
信诺专栏
职场招聘
招聘信息
职场沙龙
现在的时间是 2008-10-07 20:29:39
版权所有
商都网教育宝典
Powered by
Discuz!NT
1.0.6666 Copyright © 2001-2008
Comsenz Inc
.
Processed in 0 seconds