OWASP ZAP์ New interface! ZAP HUD ๐ฅฝ
์์ ์ ZAP์ชฝ ํธ์๋ณด๊ณ ํธ์ํฐ๋ก ๊ณต์ ํด๋์๋๊ฒ ์์๋๋ฐ, ์ต๊ทผ @Dakkar Key์ ๋ฉ์ ์ผ๋ก ๊ธ ์๊ฐ๋์ ๊ธ๋ก ์ ๋ฆฌํด๋ก๋๋ค. ๊ทธ๋ ์ ๋ง ๋ง์ด ๋์ถฉ ๋ด์ ํํ๊ฒ ๋ญ์ง ๋ชฐ๋์๋๋ฐ, ์ฐพ์๋ณด๋ ์๊ฐ๋ณด๋ค ์ข์ ๋๊ตฌ์ธ ๊ฒ ๊ฐ๋ค์.
์ค๋ ์ด์ผ๊ธฐ๋๋ฆด ์ฃผ์ ๋ OWASP์์ ์งํ์ค์ธ ZAP HUD์ ๋ํ ์ด์ผ๊ธฐ์ ๋๋ค.
What is ZAP HUD(Heads Up Display)?
HUD๋ Heads Up Display, ์ฆ ์ ํฌ๊ธฐ์์ ๋ณผ ์ ์๋ ๋์คํ๋ ์ด(๊ณ๊ธฐํ, ๊ทธ ๋จธ๋ฆฌ์ ์ฐ๊ณ ๋์ ๋ณด์ด๋?)์ ์๋ฏธํฉ๋๋ค.
ZAP HUD ๋ํ ์ด๋ฅผ ์ปจ์ ์ผ๋ก ๋ง๋ค๊ณ ์๋ ๋๊ตฌ์ด๊ณ ๊ณต์ repo์์ ์ด๋ ๊ฒ ์ ์ํด๋จ์ต๋๋ค.
The HUD is new interface that provides the functionality of ZAP directly in the browser.
์ฆ ์น ๋ธ๋ผ์ฐ์ ์์ ZAP์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ํ ์๋ก์ด ํํ์ Interface์ธ๋ฐ, ์น ๋ธ๋ผ์ฐ์ ์ ZAP์ ๊ธฐ๋ฅ์ ์ปจํธ๋กค ํ ์ ์๋ UI ์ ์ธ ์์๋ค์ด ์๊ธฐ๊ณ ์ด๋ฅผ ์ด์ฉํด ZAProxy๋ก ๋์ด๊ฐ์ง ์๊ณ ๊ธฐ๋ฅ๋ค์ ์ํํ ์ ์๋๋ก ๋ง๋ ์ธํฐํ์ด์ค์ ๋๋ค.
(ํ์ฅ๊ธฐ๋ฅ๊ณผ ๋น์ทํ์ง๋ง, ํ์ฅ ๊ธฐ๋ฅ ์ด์์ผ๋ก ์๊ฐ๋๋ค์.. ์์ด๋์ด ์ข์๋ฏ)
์์ง ๊ณต์ ๋ฆด๋ฆฌ์ฆ๋๊ฑด ์๋๊ณ alpha ๋ฒ์ ์ผ๋ก ์คํ์์ค๋ก ์งํ๋ง ๋๊ณ ์์ด์ ์๋ฃ๋ ์ถ๊ฐ์ ์ธ ํ๋ก์ ํธ๊ฐ ๋ง์ง ์์ต๋๋ค. ํ๋ ์์ฌ์ด์ ์ด๋ผ๋ฉด alpha๋ผ์.. ZAP ์์ฒด๋ alpha(weekly) ๋ฒ์ ์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํ๋จ ์ ์ ๋๋ค. (๋ถ์ ์ธํ ๋์ด ์๋ ์ฌ๋์๊ฒ ๋งค์ฐ ๊ท์ฐฎ์..)
How to install & How to use?
์์์ ์ด์ผ๊ธฐ๋๋ ธ์ง๋ง ์์ง ๊ณต์ ๋ฒ์ ์ด ์๋๊ธฐ ๋๋ฌธ์ weekly(์ฌ์ค์ dev ๋ฒ์ )์์๋ง ์ ์ฉ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ weekly ๋ฒ์ ์ผ๋ก ์ค์นํด์ค๋๋ค. https://github.com/zaproxy/zaproxy/wiki/Downloads#zap-weekly
ZAP Extension ํํ๋ก ์ ๊ณต๋๋ฉฐ (์๋ง ์ถํ์๋ ์ด๋ ๊ฒ ๊ฐ๋ฏ) Dev ๋ฒ์ ์ ๊ธฐ๋ณธ์ผ๋ก ๊น๋ ค์์ด ํน๋ณํ ์๋๊ฒ ์์ต๋๋ค. ํน์๋ ์๋ค๋ฉด Market Place๋ก ๋ค์ด๊ฐ์ ZAP HUD๋ฅผ ์ฐพ์์ฃผ์ธ์!
๋ง์ฝ ์ง์ ๋น๋ํด์ ์ ์ฉํ๊ณ ์ถ์ผ์๋ค๋ฉด ๊ณต์ repo์์ ํด๋ก ํด์ฃผ์๊ณ ..
git clone https://github.com/zaproxy/zap-hud.git
cd zap-hud
gradle ๋ก ๋น๋ํด์ค์๋ค! (dependency๊ฐ ์๊ฐ๋ณด๋ค ๋ง๋ค๋..)
./gradlew runZap
Starting a Gradle Daemon (subsequent builds will be faster)
<-<-------------> 0% INITIALIZING [38s] .......
gradle script๋ก ๋น๋ ์ ์๋์ผ๋ก ZAP์ ๋ก๋๋๋ฉฐ (runZap์ผ๋ก ์ธ์๋ฅผ ์คฌ์ผ๋.. ๋ค๋ฅด ์ต์ ์ gradle ๊น๋ณด์ ์ค) Radar icon์ผ๋ก on/off๊ฐ ๊ฐ๋ฅํฉ๋๋ค. on ์ํ์์ ์ ์ฉ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ฒ ๋๋ฉด ํ์ด์ง ์ข/์ฐ๋ก ๊ธฐ๋ฅ ๋ฒํผ๋ค์ด ์๊ธฐ๋ฉฐ ์ด๋ฅผ ํตํด์ ๋ธ๋ผ์ฐ์ ์์ ZAP์ ์ง์ ์ ์ดํ ์ ์๊ฒ ๋ฉ๋๋ค.
๊ธฐ๋ฅ์ ๋ํ ์์ธํ ๋ถ๋ถ์ ๊ณต์ youtube ์์์ด๋ wiki ์ฐธ๊ณ ํ์๋ ๊ฒ ์ข์๋ฏ ์ถ์ด์.
์ฐ์ ZAP ๋ด์ฅ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ด๊ณ ZAP HUD๋ฅผ ํค๋ฉด ์๋์ ๊ฐ์ด ํํ ๋ฆฌ์ผ ํ๊ฒ ๋๊ณ ๋ฌผ์ด๋ด ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฐฉ๋ฒ์ ํํ ๋ฆฌ์ผ๋ง ๋ฐ๋ผํด๋ ๊ธ๋ฐฉ์ธ๋ฏ ํฉ๋๋ค.
์ธํฐํ์ด์ค๋ฅผ ์ ๋ฆฌํ๋ฉด ์ด๋ ์ต๋๋ค.
์ด๋ป๊ฒ ๊ตฌํํ์๊น?
์๋ ๋ธ๋ก๊ทธ ๊ธ์ ์ ์ค๋ช ๋์ด ์์ต๋๋ค .
์์ฝํ์๋ฉด ์ผ๋ฐ์ ์ธ ๋ธ๋ผ์ฐ์ ํ์ฅ ๊ธฐ๋ฅ๊ณผ ๊ฑฐ์ ๋์ผํฉ๋๋ค. js ํ์ผ์ ๋ธ๋ผ์ฐ์ ๋จ์์ inject ํ๊ณ (์ด๊ฒ ํ์ฅ๊ธฐ๋ฅ ๋์ ์๋ฆฌ์ฃ ) inject๋ js์ ZAP๊ฐ API ํต์ ์ผ๋ก ๊ธฐ๋ฅ์ ์ํํ๊ฒ ๋ฉ๋๋ค. ํ๋ ํน์ดํ์ ์? service worker๊ฐ ํต์ ํ ๋ postMessage๋ก ๊ตฌํ๋์๋ค๋ ๊ฑด๋ฐ์.
ZAP๊ณผ ์ง์ ํต์ ํ์ง ์๊ณ ํ๋๋ฅผ ๊ฑฐ์ณ์ postMessage๋ฅผ ์ด์ฉํ ์ด์ ๊ฐ ๊ถ๊ธํ๊ธด ํฉ๋๋ค. ZAP ์์ฒด๊ฐ ์น์ด ์๋ Java Appilcation์ด๋ผ SOP ์ํฅ๋ ์๋ฐ๊ณ CORS ์ง์ ๋ ์์ ๋ก์ธํ ๋ฐ ์กฐ๊ธ ์๋ฌธ์ด๊ธด ํ๋ค์.