ํฐ์คํ ๋ฆฌ ๋ทฐ
20 ๋ฒ์งธ ๋ฌธ์ ์ธ "Dragon"์ ๋๋ค.
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
์ฟผ๋ฆฌ๋ฌธ์ ์ ๋ ฅ๋ฐ์ ์คํํ๊ฒ ํด์ฃผ๋ ๋ณ์๋ GET [pw]์ด๋ฉฐ ํํฐ๋งํ๊ณ ์๋ ๋ฌธ์์ด์ / _ . () ์๋์ ์ผ๋ก ์ ์ด์ ๊น๋ค๋ก์ ๋ณด์ด์ง ์์ต๋๋ค.
$query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'";
์ ๋ ฅ๋๋ ์ฟผ๋ฆฌ ๋ฌธ์ ๋ณด๋ฉด id='guest'๋ก ์ง์ ๋์ด ์์ผ๋ฉฐ ๋ฐ๋ก ์์ "#(์ฃผ์)" ์ด ์๊ธฐ ๋๋ฌธ์ "pw" ๊ฐ์ ์ ๋ ฅ๋ ๊ตฌ๋ฌธ๋ค์ ๋ชจ๋ ๋ฌดํจ ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค.
if($result['id'] == 'admin') solve("dragon");
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด id๊ฐ "admin"์ธ ๊ณ์ ์ผ๋ก ๋ถ๋ฌ์์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๋ GET [pw] ๋ณ์์ id๊ฐ admin ์ธ ๊ณ์ ์ ์ฐธ ๊ฐ์ ์์ฑํด์ ์คํ์์ผ์ผ ํฉ๋๋ค.
New Line ์ฌ์ฉ
์ ์ ์ ๋ ฅ๋ #(์ฃผ์)์ ์๋ฏธ ์๊ฒ ๋ง๋ค๊ธฐ ์ํด New Line (%0a)์ ์ด์ฉํด์ ์๋ก์ด ์ค์ ๊ตฌ์ฑํ๋ฉด ํด๊ฒฐํ ์ ์์ต๋๋ค.
Input Code
pw=%0a% 1 and id='admin
"pw" ๋ณ์์ %0a(New Line)์ ์ฌ์ฉํด์ ์๋ก์ด ์ค์ ๊ตฌ์ฑํด์ฃผ๊ณ "%"๋ฅผ ์ฌ์ฉํด์ ์ ์ฅ๋์ด ์๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ๋์์ผ๋ก ์ก์์ฃผ๊ณ and ์ฐ์ฐ์๋ฅผ ํตํด id ๊ฐ "admin"์ธ ๊ณ์ ์ ๋ถ๋ฌ์ค๋ฉด ๋ฉ๋๋ค.
'CHALLENGE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
XSS Challenges 9 (0) | 2021.08.25 |
---|---|
XSS Challenges 8-1 (0) | 2020.12.12 |
XSS Challenges 8 (0) | 2020.12.11 |
[LOS] Xavis ํ์ด(19) (0) | 2020.12.10 |
[LOS] Nightmare ํ์ด(18) (0) | 2020.12.10 |