OWASP ZAPãããã³ããšã³ãã®ã»ãã¥ãªãã£ãã¹ãã«æŽ»çšããããã®å æ¬çã¬ã€ããã°ããŒãã«ãªéçºè ãäžè¬çãªãŠã§ãã®è匱æ§ãç¹å®ãã軜æžããã®ã«åœ¹ç«ã¡ãŸãã
ããã³ããšã³ãOWASP ZAPïŒãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã匷åãã
仿¥ã®çžäºæ¥ç¶ãããããžã¿ã«ç°å¢ã«ãããŠããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£ã¯æéèŠã§ããããžãã¹ãã°ããŒãã«ã«æ¡å€§ãããªã³ã©ã€ã³ãã©ãããã©ãŒã ã«å€§ããäŸåããããã«ãªãã«ã€ããŠããŠãŒã¶ãŒããŒã¿ãä¿è·ããã¢ããªã±ãŒã·ã§ã³ã®å®å šæ§ãç¶æããããšããããŸã§ä»¥äžã«éèŠã«ãªã£ãŠããŸããç¹ã«ããã³ããšã³ãã®ã»ãã¥ãªãã£ã¯ããŠãŒã¶ãŒãçŽæ¥å¯Ÿè©±ããæåã®é²åŸ¡ç·ãšããŠéèŠãªåœ¹å²ãæãããŸããOpen Web Application Security Project (OWASP) ã® Zed Attack Proxy (ZAP) ã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£è匱æ§ãèŠã€ããèœåã§åºãèªèãããŠããã匷åã§ç¡æã®ãªãŒãã³ãœãŒã¹ããŒã«ã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ãããã³ããšã³ãéçºè ãOWASP ZAPã广çã«æŽ»çšããŠã¢ããªã±ãŒã·ã§ã³ã®ã»ãã¥ãªãã£äœå¶ã匷åããæ¹æ³ã詳ãã解説ããŸãã
ããã³ããšã³ãã®ã»ãã¥ãªãã£è匱æ§ãçè§£ãã
ZAPã䜿ãå§ããåã«ãããã³ããšã³ãã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãæ©ãŸããäžè¬çãªã»ãã¥ãªãã£äžã®è åšãçè§£ããããšãäžå¯æ¬ ã§ãããããã®è匱æ§ã¯ãæªæã®ããæ»æè ã«ãã£ãŠãŠãŒã¶ãŒããŒã¿ã®æŒæŽ©ããŠã§ããµã€ãã®æ¹ããããŸãã¯äžæ£ã¢ã¯ã»ã¹ã®ããã«æªçšãããå¯èœæ§ããããŸããæãäžè¬çãªããã³ããšã³ãã®è匱æ§ã«ã¯ã次ã®ãããªãã®ããããŸãïŒ
ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒ
XSSæ»æã¯ãæ»æè ãä»ã®ãŠãŒã¶ãŒãé²èЧãããŠã§ãããŒãžã«æªæã®ããã¹ã¯ãªãããæ³šå ¥ããããšã§çºçããŸããããã«ãããã»ãã·ã§ã³ãã€ãžã£ãã¯ãèªèšŒæ å ±ã®çªåãããã«ã¯ãŠãŒã¶ãŒãæªæã®ãããŠã§ããµã€ãã«ãªãã€ã¬ã¯ããããããšãå¯èœã«ãªããŸããããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã¯ãŠãŒã¶ãŒã®ãã©ãŠã¶å ã§ã³ãŒããå®è¡ãããããç¹ã«åœ±é¿ãåããããã§ãã
ã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªïŒCSRFïŒ
CSRFæ»æã¯ããŠãŒã¶ãŒãçŸåšèªèšŒãããŠãããŠã§ãã¢ããªã±ãŒã·ã§ã³äžã§ãæå³ããªãã¢ã¯ã·ã§ã³ãå®è¡ããããã«ä»åãããã®ã§ããäŸãã°ãæ»æè ã¯ãªã³ã¯ãäœæããèªèšŒæžã¿ã®ãŠãŒã¶ãŒããããã¯ãªãã¯ãããšããŠãŒã¶ãŒã®åæãªãã«ãã¹ã¯ãŒãã®å€æŽãååã®è³Œå ¥ãšãã£ãã¢ã¯ã·ã§ã³ãå®è¡ãããªã¯ãšã¹ãããã©ãŠã¶ã«åŒ·å¶çã«éä¿¡ãããããšããããŸãã
å®å šã§ãªããã€ã¬ã¯ããªããžã§ã¯ãåç §ïŒIDORïŒ
IDORè匱æ§ã¯ãã¢ããªã±ãŒã·ã§ã³ããã¡ã€ã«ãããŒã¿ããŒã¹ã¬ã³ãŒããªã©ã®å éšå®è£ ãªããžã§ã¯ããžã®çŽæ¥ã¢ã¯ã»ã¹ãããã®åç §ãæž¡ãããšã«ãã£ãŠæäŸããå Žåã«çºçããŸããããã«ãããæ»æè ã¯æš©éã®ãªãããŒã¿ã«ã¢ã¯ã»ã¹ãããã倿Žãããããããšãå¯èœã«ãªããŸãã
æ©å¯ããŒã¿ã®æŒæŽ©
ããã¯ãã¯ã¬ãžããã«ãŒãæ å ±ãå人ãç¹å®ã§ããæ å ±ïŒPIIïŒãAPIããŒãªã©ã®æ©å¯æ å ±ã®å®å šã§ãªãåãæ±ããéä¿¡ãå å«ããŸããããã¯ãæå·åãããŠããªãéä¿¡ãã£ãã«ïŒäŸïŒHTTPSã§ã¯ãªãHTTPïŒãå®å šã§ãªãã¹ãã¬ãŒãžããŸãã¯ã¯ã©ã€ã¢ã³ããµã€ãã®ã³ãŒãå ã§æ©å¯ããŒã¿ãå ¬éããããšã«ãã£ãŠçºçããå¯èœæ§ããããŸãã
èªèšŒãšã»ãã·ã§ã³ç®¡çã®äžå
ãŠãŒã¶ãŒã®èªèšŒæ¹æ³ãã»ãã·ã§ã³ã®ç®¡çæ¹æ³ã«åŒ±ç¹ããããšãäžæ£ã¢ã¯ã»ã¹ã«ã€ãªããå¯èœæ§ããããŸããããã«ã¯ãäºæž¬å¯èœãªã»ãã·ã§ã³IDãäžé©åãªãã°ã¢ãŠãåŠçããŸãã¯äžååãªèªèšŒæ å ±ã®ä¿è·ãªã©ãå«ãŸããŸãã
OWASP ZAPã®ç޹ä»ïŒããªãã®ããã³ããšã³ãã»ãã¥ãªãã£ã®å³æ¹
OWASP ZAPã¯ã䜿ããããããã€å æ¬çãªã»ãã¥ãªãã£ã¹ãã£ããšããŠèšèšãããŠããŸãããã©ãŠã¶ãšãŠã§ãã¢ããªã±ãŒã·ã§ã³éã®ãã©ãã£ãã¯ãååãããäžéè ããããã·ãšããŠæ©èœãããªã¯ãšã¹ããšã¬ã¹ãã³ã¹ãæ€æ»ã»æäœããããšãã§ããŸããZAPã¯ãæåããã³èªåã®äž¡æ¹ã®ã»ãã¥ãªãã£ãã¹ãã«åãããå¹ åºãæ©èœãæäŸããŸãã
OWASP ZAPã®äž»ãªæ©èœ
- èªåã¹ãã£ãïŒ ZAPã¯ãŠã§ãã¢ããªã±ãŒã·ã§ã³ãèªåçã«ã¯ããŒã«ããæ»æããŠãäžè¬çãªè匱æ§ãç¹å®ã§ããŸãã
- ãããã·æ©èœïŒ ãã©ãŠã¶ãšãŠã§ããµãŒããŒéãæµãããã¹ãŠã®ãã©ãã£ãã¯ãååããŠè¡šç€ºããæåã§ã®æ€æ»ãå¯èœã«ããŸãã
- ãã¡ã¶ãŒïŒ æœåšçãªè匱æ§ãç¹å®ããããã«ã倿°ã®å€æŽããããªã¯ãšã¹ããã¢ããªã±ãŒã·ã§ã³ã«éä¿¡ã§ããŸãã
- ã¹ãã€ããŒïŒ ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã§å©çšå¯èœãªãªãœãŒã¹ãçºèŠããŸãã
- ã¢ã¯ãã£ãã¹ãã£ãïŒ äœæããããªã¯ãšã¹ããéä¿¡ããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®åºç¯å²ãªè匱æ§ã調æ»ããŸãã
- æ¡åŒµæ§ïŒ ZAPã¯æ©èœãæ¡åŒµããã¢ããªã³ããµããŒãããŠãããä»ã®ããŒã«ãã«ã¹ã¿ã ã¹ã¯ãªãããšã®çµ±åãå¯èœã§ãã
- APIãµããŒãïŒ ããã°ã©ã ã«ããå¶åŸ¡ãšCI/CDãã€ãã©ã€ã³ãžã®çµ±åãå¯èœã«ããŸãã
OWASP ZAPã«ããããã³ããšã³ããã¹ãã®éå§
ããã³ããšã³ãã®ã»ãã¥ãªãã£ãã¹ãã«ZAPã䜿ãå§ããã«ã¯ã次ã®äžè¬çãªæé ã«åŸã£ãŠãã ããïŒ
1. ã€ã³ã¹ããŒã«
å ¬åŒã®OWASP ZAPãŠã§ããµã€ããããã䜿ãã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«é©ããã€ã³ã¹ããŒã©ãŒãããŠã³ããŒãããŸããã€ã³ã¹ããŒã«ããã»ã¹ã¯ç°¡åã§ãã
2. ãã©ãŠã¶ã®èšå®
ZAPããã©ãŠã¶ã®ãã©ãã£ãã¯ãååããããã«ã¯ãZAPããããã·ãšããŠäœ¿çšããããã«ãã©ãŠã¶ãèšå®ããå¿
èŠããããŸããããã©ã«ãã§ã¯ãZAPã¯localhost:8080
ã§ãªãã¹ã³ããŸãããã©ãŠã¶ã®ãããã¯ãŒã¯èšå®ãé©å®èª¿æŽããå¿
èŠããããŸããã»ãšãã©ã®çŸä»£çãªãã©ãŠã¶ã§ã¯ãããã¯ãããã¯ãŒã¯èšå®ãŸãã¯è©³çްèšå®ã«ãããŸãã
ã°ããŒãã«ãããã·èšå®ã®äŸïŒæŠå¿µïŒïŒ
- ãããã·ã¿ã€ãïŒ HTTP
- ãããã·ãµãŒããŒïŒ 127.0.0.1 (ãŸã㯠localhost)
- ããŒãïŒ 8080
- ãããã·ã䜿çšããªãïŒ localhost, 127.0.0.1 (éåžžã¯äºåèšå®æžã¿)
3. ZAPã§ã¢ããªã±ãŒã·ã§ã³ãæ¢çŽ¢ãã
ãã©ãŠã¶ã®èšå®ãå®äºãããããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ç§»åããŸããZAPã¯ãã¹ãŠã®ãªã¯ãšã¹ããšã¬ã¹ãã³ã¹ã®ãã£ããã£ãéå§ããŸãããããã®ãªã¯ãšã¹ãã¯ãå±¥æŽãã¿ãã§ç¢ºèªã§ããŸãã
åææ¢çŽ¢ã¹ãããïŒ
- ã¢ã¯ãã£ãã¹ãã£ã³ïŒ ããµã€ããããªãŒå ã®ã¢ããªã±ãŒã·ã§ã³ã®URLãå³ã¯ãªãã¯ãããæ»æã>ãã¢ã¯ãã£ãã¹ãã£ã³ããéžæããŸããZAPã¯äœç³»çã«ã¢ããªã±ãŒã·ã§ã³ã®è匱æ§ã調æ»ããŸãã
- ã¹ãã€ããŒïŒ ãã¹ãã€ããŒãæ©èœã䜿çšããŠãã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ããŒãžãšãªãœãŒã¹ãçºèŠããŸãã
- æåæ¢çŽ¢ïŒ ZAPãå®è¡ããªãããæåã§ã¢ããªã±ãŒã·ã§ã³ãé²èЧããŸããããã«ãããããŸããŸãªæ©èœãšå¯Ÿè©±ãããã©ãã£ãã¯ããªã¢ã«ã¿ã€ã ã§èгå¯ã§ããŸãã
ç¹å®ã®ããã³ããšã³ãè匱æ§ã«å¯ŸããZAPã®æŽ»çš
ZAPã®åŒ·ã¿ã¯ãåºç¯ãªè匱æ§ãæ€åºããèœåã«ãããŸããäžè¬çãªããã³ããšã³ãã®åé¡ã察象ãšããæ¹æ³ã¯æ¬¡ã®ãšããã§ãïŒ
XSSè匱æ§ã®æ€åº
ZAPã®ã¢ã¯ãã£ãã¹ãã£ãã¯ãXSSã®æ¬ é¥ãç¹å®ããã®ã«éåžžã«å¹æçã§ããããŸããŸãªXSSãã€ããŒããå ¥åãã£ãŒã«ããURLãã©ã¡ãŒã¿ãããããŒã«æ³šå ¥ããã¢ããªã±ãŒã·ã§ã³ããããããµãã¿ã€ãºããã«åæ ãããã©ããã確èªããŸããXSSã«é¢é£ããéç¥ã«ã€ããŠã¯ããã¢ã©ãŒããã¿ãã«çްå¿ã®æ³šæãæã£ãŠãã ããã
ZAPã«ããXSSãã¹ãã®ãã³ãïŒ
- å ¥åãã£ãŒã«ãïŒ ãã¹ãŠã®ãã©ãŒã ãæ€çŽ¢ããŒãã³ã¡ã³ãã»ã¯ã·ã§ã³ããã®ä»ãŠãŒã¶ãŒãããŒã¿ãå ¥åã§ãããã¹ãŠã®é åããã¹ãããŠãã ããã
- URLãã©ã¡ãŒã¿ïŒ 衚瀺ãããå ¥åãã£ãŒã«ãããªããŠããURLãã©ã¡ãŒã¿ã§åæ ãããå ¥åããã¹ãããŸãã
- ããããŒïŒ ZAPã¯HTTPããããŒã®è匱æ§ããã¹ãã§ããŸãã
- ãã¡ã¶ãŒïŒ å æ¬çãªXSSãã€ããŒããªã¹ãã䜿çšããŠZAPã®ãã¡ã¶ãŒã䜿ããå ¥åãã©ã¡ãŒã¿ãç©æ¥µçã«ãã¹ãããŸãã
CSRFã®åŒ±ç¹ãç¹å®ãã
ZAPã®èªåã¹ãã£ãã¯CSRFããŒã¯ã³ã®æ¬ èœãç¹å®ã§ããããšããããŸãããæåã§ã®æ€èšŒããã°ãã°å¿ èŠã§ããç¶æ ã倿Žããã¢ã¯ã·ã§ã³ïŒããŒã¿ã®éä¿¡ã倿Žãªã©ïŒãå®è¡ãããã©ãŒã ãæ¢ãããããã«ã¢ã³ãCSRFããŒã¯ã³ãå«ãŸããŠãããã確èªããŸããZAPã®ããªã¯ãšã¹ããšãã£ã¿ãã䜿çšããŠããããã®ããŒã¯ã³ãåé€ãŸãã¯å€æŽããã¢ããªã±ãŒã·ã§ã³ã®èæ§ããã¹ãã§ããŸãã
æåCSRFãã¹ãã®ã¢ãããŒãïŒ
- æ©å¯æ§ã®é«ãã¢ã¯ã·ã§ã³ãå®è¡ãããªã¯ãšã¹ããååããŸãã
- ãªã¯ãšã¹ãã«ã¢ã³ãCSRFããŒã¯ã³ïŒå€ãã®å Žåãé ããã©ãŒã ãã£ãŒã«ããããããŒã«å«ãŸããïŒãããã調ã¹ãŸãã
- ããŒã¯ã³ãååšããå ŽåãããŒã¯ã³ãåé€ãŸãã¯å€æŽããŠãªã¯ãšã¹ããåéä¿¡ããŸãã
- æå¹ãªããŒã¯ã³ãªãã§ã¢ã¯ã·ã§ã³ãæ£åžžã«å®äºãããã©ããã芳å¯ããŸãã
æ©å¯ããŒã¿æŒæŽ©ã®çºèŠ
ZAPã¯ãæ©å¯ããŒã¿ãæŒæŽ©ããå¯èœæ§ã®ããã€ã³ã¹ã¿ã³ã¹ãç¹å®ããã®ã«åœ¹ç«ã¡ãŸããããã«ã¯ãæ©å¯æ å ±ãHTTPSã§ã¯ãªãHTTPã§éä¿¡ãããŠãããããŸãã¯ã¯ã©ã€ã¢ã³ããµã€ãã®JavaScriptã³ãŒãããšã©ãŒã¡ãã»ãŒãžã«ååšãããã©ããã®ãã§ãã¯ãå«ãŸããŸãã
ZAPã§ç¢ºèªãã¹ãããšïŒ
- HTTPãã©ãã£ãã¯ïŒ ãã¹ãŠã®éä¿¡ãç£èŠããŸããHTTPçµç±ã§ã®æ©å¯ããŒã¿ã®éä¿¡ã¯é倧ãªè匱æ§ã§ãã
- JavaScriptåæïŒ ZAPã¯JavaScriptã³ãŒããéçã«åæããŸããããã¢ããªã±ãŒã·ã§ã³ã«ãã£ãŠããŒããããJavaScriptãã¡ã€ã«ãæåã§æ€æ»ããããŒãã³ãŒããããèªèšŒæ å ±ãæ©å¯æ å ±ãæ¢ãããšãã§ããŸãã
- ã¬ã¹ãã³ã¹å å®¹ïŒ æå³ããæŒæŽ©ããæ©å¯ããŒã¿ããªãããã¬ã¹ãã³ã¹ã®å 容ã確èªããŸãã
èªèšŒãšã»ãã·ã§ã³ç®¡çã®ãã¹ã
ZAPã䜿çšããŠãèªèšŒããã³ã»ãã·ã§ã³ç®¡çã¡ã«ããºã ã®å ç¢æ§ããã¹ãã§ããŸããããã«ã¯ãã»ãã·ã§ã³IDã®æšæž¬ããã°ã¢ãŠãæ©èœã®ãã¹ãããã°ã€ã³ãã©ãŒã ã«å¯Ÿãããã«ãŒããã©ãŒã¹è匱æ§ã®ãã§ãã¯ãå«ãŸããŸãã
ã»ãã·ã§ã³ç®¡çã®ãã§ãã¯ïŒ
- ã»ãã·ã§ã³ã®æå¹æéïŒ ãã°ã¢ãŠãåŸãæ»ããã¿ã³ã䜿çšãããã以åã«äœ¿çšããã»ãã·ã§ã³ããŒã¯ã³ãåéä¿¡ãããããŠãã»ãã·ã§ã³ãç¡å¹ã«ãªã£ãŠããããšã確èªããŸãã
- ã»ãã·ã§ã³IDã®äºæž¬å¯èœæ§ïŒ èªåãã¹ãã¯é£ããã§ãããã»ãã·ã§ã³IDã芳å¯ããŸããããããé£ç¶çãŸãã¯äºæž¬å¯èœã«èŠããå Žåãããã¯åŒ±ç¹ã瀺ããŠããŸãã
- ãã«ãŒããã©ãŒã¹ä¿è·ïŒ ZAPã®ã匷å¶ãã©ãŠãºããŸãã¯ãã«ãŒããã©ãŒã¹æ©èœããã°ã€ã³ãšã³ããã€ã³ãã«å¯ŸããŠäœ¿çšããã¬ãŒãå¶éãã¢ã«ãŠã³ãããã¯ã¢ãŠãã¡ã«ããºã ããããã©ããã確èªããŸãã
ZAPãéçºã¯ãŒã¯ãããŒã«çµ±åãã
ç¶ç¶çãªã»ãã¥ãªãã£ã®ããã«ãZAPãéçºã©ã€ããµã€ã¯ã«ã«çµ±åããããšãäžå¯æ¬ ã§ããããã«ãããã»ãã¥ãªãã£ãåŸä»ãã§ã¯ãªããéçºããã»ã¹ã®ã³ã¢ã³ã³ããŒãã³ãã§ããããšãä¿èšŒãããŸãã
ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³/ç¶ç¶çãããã€ã¡ã³ãïŒCI/CDïŒãã€ãã©ã€ã³
ZAPã¯ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ïŒCLIïŒãšAPIãæäŸããŠãããCI/CDãã€ãã©ã€ã³ãžã®çµ±åãå¯èœã§ããããã«ãããã³ãŒããã³ããããŸãã¯ãããã€ããããã³ã«èªåã»ãã¥ãªãã£ã¹ãã£ã³ãå®è¡ãããè匱æ§ãæ©æã«çºèŠã§ããŸãã
CI/CDçµ±åã®æé ïŒ
- èªåZAPã¹ãã£ã³ïŒ CI/CDããŒã«ïŒäŸïŒJenkins, GitLab CI, GitHub ActionsïŒãèšå®ããŠãZAPãããŒã¢ã³ã¢ãŒãã§å®è¡ããŸãã
- APIãŸãã¯ã¬ããŒãçæïŒ ZAPã®APIã䜿çšããŠã¹ãã£ã³ãããªã¬ãŒããããã¬ããŒããèªåçã«çæãããããŸãã
- é倧ãªã¢ã©ãŒãã§ãã«ãã倱æãããïŒ ZAPãé倧床ã®é«ãè匱æ§ãæ€åºããå Žåã«ãã€ãã©ã€ã³ã倱æããããã«èšå®ããŸãã
ã»ãã¥ãªãã£ã»ã¢ãºã»ã³ãŒã
ã»ãã¥ãªãã£ãã¹ãã®èšå®ãã³ãŒãã®ããã«æ±ããŸããZAPã®ã¹ãã£ã³èšå®ãã«ã¹ã¿ã ã¹ã¯ãªãããã«ãŒã«ãã¢ããªã±ãŒã·ã§ã³ã³ãŒããšäžç·ã«ããŒãžã§ã³ç®¡çã·ã¹ãã ã«ä¿åããŸããããã«ãããäžè²«æ§ãšåçŸæ§ãä¿é²ãããŸãã
ã°ããŒãã«éçºè ã®ããã®é«åºŠãªZAPæ©èœ
ZAPã«æ £ããŠããããç¹ã«ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ã°ããŒãã«ãªæ§è³ªãèæ ®ããŠããã¹ãèœåãåäžãããããã®é«åºŠãªæ©èœãæ¢æ±ããŠãã ããã
ã³ã³ããã¹ããšã¹ã³ãŒã
ZAPã®ãã³ã³ããã¹ããæ©èœã䜿çšãããšãURLãã°ã«ãŒãåããã¢ããªã±ãŒã·ã§ã³ã®ããŸããŸãªéšåã«å¯ŸããŠç¹å®ã®èªèšŒã¡ã«ããºã ãã»ãã·ã§ã³ãã©ããã³ã°æ¹æ³ãããã³å å«/é€å€ã«ãŒã«ãå®çŸ©ã§ããŸããããã¯ããã«ãããã³ãã¢ãŒããã¯ãã£ãç°ãªããŠãŒã¶ãŒããŒã«ãæã€ã¢ããªã±ãŒã·ã§ã³ã«ç¹ã«äŸ¿å©ã§ãã
ã³ã³ããã¹ãã®èšå®ïŒ
- ã¢ããªã±ãŒã·ã§ã³ã®æ°ããã³ã³ããã¹ããäœæããŸãã
- ã³ã³ããã¹ãã®ã¹ã³ãŒãïŒå«ãããŸãã¯é€å€ããURLïŒãå®çŸ©ããŸãã
- ã¢ããªã±ãŒã·ã§ã³ã®ã°ããŒãã«ã¢ã¯ã»ã¹ãã€ã³ãã«é¢é£ããèªèšŒæ¹æ³ïŒäŸïŒãã©ãŒã ããŒã¹ãHTTP/NTLMãAPIããŒïŒãèšå®ããŸãã
- ZAPãèªèšŒæžã¿ã»ãã·ã§ã³ãæ£ãã远跡ã§ããããã«ã»ãã·ã§ã³ç®¡çã«ãŒã«ãèšå®ããŸãã
ã¹ã¯ãªãããµããŒã
ZAPã¯ãã«ã¹ã¿ã ã«ãŒã«ã®éçºããªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ã®æäœãè€éãªãã¹ãã·ããªãªã®èªååã®ããã«ãããŸããŸãªèšèªïŒäŸïŒJavaScript, Python, RubyïŒã§ã®ã¹ã¯ãªããããµããŒãããŠããŸããããã¯ãç¬èªã®è匱æ§ã«å¯ŸåŠããããç¹å®ã®ããžãã¹ããžãã¯ããã¹ããããããã®ã«éåžžã«è²Žéã§ãã
ã¹ã¯ãªããã®ãŠãŒã¹ã±ãŒã¹ïŒ
- ã«ã¹ã¿ã èªèšŒã¹ã¯ãªããïŒ ç¬èªã®ãã°ã€ã³ãããŒãæã€ã¢ããªã±ãŒã·ã§ã³çšã
- ãªã¯ãšã¹ã倿Žã¹ã¯ãªããïŒ ç¹å®ã®ããããŒãæ³šå ¥ããããéæšæºçãªæ¹æ³ã§ãã€ããŒãã倿Žãããããããã
- ã¬ã¹ãã³ã¹åæã¹ã¯ãªããïŒ è€éãªã¬ã¹ãã³ã¹æ§é ãè§£æããããã«ã¹ã¿ã ãšã©ãŒã³ãŒããç¹å®ãããããããã
èªèšŒãã³ããªã³ã°
èªèšŒãå¿ èŠãªã¢ããªã±ãŒã·ã§ã³ã®ããã«ãZAPã¯ãããåŠçããããã®å ç¢ãªã¡ã«ããºã ãæäŸããŸãããã©ãŒã ããŒã¹èªèšŒãããŒã¯ã³ããŒã¹èªèšŒãããã«ã¯å€æ®µéèªèšŒããã»ã¹ã§ãã£ãŠããZAPã¯ã¹ãã£ã³ãå®è¡ããåã«æ£ããèªèšŒããããã«èšå®ã§ããŸãã
ZAPã®äž»èŠãªèªèšŒèšå®ïŒ
- èªèšŒæ¹æ³ïŒ ã¢ããªã±ãŒã·ã§ã³ã«é©ããæ¹æ³ãéžæããŸãã
- ãã°ã€ã³URLïŒ ãã°ã€ã³ãã©ãŒã ãéä¿¡ãããURLãæå®ããŸãã
- ãŠãŒã¶ãŒå/ãã¹ã¯ãŒããã©ã¡ãŒã¿ïŒ ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããã£ãŒã«ãã®ååãç¹å®ããŸãã
- æå/倱æã€ã³ãžã±ãŒã¿ïŒ ZAPããã°ã€ã³æåãã©ã®ããã«èå¥ãããïŒäŸïŒç¹å®ã®ã¬ã¹ãã³ã¹ããã£ãã¯ãããŒããã§ãã¯ãããªã©ïŒãå®çŸ©ããŸãã
ZAPã«ãã广çãªããã³ããšã³ãã»ãã¥ãªãã£ãã¹ãã®ããã®ãã¹ããã©ã¯ãã£ã¹
OWASP ZAPã«ããã»ãã¥ãªãã£ãã¹ãã®å¹æãæå€§åããããã«ããããã®ãã¹ããã©ã¯ãã£ã¹ã«åŸã£ãŠãã ããïŒ
- ã¢ããªã±ãŒã·ã§ã³ãçè§£ããïŒ ãã¹ããå§ããåã«ãã¢ããªã±ãŒã·ã§ã³ã®ã¢ãŒããã¯ãã£ãæ©èœãæ©å¯ããŒã¿ã®ãããŒãæç¢ºã«çè§£ããŠãã ããã
- ã¹ããŒãžã³ã°ç°å¢ã§ãã¹ãããïŒ åžžã«ãæ¬çªç°å¢ã®ããŒã¿ã圱é¿ãããã«ãæ¬çªèšå®ãæš¡å£ããå°çšã®ã¹ããŒãžã³ã°ãŸãã¯ãã¹ãç°å¢ã§ã»ãã¥ãªãã£ãã¹ãã宿œããŠãã ããã
- èªåãã¹ããšæåãã¹ããçµã¿åãããïŒ ZAPã®èªåã¹ãã£ã³ã¯åŒ·åã§ãããæåãã¹ããšæ¢çŽ¢ã¯ãèªåããŒã«ãèŠéãå¯èœæ§ã®ããè€éãªè匱æ§ãçºèŠããããã«äžå¯æ¬ ã§ãã
- ZAPã宿çã«æŽæ°ããïŒ ææ°ã®è匱æ§å®çŸ©ãšæ©èœã®æ©æµãåããããã«ãZAPãšãã®ã¢ããªã³ã®ææ°ããŒãžã§ã³ã䜿çšããŠããããšã確èªããŠãã ããã
- 誀æ€ç¥ã«æ³šæããïŒ ZAPã®èª¿æ»çµæãæ³šææ·±ãã¬ãã¥ãŒããŠãã ãããäžéšã®ã¢ã©ãŒãã¯èª€æ€ç¥ã§ããå¯èœæ§ããããäžå¿ èŠãªä¿®æ£äœæ¥ãé¿ããããã«æåã§ã®æ€èšŒãå¿ èŠã§ãã
- APIãä¿è·ããïŒ ããã³ããšã³ããAPIã«å€§ããäŸåããŠããå Žåã¯ãZAPãŸãã¯ä»ã®APIã»ãã¥ãªãã£ããŒã«ã䜿çšããŠããã¯ãšã³ãAPIã®ã»ãã¥ãªãã£ããã¹ãããŠããããšã確èªããŠãã ããã
- ããŒã ãæè²ããïŒ äžè¬çãªè匱æ§ãšå®å šãªã³ãŒãã£ã³ã°ãã©ã¯ãã£ã¹ã«é¢ãããã¬ãŒãã³ã°ãæäŸããããšã«ãããéçºããŒã å ã§ã»ãã¥ãªãã£ãæèããæåãéžæããŠãã ããã
- 調æ»çµæãææžåããïŒ çºèŠããããã¹ãŠã®è匱æ§ããã®é倧床ãããã³åãããä¿®æ£æé ã®è©³çްãªèšé²ãä¿æããŠãã ããã
é¿ããã¹ãäžè¬çãªèœãšã穎
ZAPã¯åŒ·åãªããŒã«ã§ããããŠãŒã¶ãŒã¯äžè¬çãªèœãšã穎ã«ééããå¯èœæ§ããããŸãïŒ
- èªåã¹ãã£ã³ãžã®é床ã®äŸåïŒ èªåã¹ãã£ãã¯äžèœè¬ã§ã¯ãããŸããããããã¯æåã®ã»ãã¥ãªãã£å°éç¥èãšãã¹ããè£å®ãããã®ã§ããã眮ãæãããã®ã§ã¯ãããŸããã
- èªèšŒãç¡èŠããïŒ ZAPãã¢ããªã±ãŒã·ã§ã³ã®èªèšŒãé©åã«åŠçããããã«èšå®ããªããšãäžå®å šãªã¹ãã£ã³ã«ãªããŸãã
- æ¬çªç°å¢ã§ã®ãã¹ãïŒ ã©ã€ãã®æ¬çªã·ã¹ãã ã§æ»æçãªã»ãã¥ãªãã£ã¹ãã£ã³ãå®è¡ããªãã§ãã ããããµãŒãã¹ã®åæ¢ãããŒã¿ã®ç Žæã«ã€ãªããå¯èœæ§ããããŸãã
- ZAPãæŽæ°ããªãïŒ ã»ãã¥ãªãã£ã®è åšã¯æ¥éã«é²åããŸããå€ãããŒãžã§ã³ã®ZAPã¯æ°ããè匱æ§ãèŠéããŸãã
- ã¢ã©ãŒãã®èª€è§£ïŒ ZAPããã®ãã¹ãŠã®ã¢ã©ãŒããé倧ãªè匱æ§ã瀺ãããã§ã¯ãããŸãããã³ã³ããã¹ããšé倧床ãçè§£ããããšãéèŠã§ãã
çµè«
OWASP ZAPã¯ãå®å šãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«åãçµããã¹ãŠã®ããã³ããšã³ãéçºè ã«ãšã£ãŠäžå¯æ¬ ãªããŒã«ã§ããäžè¬çãªããã³ããšã³ãã®è匱æ§ãçè§£ããZAPã®èœåã广çã«æŽ»çšããããšã§ããªã¹ã¯ãç©æ¥µçã«ç¹å®ã»è»œæžãããŠãŒã¶ãŒãšçµç¹ãä¿è·ããããšãã§ããŸããZAPãéçºã¯ãŒã¯ãããŒã«çµ±åããç¶ç¶çãªã»ãã¥ãªãã£ãã©ã¯ãã£ã¹ãåãå ¥ããæ°ããªè åšã«ã€ããŠã®æ å ±ãåžžã«åŸãããšã¯ãã°ããŒãã«ãªããžã¿ã«åžå Žã«ãããŠãããå ç¢ã§å®å šãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ãžã®éãéããŸããã»ãã¥ãªãã£ã¯ç¶ç¶çãªæ ã§ãããOWASP ZAPã®ãããªããŒã«ã¯ãã®åªåã«ãããä¿¡é Œã§ãã仲éã§ããããšãå¿ããªãã§ãã ããã