zoukankan      html  css  js  c++  java
  • SQL注入之Sqli-labs系列第二十三关(基于过滤的GET注入)

    开始挑战第二十三关(Error Based- no comments) 

    先尝试下单引号进行报错

    再来利用and来测试下,加入注释符#,编码成%23同样的报错

    再来试试--+,同样的效果

     

    同样的,先看看源代码,这里利用正则查找,对注释符等都进行了过滤

     

    这里一来,注释符不能使用了,只能采用单引号闭合的方法来绕过了,成功

    接下来构造语句来获取数据库

    此处讲解几个知识点:

    1.ID = -1,为什么要用-1,因为SQL语句执行了两个选择语句,第一个选择为ID的选择语句,第二个为我们构造的选择语句。只有一个数据可以输出,为了让我们自己构造的数据可以正常输出,第一个选择要没有结果,所以-1或者超过数据库所有数据都可以。

      2.- 1'union select 1,2,database()  or ‘1’=‘’1,or 1=1是为了闭合后面的,这样将查询内容显示在用户名处。

    3.或者使用union select 1,2,dabase(),'3,第一个'(单引号)闭合-1,第二个'(单引号)闭合后面的

    利用union select获取数据库名

    还可以利用报错注入来获取

    获取表名

     获取字段名

    获取数据

  • 相关阅读:
    Mysql流程控制语句和存储过程
    第七章 MySQL基础
    第六章 操作数据
    第四章 数据库操作
    第三章 使用MySQL图形化工具
    第二章 初识MySQL
    第一章 数据库基础
    Live555源码学习02 ---- 框架
    Live555源码学习01 ---- 编译
    SRS4.0之RTMP转WebRTC02 ---- RTMP推流到SRS
  • 原文地址:https://www.cnblogs.com/AmoBlogs/p/8682647.html
Copyright © 2011-2022 走看看