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 盲注

  • 相关阅读:
    Flex 布局
    前端跨域之jsonp
    vs code 自定义代码片段
    vue中使用axios进行http通信
    Table边框合并
    getElementsBy 系列方法相比querySelector系列的区别
    vue中watch简单使用
    png图标任意赋色
    pc端与移动端适配解决方案之rem
    Express post请求无法解析参数的原因
  • 原文地址:https://www.cnblogs.com/wwyydd/p/14185138.html
Copyright © 2011-2022 走看看