Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15209918
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: Mysql/postgreSQL

2008-04-16 16:22:00

SQL注入式攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击,动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。比如:

  如果你的查询语句是select * from admin where username='"&user&"' and password='"&pwd&"'"

  那么,如果我的用户名是:1' or '1'='1

  那么,你的查询语句将会变成:

select * from admin where username='1 or '1'='1' and password='"&pwd&"'"
  这样你的查询语句就通过了,从而就可以进入你的管理界面。

  所以防范的时候需要对用户的输入进行检查。特别式一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤。

  需要过滤的特殊字符及字符串有:

 net user
 xp_cmdshell
 /add
 exec master.dbo.xp_cmdshell
 net localgroup administrators
 select
 count
 Asc
 char
 mid
 '
 :
 "
 insert
 delete from
 drop table
 update
 truncate
 from
 %
  下面是我写的两种关于解决注入式攻击的防范,供大家参考!

  js版的防范SQL注入式攻击代码~:

[CODE START]  

阅读(633) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~