[๋ฌธ์ 16]
์ค๋ ๋ฌด์จ์ผ์ด ์์ด๋ 30๋ฌธ์ ๊น์ง ํ์ด์ ์ฌ๋ ค์ผ ํ๋๋ฐ ํ ์ ์๊ฒ ์ฃ ?
์ผ๋จ 16๋ฒ ๋ฌธ์ ๋ ์ฑ๊ธ์ฟผํฐ๋ฅผ id์ pw๋๋ค ๋ง์๋จ๋ค์.
id๊ฐ ๋ค์ด๊ฐ๋ฉด ๊ทธ๋ฅ ํ๋ฆฌ๋ ๋ฌธ์ ๊ฐ์์.
์ฒ์์ ๋๋ฌด ์ฝ๊ฒ์๊ฐํด์ ์ด๊ฒ์ ๊ฒ ๋ง ์๋ํด๋ณด๋ค๊ฐ ๋๋ฌด ์๋ซ๋ ค์ ์์ ๋ฌธ์ ๋ฅผ ์ฐพ์๋ดค๋๋ฐ,
ํจ์๊ฐ ๋ฐ๋์๋ค์. ์ ๋ฒ์ los๋ฅผ ํ๋๋ ํจ์ ์์ฒด๊ฐ ์ทจ์ฝํ ํจ์ ereg() ํจ์์ฌ์
%00๋ก ๊ฐ๋จํ ํ ์๊ฐ ์๋ ๋ฌธ์ ์๋๋ฐ (null byte)
m.blog.naver.com/PostView.nhn?blogId=skinfosec2000&logNo=220941830705&proxyReferer=https:%2F%2Fwww.google.com%2F
์ด๋ฒ์ preg_matchํจ์๋ฅผ ์ฐ๊ณ ์์ด์ ์กฐ๊ธ ์ฐํํ๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค์.
์ด๋ป๊ฒ ํ์ง ํ๋ค๊ฐ ์ผ๋จ ์ด ์ฟผ๋ฆฌ๋ฌธ์์ pw๋ผ๋ ํญ๋ชฉ์ ๊ตณ์ด ํ์๊ฐ ์๋ ํญ๋ชฉ์ด๋ผ๊ณ ์๊ฐ์ ํ์ต๋๋ค.
id = 'or 1=1 ์ด๋ฉด ๋๋ ๋ฌธ์
์ฆ id = 'x' and pw = 'y' ์ด๋ ๊ฒ ๋์ด์๋ ๊ธฐ๋ณธ์ ์ธ ์ฟผ๋ฆฌ์์
id = 'x' and pw = 'y' ๋นจ๊ฐ ๋ถ๋ถ์ ์๋ค ์๊ฐํ๊ณ ๋ค์ ์ฐธ ๊ฐ์ ๋ฃ๋๋ค๋ฉด?
id = ' \'(๋ฌธ์ ์ฑ๊ธ์ฟผํฐ) and pw = 'or 1=1# ์ด ๊ตฌ๋ฌธ์์ ์ฟผ๋ฆฌ๋ ์์ ํ๋์์ด ์ฐธ์ด๋ ๊ฑฐ์ง์ด๋ ์ฌ๋ถ์ ์๊ด์์ด
' or 1=1 ์ฆ id๋ ์ฐธ์ด ๋๋ฏ๋ก ์ฟผ๋ฆฌ๊ฐ ์ฑ๋ฆฝ๋๋ค. #์ผ๋ก ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํด์คฌ์ผ๋ pw๋ค์ ์๋ ' (์ฑ๊ธ์ฟผํฐ) ๋ง์ ์ฌ๋ผ์ง๋
๊ฒ์ด๋ค.
์ด๋ ๊ฒ ๋๋ฉด id= ์ฐธ
๋ฌธ์ clear
*** ๋ฌธ์ ์์ \(๋ฐฑ์ฌ๋์ฌ)๋ฅผ ์จ์ฃผ๋ฉด ์ ํด์ง ์๋ฏธ ์์ด ๊ทธ๋ฅ ๋ฌธ์ ์์ฒด๋ก ํด์ํฉ๋๋ค. ์ฆ ์ฑ๊ธ์ฟผํฐ์ ์ญํ ์ ํ์ง ๋ชปํ๊ณ
๊ทธ๋ฅ ' ๋ผ๋ ํ๋์ ๋ฌธ์๋ก ์ธ์ํ๋ ๊ฑฐ์ฃ . ***