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 ์ง€์ •๋„ ์ž์œ ๋กœ์šธํ…๋ฐ ์กฐ๊ธˆ ์˜๋ฌธ์ด๊ธด ํ•˜๋„ค์š”.

https://segment.com/blog/hacking-with-a-heads-up-display/