ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

16 ๋ฒˆ์งธ ๋ฌธ์ œ์ธ "succubus"์ž…๋‹ˆ๋‹ค.

 

 if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
 if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
 if(preg_match('/\'/',$_GET[id])) exit("HeHe");
 if(preg_match('/\'/',$_GET[pw])) exit("HeHe");

๊ฒ€์ฆํ•˜๊ณ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด preg_match ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด " ' "(์‹ฑ๊ธ€์ฟผํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ฌธ์ œ๋Š” " id " ๋ณ€์ˆ˜์™€ " pw " ๋ณ€์ˆ˜ ๋ชจ๋‘๊ฒ€์ฆํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

$query = "select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
if($result['id']) solve("succubus"); 

์ž…๋ ฅ๋˜๋Š” ์ฟผ๋ฆฌ ๋ฌธ์˜ ํ˜•ํƒœ๋ฅผ ๋ณด๋ฉด ์ด๋ฒˆ์—๋Š” 2๊ฐ€์ง€ ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•ด์•ผ ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฒฐ๊ณผ ๊ฐ’์ด " admin " ์ผ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๊ณ„์ •๋งŒ ๋„์ถœ์‹œํ‚ค๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์•„๋ฌด๋ฆฌ ์‹ฑ๊ธ€ ์ฟผํ„ฐ๋ฅผ ์šฐํšŒํ•˜๋ ค๊ณ  ํ•ด ๋ด๋„ ๋„์ €ํžˆ ๋ฒ—์–ด๋‚  ์ˆ˜๊ฐ€ ์—†์–ด์„œ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๋˜ ์ค‘

 

๋ฌธ์ž์—ด์„ ์ด์Šค์ผ€์ดํ”„ ํ˜•ํƒœ๋กœ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋Š” " \(์—ญ์Šฌ๋ž˜์‰ฌ) " ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ž์—ด ์ด์Šค์ผ€์ดํ”„

$query = "select id from prob_succubus where id='\'&and pw=' or 1=1%23 

์ง„ํ•˜๊ฒŒ ํ‘œ์‹œ๋œ ์˜์—ญ๊ฐ™์ด ์—ญ ์Šฌ๋ž˜์‰ฌ ๋‹ค์Œ์— ์กด์žฌํ•˜๋Š” '(์‹ฑ๊ธ€ ์ฟผํ„ฐ)๋ถ€ํ„ฐ ๊ทธ๋‹ค์Œ์— ๋‚˜์˜ค๋Š” pw='(์‹ฑ๊ธ€ ์ฟผํ„ฐ) ๊นŒ์ง€๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์— "id" ๋ณ€์ˆ˜์—๋Š” '(์‹ฑ๊ธ€ ์ฟผํ„ฐ)๊ฐ€ ํ•œ ๊ฐœ ๋‚จ๊ฒŒ๋˜๊ณ  ๊ทธ๋‹ค์Œ Where ๊ตฌ๋ฌธ ์šฐํšŒ๊ธฐ๋ฒ•์ธ or 1=1(์ฃผ์„) ์„ ํ†ตํ•ดํ•ญ์ƒ " ์ฐธ " ์ด ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

 

๋ฌธ์ž์—ด ์ธ์‹: \'&and pw=
๋‚จ๋Š” ๊ตฌ๋ฌธ: id='๋ฌธ์ž์—ด๋กœ ์ธ์‹' or 1=1#

 

'CHALLENGE' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

XSS Challenges 7  (0) 2020.12.10
[LOS] Zombie assassin ํ’€์ด(17)  (0) 2020.12.09
[LOS] Assassin ํ’€์ด(15)  (0) 2020.12.09
XSS Challenges 6  (0) 2020.12.09
[LOS] Giant ํ’€์ด(14)  (0) 2020.12.08
๊ณต์œ ํ•˜๊ธฐ ๋งํฌ
Comment