直面--SQL注入式攻击
来源:互联网 发布:现在淘宝做什么比较好 编辑:程序博客网 时间:2024/06/07 09:51
SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。
这是百度百科的解释,怎么样,晕了没有?不过没有关系,我试试看,能不能把大家讲醒了.
顾名思义:SQL注入式攻击,肯定是SQL语句的事了.所以,先来看一个SQL语句:
Select *from Tabel1 Where User_Name='" & txtUser_Name.text &"'
这是一句大家经常用到的SQL语句,可能有人会想,这么简单的一句话,会有什么问题呢?不要着急,且听我细细说来.
你的本意是想让某些具有相应权限的人操作程序,他们都会知道登录的用户名,借此验证.可是,你有没有想过,如果我在txtUser_Name输入框中输入 " " &" ' or'" & "1=1"
看,原本的SQL语句:
Select *from Tabel1 Where User_Name='" & txtUser_Name.text &"'
现在变成了:
Select *from Tabel1 Where User_Name='" & " " &" ' or '" &"1=1" &"'
这时,相信明眼人都看出来了,后部分的或命题: or 1=1 是必然成立的,所以,登录程序成功了!
没错,这就是SQL注入式攻击了.攻击者尝试输入某些特殊的SQL字符串篡改查询改变其原来的功能,欺骗系统授予访问权限。
说到这里,大家有没有中豁然开朗的感觉---原来,黑客,就是这样练成的…
那么,既然SQL注入有这么大的危害,我们该如何防止SQL注入呢?
简单的介绍这几种方法,用户可自行选择.
1.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。 2.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。 3.永远不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。 4.不要把机密信息直接存放,加密或者hash掉密码和敏感的信息。 5.应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装 6.sql注入的检测方法一般采取辅助软件或网站平台来检测,软件一般采用sql注入检测工具jsky,网站平台就有亿思网站安全平台检测工具。MDCSOFT SCAN等。采用MDCSOFT-IPS可以有效的防御SQL注入,XSS攻击等.
直面--SQL注入式攻击,让你的程序更安全,让用户使用的更放心!
- 直面--SQL注入式攻击
- SQL 注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- sql注入式攻击
- sql注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- SQL注入式攻击
- 防范SQL注入式攻击~
- 防范SQL注入式攻击
- 防范SQL注入式攻击
- 使用Python和Django1.4搭建Web应用
- C++—协变和抗变
- 自定义android控件
- 基础题练习——重建二叉树
- 递归问题与递归结构(二)
- 直面--SQL注入式攻击
- 【数据结构】网易2012校园招聘题目--平衡二叉树的插入问题
- android SurfaceView初次使用错误解决办法 (二)
- 【转载】Apache查看连接数和限制当前的连接数
- Evolution3D中的Billboard系统
- sql server 数据库改名
- hdu 1240 Asteroids!
- hdu~3501~欧拉函数
- 三星第三季度利润73亿美元 同比增长近100%