zoukankan      html  css  js  c++  java
  • SQL注入

    一、SQL,SQL注入是什么
    SQL是操作数据库数据的结构化查询语句,一般在网页的应用数据和后台数据库中的数据进行交互式采用SQL。
    SQL注入即在web应用程序对用户输入的数据的合法性没有判断或过滤不严而使得攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。
    SQL注入将web页面的URL,输入的数据包修改成SQL语句,再传给服务器,以此得到数据库信息。
    二、注入原理
    假设存在一条URL为:HTTP://www.wonton.com/test.php?id=1
    这时后台数据库的SQL语句可能是Select * from table where id=1
    如果我们在输入框中加一个/,SQL语句变成Select * from table where id=1/ 不符合语法,返回错误
    但如果我们输入and 1 = 1,SQL语句变成Select * from table where id=1 and 1 = 1 这样逻辑永真,一定会返回正确。
    三、注入过程
    1、判断是否有注入
    (1)URL/ 报错
    (2)URLand 1 = 1 返回正常
    (3)URLand 1 = 2 返回错误
    2、判断服务器类型和数据库类型
    3、根据不同数据库类型进行SQL注入攻击
    一般步骤为查看数据库版本,查看数据库名称,查看表名,查看列名。
    四、SQL注入分类
    1.
    数字型注入(输入参数是数字)
    后台的查询daim为select email from member where id=$id
    输入1,变为select email from member where id=1
    字符型注入(输入参数是字符)
    后台的查询为 select email from member where id='$id'
    输入1,变为select email from member where id='1'
    2.按照数据库分类 mysql注入;SQL server注入;Oracle注入;Access注入 ####3. 基于报错的SQL盲注;基于布尔SQL盲注;基于时间的SQL 盲注

  • 相关阅读:
    mybatis plus 获取新增实体的主键
    通过 Feign 进行文件上传
    mybatis plus 更新值为null的字段
    idea 配置 service 服务,多模块同时启动
    通过设置 Chrome 解决开发调用跨域问题
    xargs 命令教程
    我的Windows 10 垃圾清理秘诀(不用优化软件)
    BugReport 分析利器 ChkBugReport
    语言与地区简码大全
    linux 将内容强制输出到终端
  • 原文地址:https://www.cnblogs.com/clearlove007/p/14216667.html
Copyright © 2011-2022 走看看