zoukankan      html  css  js  c++  java
  • pikachu SQL部分(上)

    第四章 SQL注入

    1.SQL注入基本概念和原理

        核心思想就是:大胆猜测后台是以什么样的方式去处理的,通过类型来构造合适的闭合。

     

     

    2.从一个数字型注入认识sql注入漏洞

      场景演示:

      随便选一个测试一下

     

       可以看出这是post类型的,因为它并没有在url里传参

      逻辑:

      我们提交了一个id,后台返回来一个名称和邮箱。用户的所有信息是存放在数据库里的,我们输入了id,后台应该做了相应的查询。

      select 字段1,字段2  from 表名 where id=1;

      打开命令行进行操作,查看一下

     

     

       因为1=1永远为真,那么or 1=1会把表里的所有数据全部遍历出来

      我们通过抓包来看一下(post请求一般使用抓包的形式来做测试)

      发送到repeater做重放的测试

     

       我们可以看到,输入or 1=1后,这个页面上所有用户的信息都显示出来。

      这个地方是有注入点的,是可以通过一些合法的sql语句进行注入的。这是最简单的注入。

      查看后端的代码

    3.字符型注入

      场景演示

      测试一下功能

     

       输入存在的用户出现上面的,不存在的就是下面的样子

      逻辑:

       因为输入的这个名字相当于一个字符串,字符串是需要用单引号进行包裹的。见到单引号,我们可以想到用单引号进行闭合来实现我们的注入。

      先输入一个名字,加一个单引号把前面的单引号闭合掉,再输入or 1=1 ,因为后面也有单引号,我们可以添加一个注释符把单引号注释掉。

      把构造好的语句输入

     

       出现所有的信息

      这个是get型的,所以会在url里面进行传参。(只不过会进行编码处理)

      看一下后端的代码

    4.搜索型及xxsql注入

     

      搜索型场景演示:

      测试一下功能

     

       输入一个字符,查询出相关信息,应该是使用了数据库的搜索功能,匹配型查询(like),模糊匹配

      查看一下源代码

     

       我们可以看到,它与数字型和字符型的不同点在于,拼接变量进去的时候,是被单引号和百分号包裹的。我们同样可以通过这个来构造闭合。

      构造一下

      输入一下

     

       出现所有信息

      xx型注入场景演示

      查看一下源代码

       我们可以看出,这个拼接处使用单括号和单引号进行包裹的。

      我们的拼接方式多种多样,比如单引号、双引号、括号或者组合形式出现

      构造一下

     

      输入一下

     

       出现所有信息

      结合字符型注入来介绍一些简单的判断机制

      可以用or 1=1;and 1=1等来进行判断

      直接输入单引号会出现页面的报错,通常出现了报错就说明有注入点(报错机制),我们就可以进行注入拼接。

    5.union注入

     

      一些基础函数

      如何猜测字段数(因为union后的字段数需要和前面的主查询一样)

      order by语句

       说明只有两列(只有两个字段)

     

     

     

       正常执行,没有报错

     

       可以随意去查询一些东西

     

  • 相关阅读:
    吴恩达《机器学习》第四章:多元线性回归
    吴恩达《机器学习》第三章:矩阵和向量
    吴恩达《机器学习》第二章:线性回归
    吴恩达《机器学习》第一章:监督学习和无监督学习
    初学Go语言的学生管理系统
    vscode如何自定义补全内容,自定义常用的快捷方式?
    vscode配置Golang环境所需的bin文件夹(各种包)
    Google浏览器一开启就提示“请停用以开发者模式运行的扩展程序“解决方案
    一道把递归、链表、引用、双指针都结合的题——回文链表
    grep
  • 原文地址:https://www.cnblogs.com/zhaihuijie/p/12640085.html
Copyright © 2011-2022 走看看