[Security] CVE-2022-25845

โ˜๐Ÿป CVE-2022-25845

CVE-2022-25845๋Š” FastJson์˜ AutoType ํ—ˆ์šฉ์œผ๋กœ RCE๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋Š” ์ทจ์•ฝ์ ์ด๋‹ค.
FastJson์—์„œ๋Š” json์„ ๋‹ค์‹œ object์œผ๋กœ ๋ฐ”๊พธ๋Š” ํ˜•ํƒœ๋กœ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
ํ•˜์ง€๋งŒ ์ด๋•Œ @type์— ์ •์˜๋œ ํƒ€์ž…์„ ์ฝ”๋“œ ์ž์ฒด์—์„œ ์ •์˜ํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด @type์„ ๋ณ€์กฐํ•˜๋ฉด ํŠน์ • ํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

@type์— ํŠน์ • ํด๋ž˜์Šค๋ฅผ, ์ดํ›„์— ์›ํ•˜๋Š” ์ธ์ž๊ฐ’์„ ์ฃผ๋ฉด์„œ ๊ณต๊ฒฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

โ˜๐Ÿป FastJson and Furious

Hack The Box์—๋Š” ์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ ์ข€ ๋” ์ž์„ธํžˆ Fastjson ์ทจ์•ฝ์ ์„ ์–ด๋–ป๊ฒŒ ์•…์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด FastJson and Furious MainActivity์˜ onCreate() ๋ฉ”์†Œ๋“œ๋‹ค. ์ด ๋ฉ”์†Œ๋“œ์—์„œ JsonObject๋ฅผ ์ด์šฉํ•˜์—ฌ json ์„ ํด๋ž˜์Šค object๋กœ ๋งŒ๋“ค๊ณ  ์žˆ๋‹ค.
์ดํ›„ ์ž…๋ ฅ๋ฐ›์€ text๋ฅผ ์ด์šฉํ•˜์—ฌ calHash() ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

calHash()๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ด๋•Œ ์š”๊ตฌ๋˜๋Š” text์˜ ์กฐ๊ฑด์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. calHash()๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•œ success์˜ ๊ฐ’์„ true๋กœ ๋ฐ”๊ฟ€ ๊ฒƒ.
  2. parseObject์˜ ํ‚ค๊ฐ€ 2๊ฐœ

์‹ค์ œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•˜๋ฉด flag๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

Categories:

Updated:

Leave a comment