SQLite 注入与 Next.js 页面入口分析
文章状态:待复验
本文由 Lee 的 CSDN 原创学习记录迁移并重新整理。以下操作仅限自建环境、CTF 与明确授权靶场,请勿用于未授权目标。
学习目标
- 从页面与接口行为识别 Next.js 应用入口
- 理解 SQLite 与常见数据库在语法和元数据上的差异
- 使用最小化验证确认注入而不过度获取数据
实验说明
- 难度:中级
- 范围:本地或公开授权靶场
- 复验状态:正文已完成格式迁移,关键结论将在后续使用固定环境重新验证
原始实验记录
1:基于sqlite的sql注入
2:next.js
[GHCTF 2025]SQL???
——bool盲注,union注入
测试代码
给了web页面,先测一下

又一个flask,而且有参数,直接尝试sql,并且注意,这里的正常页面长度大概是710k+

恒真恒假测试,回显有异,继续进行bool盲注,试了好几个mysql函数都用不了,尝试SQLlite回显了一个正常页面

后端数据库为 SQLite,
以下环境换成23570端口
在url里探测列数,测到?id=1 order by 6–+报错,说明有5列

继续测联合注入?id=-1 union select 1,2,3,4,5–+,回显成功

学习一下SQLite:
- SQLite 是文件型数据库,MySQL 是服务型数据库,两者注入方式不同
- SQLite没有默认端口,但mysql默认端口是3306
- 前者获取版本是sqlite_version(),后者是version() or @@VERSION
- 都能用group_concat()
- SQLite用group_concat(name)一次性查出所有表名
- sqlite_master是SQLite 的元数据目录表,存储所有表的信息,相当于 MySQL 的
information_schema
爆版本号?id=-1 union select 1,sqlite_version(),3,4,5–+

获取表名:?id=-1 union select 1,sqlite_version(),group_concat(name),4,5 from sqlite_master

发现flag表,进一步进去看?id=-1 union select 1,*,3,4,5 from flag

成功找到flag
[LitCTF 2025]nest_js
进去是一个登录框,先disearch扫下url,只扫到一个favicon.ico ,进去看是一个图标,没什么用,whatweb看一下

PasswordField,跟页面的登录框对应上,注意还有个X-Powered-By[Next.js],说明前面的x框架由Next.js驱动
学习一下Next.js,Next.js 是框架,它基于 React(构建用户界面的JS库),并给它加上了路由、服务端渲染、API 后端等全套功能
题目提示了弱口令爆破,但是对于next.js./react框架,页面源码看不到是post还是get,js文件里才能看到
看源码再确定一下,提交框无action属性

路径里有js文件

下载这个文件
1 | curl -s http://authorized-lab.local/_next/static/chunks/app/login/page-b20a48e2d273348a.js -o login_page.js |
目的: Next.js 会将页面逻辑打包到 /_next/static/chunks/ 目录,分析这些文件找到 API 端点。
下载登录页面的 JS 文件(从页面源码中找到的路径)
curl -s http://authorized-lab.local/\_next/static/chunks/app/login/page-b20a48e2d273348a.js -o login_page.js
搜索 API 相关关键词 grep -E “(api|fetch|axios|login|/api/)” login_page.js | head -20


弱密码爆破得到admin:password
携带 token 访问 dashboard
curl -s -H “Cookie: token=generated-jwt-token-here” \ http://authorized-lab.local/dashboard
得到flag

防御与复盘
- 所有查询参数均使用参数化语句,不拼接来自 URL、表单或 JSON 的输入。
- 为异常查询、数据库错误和高频探测建立监控。
- 生产环境关闭详细错误回显,并限制数据库文件和备份文件的访问。
原文出处
- 标题: SQLite 注入与 Next.js 页面入口分析
- 作者: Lee
- 创建于 : 2026-05-07 16:25:15
- 更新于 : 2026-09-04 00:00:00
- 链接: https://leeei.site/2026/05/07/SQLite注入与Nextjs入口分析/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。