ctfweb:基于sqlite注入/next.js页面进入

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文件

下载这个文件

复制代码
curl -s http://node1.anna.nssctf.cn:23171/_next/static/chunks/app/login/page-b20a48e2d273348a.js -o login_page.js

目的: Next.js 会将页面逻辑打包到 /_next/static/chunks/ 目录,分析这些文件找到 API 端点。

下载登录页面的 JS 文件(从页面源码中找到的路径)

curl -s http://node1.anna.nssctf.cn:21007/_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

发现了是POST,两个字段名是username和password

弱密码爆破得到admin:password

携带 token 访问 dashboard

curl -s -H "Cookie: token=generated-jwt-token-here" \ http://node1.anna.nssctf.cn:22877/dashboard

得到flag

相关推荐
2401_867623982 小时前
HTML5中SVG解析器原理及手动构建矢量字符串
jvm·数据库·python
老纪3 小时前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python
weixin_459753943 小时前
Vue.js响应式shallowReadonly实现对象属性的一层状态保护
jvm·数据库·python
m0_470857643 小时前
uni-app怎么实现拖拽调整顺序 uni-app可拖动格子布局实现【技巧】
jvm·数据库·python
dFObBIMmai3 小时前
MySQL如何利用存储过程封装权限_通过DEFINER与INVOKER模式控制
jvm·数据库·python
m0_748554813 小时前
如何用 stopPropagation 阻止事件冒泡防止触发父级回调
jvm·数据库·python
2301_812539673 小时前
SQL如何基于窗口函数实现复杂分层 DENSE_RANK应用
jvm·数据库·python
weixin_459753943 小时前
Go语言怎么做多阶段构建_Go语言Docker多阶段构建教程【完整】
jvm·数据库·python
m0_631529823 小时前
MySQL如何解决锁等待超时异常_捕获MySQL Error 1205错误
jvm·数据库·python