ํฐ์คํ ๋ฆฌ ๋ทฐ
Lord of Sql injection์์ " orc " ๋ ๋ฒจ์ ๊ฒฝ์ฐ ์ ๋จ๊ณ์์ ์งํํ๋ ๋ฐฉ์๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ์งํํด์ผ ๋ฉ๋๋ค.
์ฐ์ pw=' {$_GET[pw]}'"; ์ ๋ณด๋ค์ํผ ์ฟผ๋ฆฌ๋ฌธ์ ์ฝ์ ํ ๋ณ์์ ์ข ๋ฅ๋ ํ ๊ฐ์ด๋ฉฐ id='admin'์ด๋ผ๊ณ ์ ์ธ์ด ๋์ด์๋ ์ํ์ ๋๋ค.
if(($result ['pw']) && ($result['pw'] == $_GET ['pw'])) solve("orc");
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ์์ค์์ ํ์ธ๋๋ ๊ฒ์ฒ๋ผ $_GET ๋ฐฉ์์ผ๋ก ๋ ๊ฒจ ๋ฐ์ pw ๊ฐ๊ณผ admin์ ์ค์ pw ๊ฐ๊ณผ ๋์ผํด์ผ ๋ฌธ์ ํด๊ฒฐ์ด ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
$_GET [pw] = addslashes($_GET [pw]);
๋ํ "addlslashes" ํจ์์ ์ํด ์ฑ๊ธ ์ฟผํฐ์ ๋ํ ์กฐ์น๋ฅผ ํด๋ ๊ฒ ๊ฐ์๋ฐ ์ผ๋จ ์งํํ๋ฉด์ ํ์ธํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฟผ๋ฆฌ๋ฌธ์ด ์คํ๋๋ ๋งค๊ฐ๋ณ์ "pw"์ ์ฐธ๊ณผ ๊ฑฐ์ง ๊ฐ์ ๊ตฌ๋ถํ๋ ๋ฌธ๊ตฌ๋ฅผ ์ฝ์ ํด๋ณธ ๊ฒฐ๊ณผ ์ฐธ์ผ๋ก ์ ๋ ฅ ์ " Hello admin "์ด๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ์ถ๋ ฅํด์ฃผ๊ณ ๊ฑฐ์ง ๊ฐ์ ์ผ๋ ฅ ํ ๊ฒฝ์ฐ ์๋ฌด๋ฐ ๋ฐ์์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ํ ๋๋ก BSQLI(Blind Sql Injection) ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ admin์ ํจ์ค์๋๊ฐ ์ด๋ค ๋ฌธ์์ด์ ์ฌ์ฉํ๋์ง ์ฐธ, ๊ฑฐ์ง์ผ๋ก ์ ์ถํด๋ณผ ์ ์์ต๋๋ค.
์ฐ์ ํจ์ค์๋์ ๊ธธ์ด๋ฅผ ์ ์ถํ๊ธฐ ์ํด "length"๋ฅผ ์ด์ฉํด ๋ณผ ์ ์์ต๋๋ค. pw์์ญ์ "%"๋ฅผ ์ฌ์ฉํ ๊ฒ์ ์ด์ฐจํผ admin ๊ณ์ ๋ง ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ">1#"์ ์๋ฏธ๋ ์ถ๋ ฅ๋ ํจ์ค์๋์ ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฌ๋ฉด "์ฐธ" ์๋๋ฉด "๊ฑฐ์ง" ํํ๋ก #์ ์ฌ์ฉํด ์ดํ์ ๊ตฌ๋ฌธ์ ๋ชจ๋ ์ฃผ์์ฒ๋ฆฌํ๋๋ก ํ์ต๋๋ค.
ํจ์ค์๋๋ 1๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฐธ ๊ฐ์ธ "Hello admin" ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
>1# ~ >7# ๊น์ง๋ ๋ชจ๋ "Hello admin" ์ด ์ถ๋ ฅ๋์์ง๋ง >8# ์ ์ฐจ๋ก์์๋ ์ถ๋ ฅ๋์ง ์๋ ๊ฒ์ผ๋ก ๋ณด์ ํจ์ค์๋๋ "8์๋ฆฌ" ์ธ ๊ฒ์ผ๋ก ์ ์ถํ ์ ์์ต๋๋ค.
ํจ์ค์๋ ์๋ฆฌ์๋ฅผ ํ์ ํ์ผ๋ ์ด์ 8์๋ฆฌ ์ค 1์๋ฆฌ์ฉ ์ด๋ค ๋ฌธ์, ์ซ์, ํน์๋ฌธ์๋ฅผ ์ฌ์ฉํ๋์ง ํ์ธํ๊ธฐ ์ํด ํ๋ก์ ๋๊ตฌ์ธ " burp suite " ๋๊ตฌ๋ฅผ ํตํด ๋ฌด์์๋ก ๋์ ํด๋ณด๊ฒ ์ต๋๋ค.
๋ฌธ์์ด์ ํ๋์ฉ ์ ์ถํ๊ธฐ ์ํ ์ ๋นํ ์ฟผ๋ฆฌ๋ฌธ์ ์ฝ์ ํ๊ณ ํ๋ก์๋ก ์ก์ ๋ชจ์ต์ ๋๋ค. URL ์ธ์ฝ๋ฉ์ด ๊ฐ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ง๊ด์ ์ผ๋ก ๋ณด์ด์ง ์์ง๋ง ์ฌ์ฉ๋ ํจ์๋ฅผ ํ์ธํด๋ณผ ํ์๋ ์์ต๋๋ค.
์ฐ์ "substr" ํจ์๋ฅผ ์ฌ์ฉํด์ pw์ ๋ด๊ธด ํจ์ค์๋๋ฅผ 1 ๊ธ์์ฉ ๊ฐ์ ธ์ค๊ณ --> ascii ๊ฐ์ผ๋ก ๋ณ๊ฒฝํด์ ํจ์ค์๋๋ฅผ ์ถ์ธกํ ๊ฒ์ ๋๋ค.
substr ๊ณผ ascii ์ฝ๋
" substr(pw,1,1) " ๋ pw๋ผ๋ ๋ฌธ์์ด์์ 1๋ฒ์งธ ์๋ฆฌ์์ 1๊ธ์ ๊ฐ์ ธ์ค๋ผ๋ ์๋ฏธ ์ด๋ฉฐ
ascii(substr(pw,1,1)=ascii์ฝ๋ " ์ฆ "substr" ํจ์๋ฅผ ์ด์ฉํด์ "pw"์ ์ํ๋ ์์น์ ๊ฐ์ "ascii()" ์์คํค๋ก ๋ณํํ๊ณ ํ๋์ฉ ์ฆ๊ฐ์ํค๊ณ ๋ง์ง๋ง "=ascii์ฝ๋"์ ๋น๊ตํด๊ฐ๋ฉด์ ์ฒซ ๋ฒ์งธ ํจ์ค์๋ ๊ฐ์ด ascii ์ฝ๋๋ก ์ด๊ฑฐ๋??๋ผ๋ ์ฟผ๋ฆฌ๋ฌธ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฝ์ ํด์ ์ฐธ, ๊ฑฐ์ง ๊ฐ์ผ๋ก ์ ์ถํ ์ ์๊ฒ ๋ฉ๋๋ค.
" ๋ฒํ " ์ cluster bomb์ ํ์ฉํด์ (pw, ํ๊น(1),1)=ํ๊น(2)%23 " ํ๊น(1,2) " ๋ถ๋ถ์ ํ ์๋ฆฌ์ฉ ๋์ ํด๊ฐ๋ฉด์ ํ์ธํด๋ณผ ๊ฒ์ ๋๋ค.
ํ๊น(1) ์๋ ๋ช ๋ฒ์งธ ๋ฌธ์์ด์ ๊ฒ์ฌํ ๊ฒ์ธ์ง ํ์ธํ๋ ์์ญ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์์์ ํจ์ค์๋๊ฐ 8์๋ฆฌ์ธ ๊ฒ์ ์์๋์ผ๋ 1์๋ฆฌ ~ 8์๋ฆฌ์ฉ 1๊ฐ์ฉ ์ฆ๊ฐํ๋ฉด์ ํ์ธํด์ผ ๋ฉ๋๋ค.
ํ๊น(2) ์๋ ํ๊น(1)์์ ์ง์ ํ ๋ฌธ์์ด์ ascii ๊ฐ์ด ๋์ผํ์ง ํ์ธํ๊ธฐ ์ํ ์์ญ์ ๋๋ค. ์ฐ์ 1~8 ์๋ฆฌ ํจ์ค์๋์ค " ์ซ์ " ๊ฐ ์กด์ฌํ๋ ๋ถ๋ถ์ ์์๋ด๊ธฐ ์ํด 48 ~ 57๊น์ง 1์๋ฆฌ์ฉ ์ฆ๊ฐ์์ผ ํ์ธํด์ผ ๋ฉ๋๋ค.
* 48 ~57 ์ ascii ์ฝ๋๋ก " 0 ~ 9 " ๊น์ง์ ์ซ์๋ฅผ ์๋ฏธ
ASCII ์ ๋ฆฌ
32 ~ 47 : ํน์๋ฌธ์ (space, !, ", #, $, %, & ๋ฑ)
58 ~ 64 : ํน์๋ฌธ์ (:, ;, <, =, >, ?, @)
123 ~ 126 : ํน์๋ฌธ์ ({, |, }, ~)
48 ~ 57 : ์ซ์ (0 ~ 9)
65 ~ 90 : ์์ด(๋๋ฌธ์) (A ~ Z)
97 ~ 122 : ์์ด(์๋ฌธ์) (a ~ z)
"payload1" ์๋ ํจ์ค์๋์ ์๋ฆฌ์๋ฅผ ํ๋์ฉ ์ฆ๊ฐ์ํจ ๊ฒ์ด๋ฉฐ "payload2" ์์ญ์ ์ฑ๊ณต์ ์ผ๋ก ๋์ถ๋ ํจ์ค์๋(ascii์ฝ๋) ๋๋ฒ๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
1 ~ 8 ์๋ฆฌ ํจ์ค์๋ ์ค 4๋ฒ์งธ ์๋ฆฌ๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ซ์ ํํ์ ํจ์ค์๋๋ฅผ ์ฌ์ฉ ์ค์ธ ๊ฒ์ผ๋ก ํ์ธ๋ฉ๋๋ค.
4๋ฒ์งธ ์๋ฆฌ๋ ์ซ์๊ฐ ์๋ ๊ฑฐ ๊ฐ์ผ๋ ๋ฌธ์(์, ๋) ๋ ํน์๋ฌธ์๋ฅผ ๋์
ํด์ ํ์ธํด๋ณผ ํ์๊ฐ ์์ต๋๋ค.
ํ๊น(1)์ ์ ํ ์ ๋์ผํ๊ฒ ๋ฌ๋ ๋๊ณ 4๋ผ๊ณ ๋ง ์ง์ ํด์ค์ ํ์ธํ์ ๋ ์๊ด์์ต๋๋ค.
์ฐ์ ํ๊น(2) ๋ถ๋ถ์ ์๋ฌธ(์๋ฌธ์) ๋ฅผ ์ฌ์ฉ ์ค์ธ์ง ํ์ธํ๊ธฐ ์ํด ascii ์ฝ๋๋ก " 97 ~ 122 " ๋ก ๋ณ๊ฒฝํด์ ๊ณต๊ฒฉํด๋ณด๋ฉด
์ฑ๊ณต์ ์ผ๋ก 4๋ฒ์งธ ๋ฌธ์์ด์ด ์๋ฌธ(์๋ฌธ์) ๋ฅผ ์ฌ์ฉ ์ค์ธ ๊ฒ์ผ๋ก ํ์ธ๋์์ต๋๋ค.
์ด์ ํจ์ค์๋๋ฅผ ๋ชจ๋ ์์๋์ผ๋ $_GET() ๋ฐฉ์์ผ๋ก ๋์ถ๋ ํจ์ค์๋๋ง ์
๋ ฅํด์ฃผ๋ฉด ์ฑ๊ณตํ๊ฒ ๋ฉ๋๋ค.
์์ค์์ $_GET [pw] = addslashes($_GET [pw]); ํ์ธํด๋ณด๋ฉด "addlslashes" ํจ์์ ์ํด ์ฑ๊ธ ์ฟผํฐ๊ฐ ์ฐจ๋จ๋๊ณ ์์๋๋ฐ
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์์ด์๋ ๋งํ์ด ์กด์ฌํ์ง ์์ต๋๋ค.
addslashes ํจ์
ํน์๋ฌธ์๊ฐ DB ๋ด์์ ๋ฌธ์๋ก ์ธ์๋๋๋ก ํด์ฃผ๋ ๊ฒ์ผ๋ก ์ด๊ฒ์ด ์ค์ ์ ๋์ด ์์ ์ ํน์๋ฌธ์๋ก ์ธํด ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ด์ ์ค์ ํด๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ BSQLI ๊ธฐ๋ฒ์ ์ฐธ, ๊ฑฐ์ง ์ ํตํด ํจ์ค์๋๋ฅผ ์ ์ถํ๋ ๊ฒ์ ์์ด์๋ ์๊ด์์ต๋๋ค.
'CHALLENGE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LOS] darkelf ํ์ด(6) (0) | 2020.12.05 |
---|---|
[LOS] wolfman ํ์ด(5) (0) | 2020.12.05 |
[LOS] goblin ํ์ด(3) (0) | 2020.12.05 |
[LOS] cobolt ํ์ด(2) (0) | 2020.12.05 |
[LOS] gremlin ํ์ด(1) (0) | 2020.12.05 |