OS ์ปค๋งจ๋ ์ธ์ ์
์ค์ต์ ์ด์ด์,
์ค๋์ ์ธ์ ์
๊ธฐ๋ฒ ์ค php ์ฝ๋ ์ธ์ ์
์ ์ค์ตํด๋ณผ๊ฒ์.
์ค์ตํ๋ ๋ชจ๋ ๊ณต๊ฒฉ์ ์ค์ ๋ก ์ฌ์ฉํ์๋ฉด ์๋ฉ๋๋ค.
ํ์ฉ๋ฐ์ง ์์ ์๋น์ค ๋์์ ํดํน์ ์๋ํ๋ ํ๋์ ๊ธ์งํ๋ฉฐ,
๋ชจ๋ ๋ฒ์ ์ฑ
์์ ์ฌ์ฉ์์๊ฒ ์๋ ๊ฒ์ ๋ช
์ฌํด์ฃผ์ธ์.
๋์ด๋ ํ
๋จผ์ PHP code Injection์ low๋ชจ๋๋ก ๋ค์ด๊ฐ์ฃผ์ธ์.
๋ค์ด๊ฐ๋ณด๋ฉด, ์์ ๊ฐ์ ์ฐฝ์ด ๋จ๋๋ฐ, message...์ ํด๋ฆญํ๋ฉด test๋ผ๋ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋ฉ๋๋ค.
GET๋ฉ์๋๋ก ์์ฒญํ๊ธฐ ๋๋ฌธ์ URL์ 'message'๋ผ๋ ๋ณ์๊ฐ ๋
ธ์ถ๋ฉ๋๋ค.
message๋ณ์์ ์
๋ ฅ๋ test ๋์ ๋ค๋ฅธ ๋ฌธ์์ด์ ์
๋ ฅํ๋ฉด phpi.php ํ์ด์ง์ ์
๋ ฅํ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋ฉ๋๋ค.
PHP์์ exec() ํจ์๋ eval() ํจ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ธ๋ฏธ์ฝ๋ก (;) ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ํจ์๋ฅผ ์คํํ๋ ์ทจ์ฝ์ ์ด ์๊ธฐ๋๋ฌธ์,
์ทจ์ฝ์ ์ด ์๋์ง ํ์
ํ๋ ค๋ฉด ์ธ๋ฏธ์ฝ๋ก ๊ณผ system ํจ์๋ฅผ ์ฌ์ฉํด์ค๋๋ค.
system ํจ์๋ ๋ฌธ์์ด ํํ์ ๋ช
๋ น์ด๋ฅผ ์ธ์ ๊ฐ์ผ๋ก ๋ฐ์์ ํด๋นํ๋ ๋ช
๋ น์ด๋ฅผ ์คํ์์ผ ์ฃผ๊ฒ ๋์ฃ .
์์ ๊ฐ์ด URL์ ์
๋ ฅํด์ฃผ๋ฉด 'whoami' ๋ช
๋ น์ด ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
์ฆ ๊ณต๊ฒฉ์ด ๋จนํ๋ค๋ ๋ป์ด์ฃ .
--> PHP ์ฝ๋ ์ธ์ ์
์ฑ๊ณต
๋๋ณด๊ธฐ
- ์์คํ
์ ๋ณด๋ฅผ ํ๋ํ ์ ์๋ ๋ค๋ฅธ ๋ช
๋ น์ด๋ค ์ฌ์ฉ ok
- cat ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ์ํ๋ ํ์ผ์ ๋ด์ฉ์ ํ์ธ ํ ์ ์๋ค.
- system ํจ์ ์ธ์๋ shell_execํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๊ณต๊ฒฉ์๋ ํ์ฌ ์น ๊ถํ(www)์ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ์์ ๊ถํ์ ์ฌ์ฉ์๋ง ์ ๊ทผํ ์ ์๋ ํ์ผ์ธ ๊ฒฝ์ฐ์๋ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ ํ์ง ์๋๋ค. (ex : passwdํ์ผ์ -> ์น๊ถํ์ผ๋ก ๊ฐ๋ฅ, shadowํ์ผ -> ๋ถ๊ฐ๋ฅ)
--> ์ด๋ํ๋ ค๋ฉด ์์คํ
์ ์นจํฌํ์ฌ ๊ถํ ์์น ๊ณต๊ฒฉ ์ฝ๋๋ฅผ ํ์ฉํด์ผ ํจ.
> ์ด๋ ๊ฒ ์์คํ
์ ๋ณด๋ฅผ ํ๋ํ ์ ์๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ฌ ์ ๋ณด๋ฅผ ์ถ๋ ฅ ํ ์ ์๋ค.
๋ท์บฃ์ ์ด์ฉํ์ฌ ์ฟ ํค์ ๋ณด ํ์ทจํ๊ธฐ.
๋ท์บฃ์ ์ฌ์ฉํ๋ฉด ์
์์ ์ธ ์คํฌ๋ฆฝํธ ํ์ผ์ ์๋ฒ์ ์ถ๊ฐํ ์๋ ์๋ค.
์ฐ์ ์นผ๋ฆฌ ๋ฆฌ๋
์ค์ ์ ์ํ๋ค. (root๊ถํ์ผ๋ก)
์์ : ์นผ๋ฆฌ์์ ํฌํธ๋ฒํธ ์ง์ (listen๋ชจ๋ ์ค์ ) -> bee-box์์ ํฌํธ๋ก ์ ์
๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ๋ฉด ์์์ url์ด ์ธ์ฝ๋ฉ ๋๋ค.
์์ ๊ฐ์ด ์
๋ ฅํด์ค ํ ๋ค์ ์นผ๋ฆฌ๋ก ๋์์ whoami ์ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ฃผ๋ฉด ์์คํ
์ ์นจํฌ ์ฑ๊ณต.
๋๋ณด๊ธฐ
์นผ๋ฆฌ ๋ฆฌ๋
์ค์ ์ ์ํ๊ธฐ ์ํ์ฌ system ํจ์๋ก ๋ท์บฃ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค.
๋ช
๋ น์ด๋ฅผ ์คํํ ๋๋ ๋คํธ์ํฌ๋ฅผ ์ฐ๊ฒฐํ ์นผ๋ฆฌ ๋ฆฌ๋
์ค์ ip์ฃผ์์ ํฌํธ ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ค.
- e ์ต์
์ exec์ ์ค์๋ง๋ก, ์ต์
์ ์
๋ ฅํ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋ค.
(bin/bash๋ฅผ ์
๋ ฅํ๋ฉด ์นผ๋ฆฌ๋ฆฌ๋
์ค์์ ๋ช
๋ น์ด ํด์๊ธฐ bash์
ธ์ ์ฌ์ฉํจ)
์นจํฌ์ ์ฑ๊ณตํ๋ฉด ์๋์ ๊ฐ์ด echo ๋ช
๋ น์ด๋ก ๊ฐ๋จํ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.
์ฝ๋๊ฐ ํฌํจ๋ ํ์ผ ์์ฑ ํ, ์์ฑ๋์๋์ง ls | grep attack.html ๋ก ๊ฒ์ํ์ฌ ์ฐพ์๋ณธ๋ค.
์์ฑ์ด ๋ ๊ฒ์ ํ์ธ ํ ์์ฑํ ํ์ผ๋ก ์ ์ ํ๋ค.
์ ์ํ๋ฉด ์ฌ์ฉ์์ ์ฟ ํค ๊ฐ์ด ๊ฒฝ๊ณ ์ฐฝ์ผ๋ก ์ถ๋ ฅ๋๋ค.
--> ๊ณต๊ฒฉ ์ฑ๊ณต
์ด๋ฅผ ์
์ฉํ๋ฉด ์ฟ ๊ธฐ ์ ๋ณด ๋ฟ ์๋๋ผ ์ฌ์ฉ์ ํผ์ฑ์ ์ํ ์กฐ์๋ ํ์ด์ง๋
์
์ฑ์ฝ๋๊ฐ ์คํ๋๋ ํ์ด์ง๋ ์์ฑํ ์ ์๋ค.
๋์๋ฐฉ์
์ฝ๋๋ฅผ ์ดํด๋ณด๋ฉด, '๋์ด๋ ํ' ์๋ ๋ค๋ฅด๊ฒ '๋์ด๋ ์ค', '๋์ด๋ ์' ์์๋ message๋ณ์์ ์ธ๋ฏธ์ฝ๋ก ์ ์ฌ์ฉํ์ฌ
๋ค๋ฅธ ๋ช
๋ น์ด๋ฅผ ํธ์ถํ๊ฑฐ๋ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์ฃผ์
ํ๋ ๊ณต๊ฒฉ์ด ์คํ ๋์ง ์๋๋ก ํ์๋ค.
์ฝ๋๋ก ๋ณด๋ฉด '๋์ด๋ ์ค' ๋ถํฐ๋ 'htmlspecialchars'ํจ์๋ฅผ ์ฌ์ฉํ์ฌ 'message'๋ณ์์ ์
๋ ฅ ๊ฐ์ ํํฐ๋ง ํ๋ค.
'htmlspecialchars'ํจ์๋ ๋ ๋ฒ์งธ ์ธ์์ 'ENT_QUOTES',๋ฅผ ์ถ๊ฐํ์ฌ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ
(xss)์ ์ฌ์ฉ๋๋
ํน์ ๋ฌธ์๋ค์ HTML ์ํฐํฐ ์ฝ๋๋ก ๋ณํํ๋ค.
(์ํฐํฐ ์ฝ๋๊ฐ ๋ฌด์์ธ์ง ๊ถ๊ธํ์๋ฉด : https://alonehistory.tistory.com/12) (https://nm817.tistory.com/6_)
>>์ฐธ๊ณ ํ์๋ฉด ์ข์ ๊ฒ ๊ฐ์์!
๋ฐ๋ผ์ ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์
๋ ฅํ์ฌ๋ ์น ๋ธ๋ผ์ฐ์ ๋ ๋ฌธ์๋ก ์ธ์ํ๊ฒ ๋๋ค.
์ฆ --> htmlspecialcharsํจ์์ ๋๋ฒ์งธ ์ธ์์ ENT_QUOTES ์ถ๊ฐํ์ฌ ๋์ํ๊ธฐ!
๋๋ณด๊ธฐ