์ด๋ฒ ํฌ์คํ
์ Blind SQL์ธ์ ์
Time Based ๋ฐฉ๋ฒ ์
๋๋ค.
์ค์ตํ๋ ๋ชจ๋ ๊ณต๊ฒฉ์ ์ค์ ๋ก ์ฌ์ฉํ์๋ฉด ์๋ฉ๋๋ค.
ํ์ฉ๋ฐ์ง ์์ ์๋น์ค ๋์์ ํดํน์ ์๋ํ๋ ํ๋์ ๊ธ์งํ๋ฉฐ,
๋ชจ๋ ๋ฒ์ ์ฑ
์์ ์ฌ์ฉ์์๊ฒ ์๋ ๊ฒ์ ๋ช
์ฌํด์ฃผ์ธ์.
์ค๋ช
์ ์์, ์์ผ๋ก ํ๋ SQL ์ธ์ ์
์ ์ผ๋ถ ๊ณต๊ฒฉ๋ค์ ๋์๋ฐฉ์์ ๋ฐ๋ก ํฌ์คํ
ํ์ง ์์๊ฒ์.
๋๋ถ๋ถ ๊ฐ์ ์ค๋ช
์ด๊ธฐ ๋๋ฌธ์ ์๋ตํ๊ณ , ๋ค๋ฅธ ๊ฒฝ์ฐ ๊ธฐ์ฌํ๋๋ก ํ๊ฒ ์ต๋๋ค.
๋์ด๋ ํ
์์์ ์์, timeBased๋ ๊ฒฐ๊ตญ blind sql๋ฐฉ์์ด๋ฏ๋ก, ์ ์ ํ๋ ๊ฒ๋ค๊ณผ ๋น์ทํ ๋ฐฉ์์ด๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
sqli_15.php ํ์ด์ง๋ ์ํ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฉ์ผ๋ก ๋ณด๋ด๋ ๊ธฐ๋ฅ์ ํ๋ค.
์ฆ ์ฐธ, ๊ฑฐ์ง์ ์๊ด์์ด ๋ชจ๋ ๋์ผํ ๊ฒ์๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค๋ ์ ์์ boolean base์ ์ฐจ์ด๊ฐ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐธ์ ๊ตฌ๋ณํ๊ธฐ ์ํ์ฌ sleep ํจ์๋ฅผ ์ฌ์ฉํด์ ์ธ์ ์
์ ์๋ํด์ผ ํ๋ค.
๋จผ์ , ์์๋ฐ์ดํ๋ก ์ธ์ ์
์ฌ๋ถ๋ฅผ ํ์ธํ๋ ค ํ์์ง๋ง,
๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋ชจ๋ ๋์ผํ์ฌ ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ์ถ๋ ฅํ์ง ์์๋ค.
SQL์ธ์ ์
์ ์ํ์ฌ ์ฌ์ฉํ ์ฟผ๋ฆฌ๋ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ฉ์ผ๋ก ๋ณด๋ธ๋ค๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
๋ฐ๋ผ์ SQL์ธ์ ์
์ฌ๋ถ๋ฅผ ํ์
ํ๊ธฐ ์ํด, ์ธ์์ ์
๋ ฅํ ์๊ฐ๋งํผ ์๋ต์ ์ง์ฐ์ํค๋ ํจ์์ธ sleep ํจ์๋ฅผ ์ฌ์ฉํ์ฌ
์ทจ์ฝ์ ์ฌ๋ถ๋ฅผ ํ์
ํด๋ณผ ๊ฒ์ด๋ค.
'or 1=1# ์ผ๋ก ์ผ์ ์ฝ๋์ and์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ sleep(5) ๋ผ๋ ์ฟผ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด,
sleepํจ์ ์์ ๋ฃ์ ์ธ์๊ฐ ๋งํผ ์๋ต ์๊ฐ์ด ์ง์ฐ๋๋ค.
์ฆ ์ฟผ๋ฆฌ๊ฐ ์ฐธ์ด๋ผ๋ ๊ฒ์ด๋ค.
and์ฐ์ฐ์๋ก sleepํจ์๋ฅผ ํธ์ถํ๊ธฐ ๋๋ฌธ์ ์ด์ ์ฟผ๋ฆฌ๊ฐ ์ฐธ์ด๋ฉด ์๋ต์ ์ง์ฐํ๋ค.
์ด๋ ๊ฒ ๋บ๊ธ๋บ๊ธ ๋๋ค..... ์ฆ ์ฐธ๊ณผ ๊ฑฐ์ง ์ฌ๋ถ๋ฅผ ์ด๋ ๊ฒ ์๋ต์๊ฐ์ผ๋ก ์ ์ถ ํ ์ ์๋ค.
sleepํจ์๋ ์ธ์๋ก ์ ์ํ ๊ฐ์ ์
๋ ฅ๋ฐ๋๋ฐ, ์ด๋ ์
๋ ฅํ ์ซ์์ ์ด ๋จ์๋ก ์๋ต์ ์ง์ฐํ๋ค.
์ฌ์ค blind SQL์ ๋งฅ๋ฝ๊ณผ ๊ฒฐ๊ตญ ๊ฐ์์, boolean base์ค์ต ์ฒ๋ผ ์ค์ต์ ํ๋ฉด sql์ธ์ ์
์ด ๊ฐ๋ฅํ๋ค.
๋ค๋ง ๋ค๋ฅธ ์ ์ด๋ผ๊ณ ๋ ์ฐธ,๊ฑฐ์ง ์ฌ๋ถ๋ฅผ ๋ณด์ด๋ ๊ฒ์ด ์๋ ์๋ต์๊ฐ์ผ๋ก ํ์ธ ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ ์ ์ค์ต์์ ์ฌ์ฉํ๋ ๋ชจ๋ ์ฟผ๋ฆฌ๋ฌธ์ and sleep(5) ๋ผ๋ ์ฟผ๋ฆฌ๋ง ์ถ๊ฐํด์ฃผ๋ฉด
๊ทธ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค.
https://lucete1230-cyberpolice.tistory.com/94
์ฑ
์์๋ time based ์ค์ต์ 'heroes' ๋ผ๋ ํ
์ด๋ธ์ ๊ฐ์ ์ถ์ธกํ์ฌ, login ์ ๋ณด์ password๋ฅผ ์ ์ถํ์ฌ
๋ก๊ทธ์ธ ์๋๋ฅผ ํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ์ผ์๋ค.
์ฌ์ค ์ด ์ค์ต ๋ํ ๋งฅ๋ฝ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ณผ์ ์ ์๋ตํ๋๋ก ํ๊ฒ ๋ค.
์ด์ ์ค์ต์ ์๋ฒฝํ ์ดํดํ๋ค๋ฉด, sleep ํจ์์ ๋ํ ์ดํด๋๋ง ํ์ํ ๊ฒ ๊ฐ๋ค.
<!-- ์ ๋ฒ ์ค์ต์ users๋ผ๋ ํ
์ด๋ธ์ ๋ฐํ์ผ๋ก ์ค์ตํ์๊ณ , ์ด๋ฒ์ heroes, ์ฆ ํ
์ด๋ธ ์ด๋ฆ์ ๊ตฌํ๋ค๋ฉด 1๋ฒ์งธ ์ปฌ๋ผ ๋ถํฐ
์ฐจ๊ทผ์ฐจ๊ทผ ์์๋ด์ด ์ค์ตํ๋ฉด ๋จ. -->
'or 1=1 and length((select column_name from information_schema.columns where table_schema='bWAPP' and table_name='heroes' limit 0,1))=2 and sleep(5)#
์์ ๊ฐ์ ์ฟผ๋ฆฌ๋ฌธ ์ฒ๋ผ ์ ์ ๋ฐฉ์์ and ์ฐ์ฐ์ ํตํด ์๋ต์ง์ฐ ํจ์๋ฅผ ์ด์ฉํ์ฌ ์ฐธ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉด ๋จ.
์ฒ์ ์ฐ์ตํ์๋ ๋ถ๋ค์ด๋ผ๋ฉด, putty๋ก ์ ๊ทผ ํ์ฌ, ์ง์ DB๊ตฌ์กฐ๋ฅผ ํ์ธ ํ๋ฉด์ ์ค์ตํ๋ ๊ฒ์ ์ถ์ฒ๋๋ฆฝ๋๋ค.
๊ฒฐ๊ตญ login ์ ๋ณด์ (neo) , password ์ ๋ณด (trinity) ๋ฅผ ์๊ฒ ๋๋ฉด
sqli_3.php ํ์ด์ง์ ๋ค์ด๊ฐ์,
https://lucete1230-cyberpolice.tistory.com/91?category=851757
login ํด์ฃผ๋ฉด ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ค.
time based - blind sql ์ธ์ ์
๋
๋์๋ฐฉ์์ ์ญ์ php ๊ธฐ๋ณธ ์ ๊ณต ํจ์ mysql_real_escape_string()ํจ์๋ก ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ์ฐํ ํด์ฃผ๋ ๋ฐฉ๋ฒ์
๋๋ค.