当前位置: 首页 > news >正文

[GHCTF 2025]SQL??? 【sqlite注入】

梳理一下SQLite注入

常见指令

查看版本:sqlite_version()

列出附加数据库中的所有表:.tables 

注入步骤

先查字段:

1' order by 5 #

三板斧:


0' union select 1,2,sql from sqlite_master;
sql字段存储创建该数据库对象时所使用的 SQL 语句,也就是说可以看见这个表是怎么被创建的

0' union select 1,2,sql from sqlite_master where type='table';
这里的type为table,也就是说只关注类型为表的内容,也就是说只关注表


0' union select 1,2,sql from sqlite_master where type='table' and name='user_data';
这里的name限制了要搜查的表的内容中,名字叫user_data的那个

sqlite_master 表的具体结构

列名数据类型描述
typeTEXT表示数据库对象的类型。常见的值有:
'table':代表普通的表。
'index':代表索引,用于提高查询效率。
'view':代表视图,是虚拟表,基于 SQL 查询结果。
'trigger':代表触发器,是与表相关的特殊程序,在特定事件发生时自动执行。
nameTEXT存储数据库对象的名称。比如,如果是表,就是表名;如果是索引,就是索引名,依此类推。
tbl_nameTEXT该列存储与该对象关联的表的名称。对于表本身而言,tbl_name 通常和 name 是相同的;但对于索引、视图和触发器,它指向它们所关联的表。例如,一个索引是为 users 表创建的,那么 tbl_name 就是 'users'
rootpageINTEGER此列存储该对象数据存储的页号。在 SQLite 中,数据是按页存储的。不过对于某些对象(像视图),该值可能为 0,因为视图并不实际存储数据,只是一个查询定义。
sqlTEXT存储创建该数据库对象时所使用的 SQL 语句。这个语句非常有用,因为它可以用来重新创建该对象。例如,如果你想知道一个表是如何创建的,就可以查看这个表对应的 sql 列的值。

题目

这张是我见过最好看的灰原哀了

 注入show databases发现报错了直接

又因为show databases只在MySQL中存在,但是在SQLite中无法使用,所以这道题是SQLite注入

先判断有几列

 第六列出现报错界面

爆出来表名

 sqlite_master 是 SQLite 中的一个系统表,它存储了数据库中所有对象(如表、视图、索引等)的定义信息。攻击者通过这个函数可以获取数据库中所有对象的名称。

 在name这一列中是所包含的表的名字,也就是flag和users 

/?id=1 union select 1,2,3,4,group_concat(sql) from sqlite_master
group_concat(sql)聚合sqlite_master表中所有表的SQL定义语句
sqlite_masterSQLite系统表,记录所有用户表的定义信息(相当于MySQL的information_schema

返回的内容别看他这么乱,实际上长这样:

所以我们要找的就是flag表里的flag列

所以直接payload:

/?id=1 union select 1,2,3,4,flag from flag

 拿到flag

相关文章:

  • java中过滤器
  • 反码与补码
  • 【阿里云】控制台使用指南:从创建ECS到系统诊断测评
  • (base)user1@ubuntu:~$pip install xxxx(xxxx表示第三方库) 分析
  • Centos7系统遇到的第一个问题 yum
  • 【面试】框架
  • ngx_regex_create_conf
  • Git(一)
  • leetcode hot100--动态规划【五步总纲】
  • 文本对抗样本系列的论文阅读笔记(整理合订)
  • 学习笔记11——并发编程之并发关键字
  • ArcGIS Pro中字段的新建方法与应用
  • 从新手到专家:嵌入式代码空间优化技巧
  • C++ Primer Plus第十二章课后习题总结
  • 【二分算法】-- 三种二分模板总结
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-5.1.2基于Painless脚本的日志告警
  • 空指针异常的触发
  • 论文阅读分享——UMDF(AAAI-24)
  • 用Haskell语言和wreq库配合HTTP写个爬虫程序
  • Java学习--Redis
  • 网警打谣:传播涉刘国梁不实信息,2人被处罚
  • 上海国际珠宝时尚功能区未来三年如何建设?六大行动将开展
  • 上海比常年平均时间提前12天入夏,明天最高气温可达33℃
  • 中国首艘海洋级智能科考船“同济”号试航成功,可搭载水下遥控机器人
  • 中国军网:带你揭开3所新调整组建军队院校的神秘面纱
  • 手机表面细菌菌落总数可能比马桶高10倍,医生详解如何洗手