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获取数据库名

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

    获取表名

     获取字段名

    获取数据

  • 相关阅读:
    IE的if条件判断
    嵌套div的margin-top不生效
    DocumentFragment对象
    javascript严格模式
    某视频网站下载分析
    c# winform 视频转字符动画
    asp.net mvc 5 蛋疼的问题
    asp.net mvc 防止重复提交
    easyHOOK socket send recv
    C# 之泛型详解
  • 原文地址:https://www.cnblogs.com/AmoBlogs/p/8682647.html
Copyright © 2011-2022 走看看