SQL注入漏洞

SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
原理
SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
根据相关技术原理,SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:①不当的类型处理;②不安全的数据库配置;③不合理的查询集处理;④不当的错误处理;⑤转义字符处理不合适;⑥多个提交处理不当
SQL注入技术

  1. 强制产生错误
  2. 采用非主流通道技术
  3. 使用特殊的字符
  4. 使用条件语句
  5. 利用存储过程
  6. 避开输入过滤技术
  7. 推断技术

SQL注入漏洞例子:
某个网站的登录验证的SQL查询代码为:
1strSQL = “SELECT * FROM users WHERE (name = '” + userName + “’) and (pw = '”+ passWord +"’);"
恶意填入
1userName = “1’ OR ‘1’='1”;

1passWord = “1’ OR ‘1’='1”;
时,将导致原本的SQL字符串被填为
1strSQL = “SELECT * FROM users WHERE (name = ‘1’ OR ‘1’=‘1’) and (pw = ‘1’ OR ‘1’=‘1’);”
也就是实际上运行的SQL命令会变成下面这样的
1strSQL = “SELECT * FROM users;”
因此达到无账号密码,亦可登录网站。所以SQL注入攻击被俗称为黑客的填空游戏。

SQL攻击步骤

  1. SQL注入漏洞的判断
  2. 分析数据库服务器类型
  3. 可执行情况
  4. 发现WEB虚拟目录
  5. 上传ASP木马
  6. 得到系统的管理员权限
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值