SQL注入
来源:互联网 发布:biz cc 域名 哪个好 编辑:程序博客网 时间:2024/06/06 17:17
随着网络技术的发展,大量的领域公有化。人们通过网络共享着各种的信息资源,无疑这给人类带来了极大程度的方便,但是同时,网络也存在着各种各样的隐患。有些人利用Internet进行着各种恶意的活动,如身份窃取,私密信息窃取等等。这些恶意的活动会以多种形态出现,如病毒,漏洞利用,黑客等都对用户的信息收到危害,或者导致用户所需要的服务被拒绝和劫持,所以在这种环境下,软件设计者就必须考虑并预防这种事件的发生。
SQL作为一种结构化查询语言,能够使我们访问数据库,对数据库的数据进行增查删改。而SQL注入是一种利用用户输入构造SQL语句的攻击。如果设计者没有做任何预防工作,那么攻击者就有可能改变后台执行的SQL语句的结构。SQL注入是现今存在最广泛的Web漏洞之一。
简单的举个例子实现SQL的注入
select * from user_Info
where user_ID='1'and user_PWD='1'
其结果为:
通过字符串注入我们使用这样的用户名和密码。后一个单引号充当了查询参数的右闭合符号,在它之后的语句都被认为是SQL命令的一部分,两条横线把user_PWD 变成了注释。在具体应用中则是用户只要在用户名的输入框输入‘or 1=1--,那么则可以出现所用的用户信息
select * from user_Info
where user_ID='' or 1=1 -- and user_PWD=anything
其结果则为:
通过举例可以看到结果为数据库里所有的用户数据。这会造成严重的数据泄露问题。而解决这种隐患其中有一种防止SQL注入的方法就是在应用程序中参数化所有的SQL查询,无论是动态的SQL表达式还是存储过程。例如刚才的那个小例子就可以写成
select * from user_Info
where user_ID=@user_ID and user_PWD=@user_PWD
并通过SQLParameter构造函数传递参数的值
0 0
- SQL注入--GET注入
- 注入攻击--SQL注入
- 【sql注入】mysql注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- SQL注入
- sql注入
- cocos2d-x内存管理机制------沈大海
- 若干字符串后缀函数
- cocos2d-x 图层触摸事件处理onTouch-----沈大海
- ASP.NET~常用内置对象
- VC++创建一个自定义桌面图标
- SQL注入
- 翻译机
- 牛腩新闻发布 & 点击回车键无响应,与数据库无连接
- B/S VS C/S
- 生活的大门向你敞开……
- iOS:枚举和位运算
- 操作系统知识
- OO模式-Composite
- OO模式-Singleton