์ƒˆ์†Œ์‹

Game/Bee-box

[Bee-box] XML/Xpath ์ธ์ ์…˜-Search

  • -
๋ฐ˜์‘ํ˜•

์ด๋ฒˆ ํฌ์ŠคํŒ…์€ XML/Xpath Search injection์ž…๋‹ˆ๋‹ค.

 

์‹ค์Šตํ•˜๋Š” ๋ชจ๋“  ๊ณต๊ฒฉ์€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค.

ํ—ˆ์šฉ๋ฐ›์ง€ ์•Š์€ ์„œ๋น„์Šค ๋Œ€์ƒ์— ํ•ดํ‚น์„ ์‹œ๋„ํ•˜๋Š” ํ–‰๋™์€ ๊ธˆ์ง€ํ•˜๋ฉฐ,

๋ชจ๋“  ๋ฒ•์  ์ฑ…์ž„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์žˆ๋Š” ๊ฒƒ์„ ๋ช…์‹ฌํ•ด์ฃผ์„ธ์š”.


 

๋‚œ์ด๋„ ํ•˜

 

(owasp ๊ณต๊ฒฉ๋ถ„๋ฅ˜ ์ค‘) A1 ์ด ์ด์ œ ๋๋‚ฌ๋‹ค.ใ… ใ… ใ…  A1ํŒŒํŠธ์— ์ฃผ์š” ๊ณต๊ฒฉ์ธ sql์ธ์ ์…˜์ด ํ•จ๊ป˜ ์žˆ์–ด์„œ ๊ทธ๋Ÿฐ์ง€,

los, webhacking...๋“ฑ ๋ฌธ์ œ์™€ ํ•จ๊ป˜ ํ’€๋ฉฐ ์ด๋Ÿฐ์ €๋Ÿฐ ์‹ค์Šต์„ ํ•จ๊ป˜ ํ•˜๋Š๋ผ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ ธ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

 

์•ž์œผ๋ก  ๋น ๋ฅด๊ฒŒ ๋‚˜๊ฐ€์•ผ ๊ฒ ๋‹ค.

 

 

xml/xpath injection (search) ๋“ค์–ด๊ฐ€๊ธฐ!

(A1 ๋งˆ์ง€๋ง‰ ์‹ค์Šต์ž…๋‹ˆ๋‹ค.)

 

 

 

 

xmli_2.php ํŽ˜์ด์ง€๋Š” ์˜ํ™”๋ฅผ ์žฅ๋ฅด๋ณ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ์˜ํ™” ์ œ๋ชฉ๋งŒ ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

GET ๋ฉ”์„œ๋“œ๋กœ ์š”์ฒญํ•˜๊ธฐ ๋•Œ๋ฌธ์— URL์— ๋ณ€์ˆ˜๊ฐ€ ๋…ธ์ถœ๋œ๋‹ค.

SQL ์ธ์ ์…˜ ์ทจ์•ฝ์ ์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด, genre๋ณ€์ˆ˜์— ' ์ž‘์€๋”ฐ์˜ดํ‘œ ์ž…๋ ฅ๊ฒฐ๊ณผ xml๊ณผ ๊ด€๋ จ๋œ ๊ฒฝ๊ณ ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

url์˜ genre ๋ณ€์ˆ˜์— ํ•ญ์ƒ ์ฐธ์ธ ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. 

์ •์ƒ ์ฟผ๋ฆฌ์—์„œ containsํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ•˜๋ฏ€๋กœ ์†Œ๊ด„ํ˜ธ์™€ '[ ]'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์ƒ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ•์ œ๋กœ ๋‹ซ๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋งŒ๋“ ๋‹ค.

 

 

ํŠนํžˆ xml์„ ํ˜ธ์ถœํ•  ๋•Œ๋Š” ์ค‘๊ฐ„์— ์ฃผ์„ ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ, ์ •์ƒ ์ฟผ๋ฆฌ ์ด์™ธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๋„ ๋ฌธ๋ฒ• ์˜ค๋ฅ˜๊ฐ€ 

๋ฐœ์ƒํ•˜์ง€ ์•Š๊ฒŒ ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. 'contains'ํ•จ์ˆ˜๋Š” ์ธ์ž๋ฅผ ๋‘๊ฐœ ๋ฐ›์œผ๋ฉด ์ฒซ์ธ์ž์— ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์ด ๋‘๋ฒˆ์งธ ์ธ์ž์— ์žˆ์œผ๋ฉด true ๊ฐ’์„ ๋ฐ˜ํ™˜. ์•„๋‹ˆ๋ฉด false๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

lovelynoa.tistory.com/89

์œ„ ์ฃผ์†Œ์— xml์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋“ค์ด ์ •์˜๋˜์–ด ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.

 

') or 1=1 ][(' or

 

 

 

 

์ธ์ ์…˜ ๊ฒฐ๊ณผ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์˜ํ™” ์ œ๋ชฉ์„ ์ถœ๋ ฅํ•˜๋„ค์š”.

 

์ด๋Š” ํ•ญ์ƒ ์ฐธ์ธ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

์›๋ž˜ ์ฟผ๋ฆฌ๋ฅผ ์˜ˆ์ƒํ•ด๋ณด์ž๋ฉด

genre=[('        ') or 1=1 ][(' or        ')] ์ด๋ ‡๊ฒŒ ์ฟผ๋ฆฌ๊ฐ€ ๋“ค์–ด๊ฐ€์ง€ ์•Š์„๊นŒ ์˜ˆ์ƒํ•ด๋ด…๋‹ˆ๋‹ค. (์ผ๋ถ€๋Ÿฌ ๋งŽ์ด ๋„์›Œ๋†จ์Šต๋‹ˆ๋‹ค.)

 

 

๊ทธ๋Ÿผ ๋‹ค์Œ์œผ๋กœ xml ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด

 

')] |//*|evil[('

 

 

์ฟผ๋ฆฌ๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฐ๊ณผ xml ์ธ์ ์…˜ ๊ณต๊ฒฉ์ด ์„ฑ๊ณตํ•˜์—ฌ heroes ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๊ฐ€

ํ…Œ์ด๋ธ” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‚ฌ์ง„ ์ด์–ด ๋ถ™์ธ๊ฒ๋‹ˆ๋‹ค.

 

์ฆ‰ ์ด์ฟผ๋ฆฌ๋ฅผ ํ•ด์„ํ•ด๋ณด์ž๋ฉด

 

'|' ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด์„œ xpath ์ฟผ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ ๊ฒƒ์ธ๋ฐ, xpath์—์„œ |์—ฐ์‚ฐ์ž๋Š” and์—ฐ์‚ฐ์ž ์ฒ˜๋Ÿผ

๋‹ค๋ฅธ ์ฟผ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

๋‹ค์Œ ํŽ˜์ด์ง€์˜ ์ •์ƒ ์ฟผ๋ฆฌ๋ฅผ ๋‹ซ๊ณ , | (and) ์—ฐ์‚ฐ์ž๋กœ '//*' ๋ฅผ ์—ฐ๊ฒฐํ•œ ์ฟผ๋ฆฌ์ด๋‹ค.

'//*'์ฟผ๋ฆฌ๋Š” ํ˜„์žฌ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ๋…ธ๋“œ๋ฅผ ์กฐํšŒํ•˜๋Š” xpath ์ฟผ๋ฆฌ์ด๋‹ค.

์ •์ƒ์ ์ธ ๋ถ€๋ถ„์— ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก and๋กœ ํ•œ๋ฒˆ๋” ์—ฐ๊ฒฐํ•˜์—ฌ ์ž„์˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ฌธ๋ฒ•์„ ๋งž์ถฐ์ค€๊ฒƒ์ด๋‹ค.

 

 

์ฆ‰ ์›๋ž˜ ์ฟผ๋ฆฌ์— ์—ฐ๊ฒฐํ•ด์„œ ์ƒ๊ฐํ•˜๋ฉด

 

genre=[('       ')] |//*|evil[('       ')] 

 

์ด๋Ÿฐ์‹์œผ๋กœ ์ธ์‹์ด ๋œ๊ฒƒ์ด๋‹ค.

 

xml ์ธ์ ์…˜(search)

Clear

 

 


 

๋Œ€์‘ ๋ฐฉ์•ˆ

๋‚œ์ด๋„ ์ƒ ์—์„œ๋Š” ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ๋„ XML์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†๋‹ค.

 

๋‚œ์ด๋„ ์ƒ ์— ํŽ˜์ด์ง€ ์ฝ”๋“œ๋ฅผ ํ™•์ธ ํ•˜๋ฉด, xmli_check_1 () ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์šฐํšŒํ•œ๋‹ค.

 

 

 

ํ•จ์ˆ˜๋ฅผ ์‚ดํŽด๋ณด์•˜๋”๋‹ˆ(ํ•จ์ˆ˜๋Š” functions_external.php์— ์ •์˜๋˜์–ด์žˆ์Œ)

'str_replace' ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์น˜ํ™˜ํ•จ์ˆ˜๋ผ๊ณ  ๋ด๋„ ๋˜๋Š”๋ฐ,

 

์ธ์ ์…˜์— ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋Œ€์ฒดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

str_replace ํ•จ์ˆ˜๋Š” ์ฒซ๋ฒˆ์งธ ์ธ์ž์—, ๋Œ€์ฒดํ•˜๋ ค๋Š” ๋ฌธ์ž(์ฆ‰ ์ธ์ ์…˜์— ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž)๋ฅผ ์ž…๋ ฅํ•˜๊ณ 

๋‘๋ฒˆ์งธ ์ธ์ž์—๋Š” ๋Œ€์ฒดํ•  ๋ฌธ์ž๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. 

๋งˆ์ง€๋ง‰ ์ธ์ž์—๋Š” ๋ณ€๊ฒฝํ•  ๋‚ด์šฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.  xmli_check_1ํ•จ์ˆ˜์—์„œ ๋Œ€์ฒดํ•˜๋Š” ๋ฌธ์ž๋“ค์€ ์œ„์™€๊ฐ™๊ณ 

์ด ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ injection์„ ์‹œ๋„ํ•  ์‹œ ๋จนํžˆ์ง€ ์•Š๊ฒŒ๋” ๋ง‰๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ˜์‘ํ˜•

'Game > Bee-box' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Bee-box] Broken Auth. - Insecure Login Forms  (0) 2020.09.22
[Bee-box] ์ธ์ฆ ๊ฒฐํ•ฉ  (0) 2020.09.21
[Bee-box] XML/Xpath ์ธ์ ์…˜-2  (0) 2020.09.19
[Bee-box] XML/Xpath ์ธ์ ์…˜  (0) 2020.08.29
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.