• sqlilabs23-28a关


    空格替代:

    %09:tab(水平)

    %0a:新建一行

    %0c:新建一页

    %0d:return

    %0b:tab(垂直)

    %a0:空格

    /**/:代替空格

    less-23操作过程

    1.做23关的时候,发现各种注释符都被过滤了,那么我们可以怎么绕过注释符来进行操作呢,首先通过报错,来获取到他的闭合方式

     2.了解到闭合方式之后,我们就可以利用‘or (1)or ‘ 的方式,绕过使用注释符,完整的sql为 select * from users where id = ’‘ or (1) or ’‘ limit 0,1,这样就不用注释符了

     3.可以使用报错注入,来获取些信息,比如当前当前数据库

     4.再来获取下表名,还有其他的一些操作都是可以的

     less-24操作过程

    一阶注入和二阶注入区别

    一阶注入原理 

      (1)一阶SQL注入发生在一个HTTP请求和响应中,对系统的攻击是立即执行的; 

      (2)攻击者在http请求中提交非法输入;

      (3)应用程序处理非法输入,使用非法输入构造SQL语句; 

      (4)在攻击过程中向攻击者返回结果。 

     二阶注入原理: 

      (1)攻击者在http请求中提交恶意输入; 

      (2)恶意输入保存在数据库中; 

      (3)攻击者提交第二次http请求;

       (4)为处理第二次http请求,程序在检索存储在数据库中的恶意输入,构造SQL语句; 

      (5)如果攻击成功,在第二次请求响应中返回结果

    1.less24就是一个二次注入的关卡,通过查看源码,可以得知,在修改密码的页面可以产生注入,大致思路就是:

      1)先注册一个username= admin’#的用户

      2)登陆

      3)修改密码

    2.

     3.实测

     登陆

    修改admin‘#的密码

     

     使用admin登陆原密码admin,登陆失败

     使用改过的密码,成功

     less-25操作过程

    25关的思路很简单,他就是把and和or过滤了,我们不使用and和or 就可以了


    1.?id=1’试错

     2.使用注释符,看有没有被过滤,发现不报错

     3.我们不使用and 和 or而是用 || 或者 && 的时候,发现报错,这让我们知道我们的注释符没效果

     4.所以我们使用less23的方式来试试,发现可以

     5.报错注入发现没问题,我们思路正确

     6.剩下的参考less23.。。。。

    less-25a操作过程

    操作和24基本相同,只不过他是属于整型,直接一条sql?id=-1 union select 1,database(),3

    less-26操作过程

    less26和25一样,在过滤or和and 还有注释符的基础上,有过滤了空格,只需要我们不使用空格,使用其他的空格表示法就可以了,他的闭合方式和less25也相同,下面直接给出注入内容,获取当前数据库名称?id=1' || (select%a0updatexml(1,concat(0x7e,database()),1)) || '

    less-26a操作过程 

    less26a的闭合方式为(‘’),同样他也是过滤了很多东西,空格,or,and,注释符,我们可以用sql直接爆出他的库

    ?id=100')%0bunion%0bselect%0b1,database(),3%0b||('1')=('1

    less-27操作过程

    less27在之前关卡的基础上过滤了union和select 我们可以使用重复写的方式,就是在union里边再写一个union,由于他的select过滤了两次,所以,我们需要重复写两次select? id=1'|| (seseselectlectlect%a0 updatexml(1,concat(0x7e,version()),1)) || ' 

    less-27a操作过程

    闭合方式为“”测试出来的

     less-28操作过程

    less28闭合方式为(‘’),根据这个闭合方式,我们就可以进行操作了。难的主要是寻找闭合方式来构造sql

     less-28a操作过程

    闭合方式和28关一样。。。。爆出当前数据库吧

     less-29

  • 相关阅读:
    docker镜像加速
    Job for network.service failed because the control process exited with error code
    python单例模式
    python实现简单算法
    Python母版使用
    Python中自定义filter用法
    linux挂载Windows共享文件夹
    重写用户模型时报错AttributeError: type object ‘自定义类’ has no attribute ‘USERNAME_FIELD’
    2020年3月10日 socket2
    2020年2月27日 socket 1
  • 原文地址:https://www.cnblogs.com/pangsong/p/12249793.html
Copyright © 2020-2023  润新知