Sploitus

Exploit for PoC_CVE-2017-3164_CVE-2017-1262

kitploit ยท 2026-08-25

Exploit Code

MARKDOWN30 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-TDWYER-POC_CVE-2017-3164_CVE-2017-1262
# Apache Solr Poc CVE-2017-3164 CVE-2017-12629

์ด ํด๋”์—๋Š” Apache Solr CVE-2017-3164 ๋ฐ CVE-2017-12629์— ๋Œ€ํ•œ ์˜ˆ์‹œ ์ต์Šคํ”Œ๋กœ์ž‡์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ต์œก ๋ชฉ์ ์œผ๋กœ๋งŒ, ๊ทธ๋ฆฌ๊ณ  Apache Solr ์„œ๋ฒ„ ์†Œ์œ ์ž์˜ ์™„์ „ํ•œ ํ—ˆ๊ฐ€๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Apache Solr ์„œ๋ฒ„์˜ IP ๋˜๋Š” DNS ์ด๋ฆ„๊ณผ ์ปฌ๋ ‰์…˜ ์ด๋ฆ„์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# CVE-2017-3164

Apache Solr ๋ฒ„์ „ 1.3๋ถ€ํ„ฐ 7.6(ํฌํ•จ)์—์„œ ์„œ๋ฒ„ ์ธก ์š”์ฒญ ์œ„์กฐ(SSRF) ์ทจ์•ฝ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. "shards" ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ•ด๋‹นํ•˜๋Š” ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์„œ๋ฒ„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์›๊ฒฉ ๊ณต๊ฒฉ์ž๊ฐ€ Solr๊ฐ€ ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  URL์— HTTP GET ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

* * *

์ด SSRF๋Š” ๋งค์šฐ ๊ฐ•๋ ฅํ•œ๋ฐ, GET ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ๋งŒ ํ•˜๋ฉด ๋Œ€์ƒ์— POST ์š”์ฒญ์„ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ POST ์š”์ฒญ ๋ณธ๋ฌธ์„ GET ์š”์ฒญ๊ณผ ํ•จ๊ป˜ URL ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# CVE-2017-12629

Apache Solr 7.1 ์ด์ „ ๋ฒ„์ „๊ณผ Apache Lucene 7.1 ์ด์ „ ๋ฒ„์ „์—์„œ, XXE๋ฅผ ์•…์šฉํ•˜๊ณ  Config API add-listener ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ RunExecutableListener ํด๋ž˜์Šค์— ๋„๋‹ฌํ•จ์œผ๋กœ์จ ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Elasticsearch๋Š” Lucene์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ด ์ทจ์•ฝ์ ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. XML ์™ธ๋ถ€ ์—”ํ„ฐํ‹ฐ ํ™•์žฅ ์ทจ์•ฝ์ ์€ XML Query Parser์—์„œ ๋ฐœ์ƒํ•˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ deftype=xmlparser ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ์ฟผ๋ฆฌ ์š”์ฒญ์— ๋Œ€ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, /upload ์š”์ฒญ ํ•ธ๋“ค๋Ÿฌ๋กœ ์•…์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ ftp ๋ž˜ํผ๋ฅผ ์‚ฌ์šฉํ•œ Blind XXE๋กœ Solr ์„œ๋ฒ„์˜ ์ž„์˜ ๋กœ์ปฌ ํŒŒ์ผ์„ ์ฝ๋Š” ๋ฐ ์•…์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‘ ๋ฒˆ์งธ ์ทจ์•ฝ์ ์€ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ชจ๋“  Solr ๋ฒ„์ „์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ RunExecutableListener๋ฅผ ์‚ฌ์šฉํ•œ ์›๊ฒฉ ์ฝ”๋“œ ์‹คํ–‰๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

* * *

์ €๋Š” ์ด RCE๋ฅผ ์•…์šฉํ•˜๊ธฐ๋กœ ์„ ํƒํ–ˆ์ง€๋งŒ, Apache Solr์—๋Š” SSRF๋กœ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ RCE ์ทจ์•ฝ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Solr ์„œ๋ฒ„๊ฐ€ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ์„œ๋ฒ„(์˜ˆ: Redis ๋ช…๋ น์„ ์ œ๊ณตํ•˜๊ณ  Redis ์„œ๋ฒ„์—์„œ ๋ฆฌ๋ฒ„์Šค ์…ธ์„ ํš๋“)๋„ ์‰ฝ๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# exploit-javascript.html

์ด ํŒŒ์ผ์„ ๊ณต์šฉ ์›น ์„œ๋ฒ„์— ํ˜ธ์ŠคํŒ…ํ•œ ํ›„ ๋Œ€์ƒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด๋ฉ”์ผ๋กœ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€์ƒ์ด ์›นํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋ฉด JavaScript๊ฐ€ ์ž๋™์œผ๋กœ Apache Solr ์„œ๋ฒ„๋ฅผ ์ต์Šคํ”Œ๋กœ์ž‡ํ•ฉ๋‹ˆ๋‹ค.

ํฌํŠธ ๋ฒˆํ˜ธ๋Š” `?n=` URL ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์—ฌ๋Ÿฌ ๋Œ€์ƒ์—๊ฒŒ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ณ  ๊ฐ ๋Œ€์ƒ์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.