ãã°ãã³ã¿ãŒmageã«èããã°ãã³ãã£ã³ã°ã®æ¹æ³ãšã»ãã¥ã¢ãªãµãŒãã¹äœãã«å¿ èŠãªããš
ãã°ãã³ã¿ãŒãšã¯ãWebãµãŒãã¹ããœãããŠã§ã¢ãªã©ã«å«ãŸããè匱æ§ããã·ã¹ãã æ¹åã®ããã«æ¢ãåºã人ã ã§ãããã°ãã³ãã®æ¹æ³ã¯éåžžã«å€å²ã«ããããŸãããå ·äœçãªææ³ã䜿çšããŒã«ããã³ãã®ãããŒãåè ã®ãã°ãã³ã¿ãŒã«èããŸãããmageã®åã§ç¥ãããéŠ¬å Žå°æ¬¡ãããèªãäžããå®è·µçãªããŠããŠã¯ããµãŒãã¹ãã»ãã¥ã¢ãªãã®ã«ããããšã³ãžãã¢ã®ã¿ãªããã«ãšã£ãŠãéèŠãªç¥èŠã«ãªãã§ãããã
- ãã°ãã³ãã£ã³ã°ãç¯çœªã«ããªãããã«å¿ ãç¥ã£ãŠããããããš
- éŠ¬å Žæµãã°ãã³ãææ³ã調æ»ããè§£æããå®èšŒãããããŠãæ®éã¯ãããªãããç¡æ°ã«è©Šã
- é²åŸ¡ã®ããã«ãèšèªããã¬ãŒã ã¯ãŒã¯ã®å®è£ ãåŠãŒããã³ãŒãèªè§£ãããéåæãèŠã€ãåºãæ¹æ³ãå®è·µããŠã¿ã
- XSSã®çŸåšãæè¡ã®é²åãšäžŠèµ°ããæ»æææ³ã®é²å
- ã»ãã¥ãªãã£ãçè§£ããããã«ãŸãã¯ãã©ã€ããŠã¿ã
ãªãããã®ãµãŒãã¹ã®è匱æ§ãæ¢ãåºãããµãŒãã¹éçšäž»ã«å ±åããããšãã«ãçºèŠã®å¯ŸäŸ¡ãšããŠå ±é ¬ãç²åŸãããã°ãã³ãã£ã³ã°ãšããã«ã«ãã£ãŒããããŸããã»ãã¥ãªãã£ãžã®æèã¯é«ãŸãç¶ããäžãè匱æ§çºèŠãâçµç¹ã®å€ã«ããç®âã§ãããã°ãã³ã¿ãŒãé Œãã«ããäºäŸãçãŸãã€ã€ãããŸãã
ã·ã¹ãã ããœãããŠã§ã¢ãæ±ããè匱æ§ãã»ãã¥ãªãã£æœçã«ç²Ÿéãããã°ãã³ã¿ãŒãã¡ã¯ãæ§ã
ãªææ®µã䜿ããæãããããªãè匱æ§ãèŠã€ãåºããŸãããªãã°ããã®ææ®µã¯ãµãŒãã¹éçšã«ããããšã³ãžãã¢ã«ãšã£ãŠæå¹ãªé²åŸ¡çãšããŠæŽ»çšã§ããã¯ãã§ããæ¬çš¿ã§ã¯ããã°ãã³ã¿ãŒãšããŠèšå€§ãªè匱æ§çºèŠå®çžŸãæã€éŠ¬å Žå°æ¬¡ïŒã°ã°ã»ããããïŒ
- éŠ¬å Žå°æ¬¡ãã
- å°éåŠæ ¡ã忥åŸãå°å·äŒç€Ÿã«å ¥ç€ŸãITéšéã§ç ç©¶éçºãæ åœãèªèº«ãäœã£ãWebãµã€ããæ»æãåããããšããã£ãããšãªããã»ãã¥ãªãã£ãè匱æ§ã«é¢å¿ãæã€ã2013幎ã«ã»ãã¥ãªãã£ç«¶æå€§äŒã«åå ããæ¬æ Œçã«ãã°ãã³ã¿ãŒãšããŠæŽ»åãéå§ããããã®åŸãæ ªåŒäŒç€Ÿç¥æžããžã¿ã«ã»ã©ãã«å ¥ç€Ÿãæ¥åãšããŠã»ãã¥ãªãã£ã«æºããããã«ãçŸåšã¯ã»ãã¥ãªãã£èšºæã»æ€æ»å°éäŒæ¥ã§ããã€ãšã©ãšã»ãã¥ãªãã£ã«åšç±ãããäžççãªCTFïŒCapture The FlagïŒç«¶æäŒãDEF CON CTFãã®åžžé£ããŒã ãbinjaãã«æå±ã掻åãç¶ããŠããã
ãã°ãã³ãã£ã³ã°ãç¯çœªã«ããªãããã«å¿ ãç¥ã£ãŠããããããš
ââãŸãããã°ãæ¢ããšããè¡çºã®åæããèãããŸãã奜ãåæã«ãã°æ¢ããããããšã¯ããšããšããŠç¯çœªãšåäžè¡çºã«ãæããããŸãããã°ãã³ãã«ããããç¯çœªããšã調æ»ãã®å¢çã¯ããã®ã§ããããã
éŠ¬å Žãå人ã§ãç¯çœªããšã調æ»ããç·åŒãããã®ã¯éåžžã«å°é£ã§ãããã®ããã奜ãåæã«Webãµã€ãã®è匱æ§ãæ¢ãã®ã¯é¿ããã¹ãã§ããä»ã¯ãã°ãã³ããæ¯æŽããWebãµã€ããããã®ã§ããããå©çšããã¹ãã§ããããäŸãã°ãHackerOneãšãããµã€ãã¯ãè匱æ§ãæ¢ããŠã»ããäŒæ¥ãšãã°ãã³ã¿ãŒã®ãããã³ã°ãµã€ããšããŠã®æ©èœãæã£ãŠããŸããå®éã«HackerOneå ãæ¢ã£ãŠã¿ãã°ãTwitterãªã©ã®å€§æäŒæ¥ãäŸé ŒãåºããŠããã®ã確èªã§ããã§ãããã
ãŸããHackerOneã§ã¯äŒæ¥ãšãã°ãã³ã¿ãŒã®è匱æ§å ±åã®ãããšããå ¬éãããŠããŸããããŸããŸãªå ±åãèªãã®ã¯éåžžã«å匷ã«ãªããŸãããã°ã®çš®é¡ãçºèŠæ¹æ³ãåãããŸããããã°å ±åã®æžãæ¹ãåèã«ãªããŸãããã°ãã³ãã«èå³ããã人ã¯ããŸããããã£ãå ±åãèªãã§ã¿ãããšãããããããŸãã
ââãã°ãã³ã / ãã°ããŠã³ãã£ã«ã¯HackerOneã®ãããªãµãŒãã¹ãæ¬ ãããªãããšã
éŠ¬å ŽãäŒæ¥ãšãã°ãã³ã¿ãŒã®éã«HackerOneã®ãããªãã°ããŠã³ãã£ã®ãã©ãããã©ãŒã ãååšããããšã§ãäŒæ¥ã®ããã°ãæ¢ããŠãã ããããšããææãæç¢ºã«ãªããŸããããã°æ¢ãã®ã«ãŒã«ãå ±é ¬éé¡ãæç€ºãããŠããŸããã«ãŒã«ãå®ãéããåé¡ã«ãªãããšã¯ãŸããªãã§ããããè¿å¹Žããã°ããŠã³ãã£ã«é¢ããWebãµã€ããå¢ããããšã§ãäŒæ¥åŽã®ç解床ãäžãã£ãŠããå°è±¡ããããŸããæ€èšŒç°å¢ãçšæããŠãããäŒæ¥ã以åããå¢ããŠããŠããŸãã®ã§ããã°ãã³ã¿ãŒãäŒæ¥ã®äž¡è ãå®å¿ããŠãã°ãã³ããã§ããããã«ãªã£ãŠããŠããŸãã
ãã°ããŠã³ãã£ã«ç©æ¥µçã«åãçµãã§ããã®ã¯ããµã€ããŠãºç€Ÿã§ãããµã€ããŠãºç€Ÿã¯å ã«æãããã°ããŠã³ãã£ã®ãã©ãããã©ãŒã ã䜿ãããç¬èªã«ãã°ãã³ã¿ãŒãšçŽæ¥ããåãããŠããŸããããããåãçµã¿ã¯ãã£ãšè©äŸ¡ãããŠãããšæããŸããã
ââäŒæ¥ãšã«ãŒã«ããã£ã¡ã決ããŠããã°å®å¿ããŠãã°ãã³ããã§ãããã§ããã
éŠ¬å Žãããã§ããäŒæ¥ãšãã°ãã³ã¿ãŒã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯æ éã«è¡ãã¹ãã§ããäŒæ¥åŽã¯ãã°ãã³ããåãå ¥ããçµæãçãããªã¹ã¯ãææ¡ããããŠããªãå ŽåããããŸãã調æ»ç®çã§æ¬çªç°å¢ãžã®ãããã³ã°ãäŸé Œãããã±ãŒã¹ãããã®ã§ãããæå³ããæ©å¯æ å ±ããŒã¿ãååŸããŠããŸãããã°ãã³ã¿ãŒã¯äžæ£ã¢ã¯ã»ã¹ã®çœªã«åããããªã¹ã¯ãæ³å®ãããŸãããã¡ãããäŒæ¥ã«ãšã£ãŠã¯æ å ±æŒãããªã¹ã¯ã§ãã
ãŸãããã°ãã³ã¿ãŒã¯èª¿æ»ç®çã§ã®ãããã³ã°è¡çºã«ããå¯äœçšããæå³ãšã¯ç°ãªãã·ã¹ãã ãžã®åœ±é¿ãçè§£ããŠããã¹ãã§ãããã調æ»ã®ããã«SQLã€ã³ãžã§ã¯ã·ã§ã³ã詊ãããšãããæ¬çªç°å¢ã®å šãŠãŒã¶ã®ãã¹ã¯ãŒããåæåãããããšããäŸãèããŸãã
ãã¹ã¯ãŒããªãã€ã³ãæ©èœã«å¯ŸããŠSQLã€ã³ãžã§ã¯ã·ã§ã³ã®è©Šè¡ãåå ã§ãããŒã¿ç Žå£ãèµ·ããŠããŸã£ãã®ã§ããèªèšŒåšãã®è匱æ§èª¿æ»ãããŒã¿ç Žå£ã«ç¹ãããšæ³å®ã§ããŠããªãã£ãããšã«èµ·å ããŸãã
SQLã€ã³ãžã§ã¯ã·ã§ã³ãšã¯ïŒ
å€éšããå ¥åãããå€ãSQLãšããŠçµã¿ç«ãŠãããã°ã©ã ã«å¯ŸããŠãæªæã®ããSQLæãå ¥åããŠããŒã¿ã®ç Žå£ãæ©å¯æ å ±ã®ååŸãè¡ãææ³ã以äžã®äŸã§ã¯äžæ®µã®ã³ãŒãã«ã--ããå ããããšã«ãã£ãŠãAND passwordããšããæ¡ä»¶ãã³ã¡ã³ãã¢ãŠãããŠç¡å¹åããŠãããããã«ãOR 1=1ããšããæ¡ä»¶ã®è¿œå ã«ãã£ãŠã©ããªæ¡ä»¶ãã€ããŠããŠãããã¹ãŠçã«ãªãããšããçµæã«ãªã£ãŠããŸãã
SELECT * FROM users WHERE name='åå' AND password='ãã¹ã¯ãŒã'
SELECT * FROM users WHERE name='' OR 1=1--' AND password='ãã¹ã¯ãŒã'
éŠ¬å ŽãããWebãµã€ããã©ã®ãããªãœãŒã¹ã³ãŒãã§åäœããŠããŠãè£åŽã§ã©ããªSQLãçµãŸããŠããã®ãã¯ãã°ãã³ã¿ãŒã¯èŠãããšãã§ããŸãããå®è£ ãåãããªããã®ã«å¯ŸããŠãæ»æã®ãªã¯ãšã¹ãã宿ã«éããããªããšã¯ããŠã¯ãªããŸããã
äŸç€ºã®ããã«ã©ããªå¯äœçšãèµ·ããããŒã¿ç Žå£ã«ã€ãªãããèŠéãããããŸããããããšãããã°èšŽèšã«ã€ãªããããšãããã®ã§ããã°ãã³ãã£ã³ã°ã®ææ³ã ããç¥ãã宿ã«è©Šããšå€§ããªãªã¹ã¯ãè² ã£ãŠããŸãå¯èœæ§ãããããšã¯ã匷ãèªèããã¹ãã§ãã
ââ調æ»è¡çºãšç¯çœªè¡çºã®å¢çããŸããªã¹ã¯ã«é¢ããŠã¯ã©ã®ããã«å匷ããã°ããã§ããããã
éŠ¬å Žãçµéšãç©ããããªãããšããã®ãæ£çŽãªãšããã§ããããŸãã¯ã¬ã€ãã©ã€ã³ãèªãããšãããããããŸããã¬ã€ãã©ã€ã³ã¯ããã€ããããã©ããæã圱é¿åãæã€ãã«ã¯è°è«ãããæ±ºããããŸãããã以äžã®IPAã®è³æã¯äžåºŠç®ãéããŠãããšããã§ãããã
æ å ±ã»ãã¥ãªãã£æ©æèŠæ ããŒãããŒã·ããã¬ã€ãã©ã€ã³ïŒPDFïŒ
äŸãã°ã¬ã€ãã©ã€ã³ã«ã¯ãäžæ£ã¢ã¯ã»ã¹çŠæ¢æ³ã«æµè§Šããªããšæšå¯ãããè¡çºã®äŸããšããŠä»¥äžã®ãããªæèšããããŸãã
ã¢ã¯ã»ã¹å¶åŸ¡ã«ããå¶éãå ããç®çã§ã¯ãªããéåžžã®èªç±ãªããŒãžé²èЧãç®çãšããŠãæ¥ä»ãããŒãžçªå·çã衚ããšæšå¯ããã URL äžã®æ°ååããå¥ã®æ°åã«å·®ãæ¿ããŠã¢ã¯ã»ã¹ããŠã¿ããšããã瀟äŒé念äžãæ¬æ¥ã¯å©çšã§ããŠã¯ãªããªãã¯ããšæšå®ãããçµæããå¶çºçã«èµ·ããŠããŸã£ãå ŽåãïŒãã ããç©æ¥µçã«å€æ°ã®æ°ååãå€ããŠè©Šãè¡çºçã¯ãå¶éãå ããç®çãšã¿ãªãããå¯èœæ§ããããŸããïŒ
ãæ å ±ã»ãã¥ãªãã£æ©æèŠæããŒãããŒã·ããã¬ã€ãã©ã€ã³2019幎çãããæç²ã
ã€ãŸããURLã®ãã¹ã /2019/04/01 ãã /2999/94/34 ãšãã颚ã«å€æŽããŠãã°ãåŒãèµ·ããããšããŠããäžæ£ã¢ã¯ã»ã¹çŠæ¢æ³ã«ã¯æµè§Šããªããšâæšå¯ãããâãšããã®ããã«ãã¬ã€ãã©ã€ã³ãèªãã°ãæå³ãã¬ç¯çœªè¡çºãé²ãããã®ãäžã€ã®ææšã«ã¯ãªããŸããããããâæšå¯ãããâã®èšè¿°ã®éããã¬ã€ãã©ã€ã³ã¯çµ¶å¯Ÿã®ãã®ã§ã¯ãªãããšã¯åŒ·èª¿ããŠãããããšããã§ãã
ââãã°ããŠã³ãã£ã®ã«ãŒã«ãçµ±äžããŠå®ããããšã¯ã§ããªãã®ã§ããããã
éŠ¬å Žãããã¯é£ããã§ããããäŒæ¥ã«ãã£ãŠã»ãã¥ãªãã£ã«å¯Ÿããã«ãŒã«ãèãæ¹ãéããŸããããã°ã«ã¯ç¡æ°ã®ãã¿ãŒã³ãããããã§ãã
æç¢ºãªã«ãŒã«ããªãããããããã°ãã³ããè¡ããšãã¯äŒæ¥ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã倧åã§ããäŒæ¥ãšã®ã³ã³ã»ã³ãµã¹ãªãã«ãã°ãã³ããå§ããŠããŸããšããã ã®æ»æè ãšããŠèŠãããŠããŸãããšããããŸãããã°ãã³ããšç¯çœªè¡çºã®å¢çãèšå®ããã®ã¯éåžžã«å°é£ã§ããããšã¯ããŸãèªèããŠããã¹ãã§ããã
éŠ¬å Žæµãã°ãã³ãææ³ã調æ»ããè§£æããå®èšŒãããããŠãæ®éã¯ãããªãããç¡æ°ã«è©Šã
ââéŠ¬å Žããã¯æ®æ®µã©ã®ãããªæé ã§ãã°ãã³ããè¡ã£ãŠããã®ã§ããããã
éŠ¬å Žãç§ã®å Žåãåºæ¬çã«ã¯ã調æ»ããè§£æããå®èšŒããšããæµãã§ãã°ãã³ãã£ã³ã°ãè¡ããŸããèãããæåæããããããããŸããããå®ã¯ãã°ãã³ãã¯ãšã³ãžãã¢ãªã誰ã§ãã§ãããããªç°¡åãªããšããè¡ã£ãŠããŸãã
ãŸãã調æ»ãã§ãããWebãµãŒãã¹ã®å Žåã¯HTTPã®ã¬ã¹ãã³ã¹ããªã¯ãšã¹ãã芳å¯ããŸããããã°ã©ãã³ã°èšèªããã¬ãŒã ã¯ãŒã¯ã«ã¯ã¯ã»ã®ãããªãã®ããã£ãŠãã¬ã¹ãã³ã¹ããªã¯ãšã¹ããèŠãã°ããçšåºŠã¯ç¹å®ããããšãã§ããŸãã
äŸãã°URLã®ãã©ã¡ãŒã¿ã ?name=value ãšããå€ã ã£ããšããŸãããã©ã¡ãŒã¿ãæžãæã㊠?name[]=value ãšãããšãã«ã value ãé©åœãªå€ã«æžãæããå Žåãšç°ãªãã¬ã¹ãã³ã¹ãè¿ã£ãŠããã°ããã®ãµãŒãã¹ã®äœ¿çšèšèªã¯PHPãããããªããªããšãããããã€ããããšãã§ããŸãã
ãŸããäŸå€ãçºçããããã«ãã©ã¡ãŒã¿ãæžãæããããéåžžã§ã¯ããããªããªã¯ãšã¹ããéã£ããšãã«ãã¬ãŒã ã¯ãŒã¯åºæã®ãšã©ãŒã¡ãã»ãŒãžããã®ãŸãŸè¿ã£ãŠããããšããããŸãããããªãã°äžçºã§ãã¬ãŒã ã¯ãŒã¯ãç¹å®ã§ããã®ã§ãå°ãäœæ¥ã楜ã«ãªããŸãããèšèªåºæã®ã¬ã¹ãã³ã¹ããªã¯ãšã¹ãã®ã¯ã»ãªã©ã¯éçºãããšãã«äœ¿ããªãç¥èãããããŸãããããã°ãã³ã¿ãŒã«ãšã£ãŠã¯æé«ã®æãããã§ãã
èšèªããã¬ãŒã ã¯ãŒã¯ãåãããããããOSSãªãã°ãœãŒã¹ã³ãŒããå ¬éãããŠããã®ã§ããããé ã ãŸã§èªã¿è§£ãåªåãããã°ããã°ãèŠã€ãããããããããŸããããã°ãèŠã€ãããã£ã³ã¹ã¯èª°ã«ã ã£ãŠããã®ã§ãã
ââãã°ãã³ãã§ãã䜿ãããŒã«ã¯ãããŸããã
éŠ¬å ŽãBurpãªã©ã®ããŒã«ã«ãããã·ããŒã«ã䜿ããŸããããããããŒã«ã䜿ãã°ã誰ã§ã容æã«ãªã¯ãšã¹ãå 容ã倿Žã§ãã調æ»ã¯ã§ããŸããããããéé²ã«ãªã¯ãšã¹ããéã£ãŠããã ãã§ã¯äœãåãããŸãããèšèªããã¬ãŒã ã¯ãŒã¯ã®ç¥èãç¶²çŸ çã«æã¡ãåããŠãè匱æ§ãèŠã€ããããã®ãªã¯ãšã¹ããã®åŸåãèŠããŠããŸãããã°ãã€ããããã«ã¯çµéšãç¥èã倧äºãªã®ã§ãã
ããŒã«ã«ãããã·ããŒã«ã®Burpã䜿ããšã¬ã¹ãã³ã¹ããªã¯ãšã¹ããããŒã«ã«ã³ã³ãã¥ãŒã¿äžã§ãã£ããã£ã§ãããªã¯ãšã¹ããèªç±ã«æžãæããããšãã§ããã
éŠ¬å Žãããã²ãšã€ãHTTPã®ãããã³ã«ãçè§£ã§ããŠããã°ãããããè匱æ§ãæ¢ãããšãã§ããŸããäŸãã°ãã¡ã€ã«ã¢ã¯ã»ã¹ããããªã¯ãšã¹ããæžãæããããšã§ãæ¬æ¥èŠããŠã¯ãããªããã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããŠããŸãã±ãŒã¹ããããŸãããã£ã¬ã¯ããªãã©ããŒãµã«ãšããå®çªã®æ»æææ³ã§ããã
ãã£ã¬ã¯ããªãã©ããŒãµã«ã¯äžè¬çãªã»ãã¥ãªãã£ã®ææ¬ã«ãèŒã£ãŠããŸãããå®éã«è©Šããããšã¯ãªãããšããæ¹ãããã§ãããããã°ãã³ã¿ãŒã®æ¬è³ªãšã¯ããããããæ®éã¯ãããªãããšããå®éã«è©ŠããŠã¿ãããšã«ãããšèããŠããŸãã
ãUser agentãå€ããŠã¿ããã©ããªãã®ãïŒããHTTPã®ãªã¯ãšã¹ããããã远å ããŠã¿ãããã©ããªãã ãããïŒããªã©ã詊ãã¹ããæ®éã¯ãããªãããšãã¯å±±ã»ã©ãããŸãããããŠè©Šè¡ããŠã¿ãŠãããããªã¬ã¹ãã³ã¹ãè¿ã£ãŠããã°ãã¡ãã®ãã®ã§ãã
äžã®ãã£ããã£ã¯åçŽãªäŸã§ãããããªã¯ãšã¹ãã®URLãã¹ã倿ŽããŠãµãŒãã®ãã¹ãåãä¿åãããŠãããã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ãããã©ãã詊ããŠã¿ãããªã©ãHTTPãçè§£ããŠãããšèª¿æ»ã§ããããšãå¢ããŠããã
ââãã°ãã³ãã¯å°éãªäœæ¥ã®é£ç¶ãªã®ã§ããã
éŠ¬å ŽãBurpã®ã¹ãã£ã³æ©èœçãå©çšã§ããã°ãã£ãšèª¿æ»ãããããã®ã§ãããå€ãã®å Žåã¯ãµãŒãã«è² è·ãããããããªè匱æ§ã¹ãã£ã³ããŒã«ã®äœ¿çšã¯çŠæ¢ãããŠããŸãã
Webãµã€ãã®ãœãŒã¹ã³ãŒããæ§æãèŠããªããšãã¯ãå°éã«äžã€ãã€æã£ãŠããç¥èã詊ããŠããããã€ããŠãããããããŸããããã©ãçããŸã§ã«ãªã¯ãšã¹ããäœçŸãã¿ãŒã³ã詊ãããšããããŸãã
ââããŒã«ã䜿ãããã©ãŠã¶ããè匱æ§ã調æ»ããããšãããããšæããŸããããããã£ãå Žåãã©ã®ãããªã¢ãããŒãããšãã®ã§ããããã
éŠ¬å Žãããã§ã倧äºã«ãªã£ãŠããã®ã¯ããæ®éã¯ãããªããã詊ãããšã§ããECãµã€ãã調æ»ãããšããäŸã«ããŠèããŠã¿ãŸããããECãµã€ãã«ã¯ååã®è³Œå ¥ã決æžãå¿ ããããŸãã
- ååãéžã¶
- åæ°ãå ¥åãã
- è³Œå ¥ãã
ãããéåžžã®å€§ãŸããªãããŒã ãšæããŸãã ããã§ãäŸãã°ãè³Œå ¥æ°ããã€ãã¹ã«ããŠã¿ãããšãããæ®éã¯ãããªãå ¥åããããããšããã°èª¿æ»ã®åºæ¬ã«ãªããŸãã
ãŸããUIã®ã€ã³ã¿ãã§ãŒã¹ãæ³šææ·±ãèŠãã®ãéèŠã§ãããããŠå ¥åå¶éã匷ãããŠãããããªéšåã¯ãã°ãçºçããããããå¡ãã§ãããšãèããããŸãã
ââãããã£ãŠã調æ»ãã§åŸããã®ãã©ã®ããã«ãè§£æãããŠããã®ã§ããããã
éŠ¬å Žãè§£æã¯èª¿æ»ãšéãªãéšåã倧ããã®ã§ããããã¬ãŒã ã¯ãŒã¯ãèšèªãåããã°ãœãŒã¹ã³ãŒããèªãã ãã§è匱æ§ã«ç¹ããæåã®èŠåœãã€ããŸããä»ã«ãHTTPã¬ã¹ãã³ã¹ãèŠãŠåãã£ãããšãè§£æããåŸãããæ å ±ã«ãã£ãŠæ§ã ãªã¢ãããŒããåã£ãŠãããŸããè§£æã§ã¯åŒãåºããå€ããã°å€ãã»ã©æå©ã«ãªãã®ã§ãåå¿è ãšçµéšè ã®å·®ã¯ãè§£æãã§é¡èã«çŸãããããããŸããã
è§£æã®çµæã䜿ã£ãŠããã¢ããªã±ãŒã·ã§ã³ãããŒã«ãåããã°éå»ã«çºèŠãããè匱æ§ã詊ãããšãã§ããŸããäŸãã°ç»åã®ãªãµã€ãºã®ããã«ãµãŒãã§ImageMagickã䜿ã£ãŠããããšã調æ»ã§åãã£ããšããŸããImageMagickã«ã¯ãéå»ãç¹å®ã®ç»åãã©ãŒãããã§OSã³ãã³ããå«ãŸãããã¡ã€ã«ãåŠçãããããšã«ãã£ãŠããã®ã³ãã³ãã匷å¶çã«å®è¡ãããããšãã§ããããšããå±éºãªè匱æ§ããããŸããã
ãã®è匱æ§ã詊ãã«äœ¿ã£ãŠã¿ãã ãã§ããµãŒãã®ImageMagickã®ããŒãžã§ã³ã®èŠåœãã€ããŸãããŸããã©ã®çšåºŠã»ãã¥ãªãã£å¯ŸçãããŠããã®ããã¬ã¹ãã³ã¹ã«ãã£ãŠåãã£ãŠããŸãã䜿ã£ãŠããã¢ããªã±ãŒã·ã§ã³ãããŒã«ã®ããŒãžã§ã³ã«é¢ããæ å ±ãããã°ãã³ã¿ãŒã«ãšã£ãŠã¯éèŠãªãã³ãã«ãªãã®ã§ãã
ââããŒãžã§ã³ã¢ããã¯çãã«ãªããã¡ãªã®ã§ãéåžžã«èº«ãåŒãç· ãŸãæãã§ãã
éŠ¬å Žãæ²¹æããéšåããè匱æ§ãšããã®ã¯çãŸããŸããããŒã«ãã©ã€ãã©ãªã®éå»ã®è匱æ§ã¯æ€çŽ¢ããã°å€æ°åºãŠããŸãããä»®ã«ã¢ãã³ãªæè¡ãåãå ¥ããŠãããšããŠããå€ãã³ãŒããæ®ã£ãŠãããšãããæ»ããããŠããŸãããããããç§äŒã®ã¿ã¬ã³ãŒãããªã©ãå±ãããã§ãã
ââã調æ»ããè§£æãã«ç¶ãããå®èšŒããšã¯ã©ã®ãããªäœæ¥ãªã®ã§ããããã
éŠ¬å Žãã調æ»ããè§£æãã¯ãã°ãæ¢ãäœæ¥ã§ããããå®èšŒãã¯ãµãŒãã¹ã®éçšäž»ã«åããäœæ¥ã§ããå ±åãããäŒæ¥ã«èŠã€ããè匱æ§ãã©ãã»ã©å±éºã§ãã©ããªé©ç°ãããã®ããçè§£ããŠããããªããã°ãªããŸããã
å£é ã®èª¬æãè³æã ãã§ã¯ãããŠãçè§£ããŠããããªãã®ã§ããã°ãã³ãã£ã³ã°ã®ã«ãŒã«ãéžè±ããªãç¯å²ã§æ»æã³ãŒãããã¡ãã§äœããå®è·µããŠèª¬æããŸãããã°ã¯åçŸæ§ããã£ãŠåããŠä¿¡ããŠããããããšãå€ãã®ã§ã
é²åŸ¡ã®ããã«ãèšèªããã¬ãŒã ã¯ãŒã¯ã®å®è£ ãåŠãŒããã³ãŒãèªè§£ãããéåæãèŠã€ãåºãæ¹æ³ãå®è·µããŠã¿ã
ââå ã»ã©ããœãŒã¹ã³ãŒããèªãããšããã³ãã«ãªãããšæããŠããã ããŸãããããããèšèªããã¬ãŒã ã¯ãŒã¯ãåžžã«é²åããŠããŠå ç¢ããå¢ããŠãããšæããŸããããã°ãã³ã¿ãŒããèŠããšéãã®ã§ããããã
éŠ¬å Žãç§ã®èãã§ã¯ããã¬ãŒã ã¯ãŒã¯ã§äœãããWebãµã€ãã¯éã«è匱æ§ãèŠã€ããããã§ãããã°ãã³ãã¯ãœãŒã¹ã³ãŒããå ¬éãããŠããªãç¶æ ã§è¡ãããšã®æ¹ãå€ããããOSSã®å ¬éãããŠãããœãŒã¹ã³ãŒãã¯å€§ããªãã³ãã«ãªããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®èšå€§ãªãœãŒã¹ã³ãŒããèªãã®ã¯å€§å€ã§ãããèªãã§çè§£ããããã°æåãåãããŸãããã®ããç§ãã¡ã®äžã§ã¯OSSãèªãã§è匱æ§ãæ¢ããããªãéã«å·Šå³ããããåªåããã°ææãåºããã°ãã³ãããããã ãããšåŒãã§ããŸãïŒç¬ïŒã
ãã¬ãŒã ã¯ãŒã¯ã¯ç¢ºãã«å ç¢ã«ãªã£ãŠããŠããŸããã人éã¯ãã¹ãããçãç©ã§ãããããåªããã·ã¹ãã ã§ãã£ããšããŠããã©ããã«å¿ ããã°ã¯çºçããŠããŸããŸããã ããããéçºè ã¯ãã¬ãŒã ã¯ãŒã¯ã®äžã®å®è£ ãçè§£ããããšã倧åãªãã§ããå®è£ ãçè§£ããŠãªãç¶æ ãšããã®ã¯ãèªåã§äœã£ãWebãµã€ããªã®ã«ãã©ãã¯ããã¯ã¹ã«ãªã£ãŠãããšããããšãšåãã§ããã»ãã¥ãªãã£ã®èгç¹ã§ã¯å±éºãªç¶æ ã§ãã
åçŽãªäŸã§èšãã°Ruby on Railsã®Modelã®æåãªã©ãããã§ããRailsã®Modelã¯ããã©ã«ãã§ã¯ããã¹ãŠã®ã«ã©ã ãDBããååŸããŠããŸããããããã®ãŸãŸããã³ãåŽã«éã£ãŠããŸããšãã¬ã¹ãã³ã¹ãèŠããããšãã«ããŒã¿ããã¹ãŠèŠããŠããŸããŸãã
ãŸããããã³ããšã³ãã®ãã¬ãŒã ã¯ãŒã¯ã«ãåãããšãèšããŸããJavaScriptã®ãã¬ãŒã ã¯ãŒã¯ã§ãæãéã®ãããªè匱æ§ãçºèŠãããŠããŸããå°ãå€ã話é¡ã§ããAngularJSã«ã¯ãã³ãã¬ãŒãã€ã³ãžã§ã¯ã·ã§ã³ãšããXSSã®è匱æ§ããããŸãããè±èªã§ããããã¡ãã®èšäºã«äžå¯§ã«ãŸãšããããŠããŸãã
XSSïŒã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒ
ãŠãŒã¶ããªãããã®Webãµã€ãã«ã¢ã¯ã»ã¹ãããšããªã©ã«ãæªæã®ããã¹ã¯ãªãããå®è¡ãããŠããŸãè匱æ§ããTwitterãªã©ã§æªæã®ããURLãã·ã§ã¢ããã¯ãªãã¯ããçžæã®Cookieå€ãçãããªã©ãXSSæ»æã«åé¡ãããã
éŠ¬å ŽãHTMLãåçã«åºåããéã¯ããšã¹ã±ãŒãåŠçãããŠããã°å€§äžå€«ãšããèªèãäžè¬çã ãšæããŸããåŸæ¥ã®HTMLãªãã°ãã¿ã°ã«ã¯ <> èšå·ãªã©ãã䜿ãããŠããªãã£ãããåçŽãªãšã¹ã±ãŒãã§é²ããŠããŸããããããã以äžã®ã³ãŒããèŠãŠãã ããã
<html ng-app> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.js"></script> </head> <body> <p> <?php $q = $_GET['q']; echo htmlspecialchars($q,ENT_QUOTES);?> </p> </body> </html>
{{constructor.constructor('alert(1)')()}}
äžèšã³ãŒãã¯PortSwigger Web Security BlogããåŒçšã
éŠ¬å Žãäžæ®µã® echo htmlspecialchars($q,ENT_QUOTES);?> ã®éšåã«ä»»æã®ãŠãŒã¶å
¥åå€ãHTMLãšã¹ã±ãŒããããç¶æ
ã§æ¿å
¥ãããŸãã htmlspecialchars ã®ãšã¹ã±ãŒãåŠçã¯åŸåã§ã¯ <> ã ãã§ããã£ãã®ã§ããã AngularJSã®å Žåãng-app屿§ãæã€HTMLèŠçŽ å
ã« {} ã䜿çšããŠã³ãŒããèšè¿°å¯èœã§ãããã® {} ã«ä»»æã®JavaScriptã®ã³ãŒããæ¿å
¥ããããšãéå»ã®ããŒãžã§ã³ã§ã¯ã§ããŠããã®ã§ããçŸåšã®ããŒãžã§ã³ã§ã¯AngularJSã®ãµã³ãããã¯ã¹æ©èœã®åŒ·åã«ãã£ãŠç°¡åãªJavaScriptã®ã³ãŒãã¯å®è¡ã§ããªãããã«ãªã£ãŠããã®ã§ãããäžæ®µã®ããã« constructor ãªããžã§ã¯ãå
ã®Function ãªããžã§ã¯ããçšãããšããŠãŒã¶ãå
¥åããJavaScriptãç°¡åã«å®è¡ã§ããŠããŸãã®ã§ãã
ãã³ãã¬ãŒãã€ã³ãžã§ã¯ã·ã§ã³ã¯JavaScriptãã¬ãŒã ã¯ãŒã¯ãäžè¬åããããããåºçŸããææ³ã§ãããã¬ãŒã ã¯ãŒã¯ã䜿ããšå®å š / å±éºãšããããšã§ã¯ãªãããã¬ãŒã ã¯ãŒã¯ã®äžèº«ãèªã¿å®è£ ãåŠã¶ããšãéèŠãªã®ã§ããå®è£ ãèŠããªãããé²åŸ¡çãè¬ãã«ãããªã£ãŠããŸããéçºè ã¯ãã¬ãŒã ã¯ãŒã¯ã䜿ãã®ã§ãã£ãŠããã¬ãŒã ã¯ãŒã¯ã«äœ¿ãããŠããç¶æ ã«ãªããªãããã«ããã®ã倧äºã ãšæããŸãã
ââãœãŒã¹ã³ãŒããèªãã§è匱æ§ãèŠã€ããã³ããªã©ã¯ããã®ã§ããããã
éŠ¬å Žãããã«é¢ããŠã¯ãã£ãŒãªã³ã°ã倧ããã§ããâŠâŠãäŸãã°æç« ãèªãã§ãããšãã«èª€åè±åããããšéåæãèŠããããšãããã§ããããåãããã«ããœãŒã¹ã³ãŒããèªãããã®ç¹æ®ãªæ¹æ³ããããããããªããã²ãããã³ãŒããèªãã§èŠãŠããã ãã§ãã
ãã ããã ãšããŸãã«ãæœè±¡çãªã®ã§ãè匱æ§ã®ããã³ãŒãã®å ·äœäŸãåºããŸãããã以äžã¯ããŠãŒã¶ãã¢ããããŒããããã¡ã€ã«ãä¿åãããšããå€éšã³ãã³ãã§ãããåŠçããããšããflaskãã¬ãŒã ã¯ãŒã¯ãå©çšããPythonã®ç䌌ã³ãŒãã§ããã©ãã«è匱æ§ãããããèããŠã¿ãŠãã ããã
import flask, subprocess
...
file = flask.request.files['file']
filename = file.filename
file.save(filename)
...
subprocess.call('/path/to/command ' + filename. shell=True)
éŠ¬å ŽããŸãç®ç«ã€ãšãããããããŸããããæåŸã®è¡ã§ãå€éšããã®å ¥åå€ãOSã³ãã³ãã«å«ããŠå®è¡ããŠããç®æã¯ããªãå±éºã§ãã
ã¢ããããŒããããã¡ã€ã«åã«Linuxã®ã·ã§ã«ã³ãã³ãã®åºåãæåã§ãã ; ã䜿çšããããšã§ãåŸç¶ã«å¥œããªã³ãã³ããæå®ãå®è¡ããããšãã§ããŠããŸããŸããOSã³ãã³ãã€ã³ãžã§ã¯ã·ã§ã³ãšããææ³ã§ããããªã極端ãªäŸç€ºãªã®ã§ããããã«çŸå®ã«ã¯ããããªãã ãããšèšããããªããŸããïŒç¬ïŒã
2ã€ç®ã¯ãã¡ã€ã«ãä¿åããŠããåŠçã§ãPythonã®ä»æ§ãçªããæ»æãå¯èœã ãšèããããŸããPython21ã¯ããã°ã©ã å®è¡ã®éãåŠçé床ãäžããããäžåºŠã€ã³ããŒããããã¢ãžã¥ãŒã«ã¯ ã¢ãžã¥ãŒã«å.pyc ãšããã³ã³ãã€ã«æžã¿ã®äžéãã¡ã€ã«ãçæãããæ¬¡åå®è¡æã¯ãã®äžéãã¡ã€ã«ãèªã¿èŸŒãŸããŸãããã®èšèªä»æ§ãçè§£ããŠãããšãäžèšã®ã³ãŒããããflask.pycãšãããã¡ã€ã«ãã¢ããããŒããããã©ããªãã ããããšçºæ³ã§ããŸãã
äžèš2ã€ã®äŸã¯å ¥åå€ããã¡ã€ã«ãã§ãã¯ã®ããªããŒã·ã§ã³ãå ¥ããŠããã°é²ãããããããªãåçŽãªãã®ã§ãã³ãŒããããèªãã°é²ãããšãã§ããŸãã
OSã³ãã³ãã€ã³ãžã§ã¯ã·ã§ã³
ã¡ãŒã«ã¢ãã¬ã¹èšå ¥æ¬ãªã©ã®ããã«ããŠãŒã¶ãä»»æã§å ¥åãã§ããç®æã«ããã©ã°ã©ã äžã§OSã³ãã³ããå®è¡ããããããªå€ãå ¥åããæ»æãOSã®ã³ãã³ãã匷å¶çã«å®è¡ãããŠããŸããããéåžžã«å€§ããªãªã¹ã¯ãšãªãã
ââèšèªä»æ§ãçè§£ããŠãããšè匱æ§ãèŠã€ããããã®èŠéãåºããªãããã§ããã
éŠ¬å Žããã®ãšããã§ãããã°ãèŠã€ããäžã§ãèšèªä»æ§ã®çè§£ã¯éèŠã§ããDBã«ä¿åãããšãã«IDãèšèªåŽã§çºè¡ããŠãããŠãŒã¶ããŒãã«ããã£ããšããŸããéçºè ã¯æšæºé¢æ°ã䜿ã£ãŠä¹±æ°ã§IDãçºè¡ããŠãããããå®å šã ãšèããã§ãããããããããã®æšæºé¢æ°ã®å éšå®è£ ã®ä¹±æ°çæããæšæž¬å¯èœã§ããããšãç¥ãæ»æè ãããããšããéçºè ã¯æšæž¬ã§ããªããšæã蟌ãã§ããIDå€ããããçšåºŠã¯æšæž¬ã§ããŠããŸãå¯èœæ§ãããã®ã§ãã
ââ仿§ã®çè§£ãããã«éèŠãåãããŸããã§ã¯ããã°ãã³ã¿ãŒã®èŠç¹ãããéçºè ãã³ãŒããæžããšãã«ã»ãã¥ãªãã£ã¬ãã«ãé«ãä¿ã€ããã«ã¯ãã©ã®ãããªç¹ã«é æ ®ããã¹ãã ãšæããŸããã
éŠ¬å Žãã«ãŒã«ã決ããŠã»ãã¥ã¢ã³ãŒãã£ã³ã°ãããŠããã®ãã²ãšã€ã®æ¹æ³ã§ãããããã ããã«ãŒã«ã§ã¬ãã¬ãã«ããªããã°ãªããªãã®ã§ãéçºè ã®èªç±åºŠãäœäžããŠããŸãåŽé¢ããããŸããèŠä»¶ãšå®è£ ã®ããããããçããéçºæéãé·ããªã£ãŠããŸãå Žåãããã§ããããããã¯éåžžã«å€æãé£ããåé¡ã§ãäŒæ¥ã®æåãéçºäººå¡ã®æ°ã«ãå·Šå³ãããŸããæé©è§£ãšããã®ã¯ãªããªããªããããããŸããã
XSSã®çŸåšãæè¡ã®é²åãšäžŠèµ°ããæ»æææ³ã®é²å
ââXSSã¯å€å žçãªæ»æææ³ã§ãããé²åããŠããã®ã§ããããã
éŠ¬å Žããã©ãŠã¶ãé²åããŠããã®ã§åçŽãªXSSã¯é²ããããã«ãªããŸããããããéã«ãã©ãŠã¶ããã«ã¡ã©ã«ã¢ã¯ã»ã¹ã§ããããé²é³ã§ããããäŒè©±åã®ã€ã³ã¿ãŒãã§ã€ã¹ããã£ãããšå€æ©èœã«ãªã£ãããšã§ãæ»æææ³ãå¢ããŸããã
äŸãã°ããšããCTFã§Web Speech APIãå©çšãããã©ãŠã¶ããé²é³ããé³å£°ãå ±æã§ããWebãµãŒãã¹ã«ãXSSã®è匱æ§ãååšããããšããåé¡ãåºé¡ãããã®ã§ãã
FLAGãææããŠããæ»æå¯Ÿè±¡ã®ãŠãŒã¶ç°å¢ã§ã¯ã¹ããŒãã¹ããŒã«ãŒãåããŠããŠããã®ãŠãŒã¶ã«å¯Ÿã㊠ãOK google what is the flagã ãšããé³å£°ãéããã¹ããŒãã¹ããŒã«ãŒã«ãã£ãŠèªã¿äžããããFLAGããXSSãå©çšããŠWebãµãŒãã¹ããé²é³ãããŠå¥ªåããããšãããã®ã§ãããCTFã®ãé¡ãšã¯ãããæã§ã¯èããããªãæ»æææ³ã§ããã
ãŸããXSSãšã¯ç°ãªããŸãããã¯ãã¹ãµã€ããµãŒããšããææ³ãååšããŸããå ¬éãéå ¬éãåºå¥ãããŠããæ²ç€ºæ¿ã®ãããªãµã€ãã§ãæ€çŽ¢æ©èœãå©çšããŠéå ¬éã®ããã¹ããåŒãåºãããæ»æææ³ã§ãæ€çŽ¢å®è¡æã®ã¬ã¹ãã³ã¹ã®å·®åãæªçšãããã®ã§ãã
ãªãããã®ãµã€ãã§æ€çŽ¢ãããéãã1ä»¶ããããããªãå Žåããšãã1件以äžã®ããããããå Žåãã®ã¬ã¹ãã³ã¹ãç°ãªãå ŽåããããŸããããã«ã1ä»¶ããããããªãã«ãé¢ããããã¬ã¹ãã³ã¹ã«å·®ç°ãããå Žåãããã®ã§ãããããéå ¬éã®æç« ãã·ã¹ãã å éšã§æ€çŽ¢ã«åŒã£æãã£ãéã®ã¬ã¹ãã³ã¹ã ãšèŠåœãã€ããŠããŸããéå ¬éã®æç« ãè§£æãããŠããŸããªã¹ã¯ãçããŸãã
ââ é²åãšããé¢ã§ã¯ãè¿å¹Žãã¯ã©ãŠããµãŒããäžè¬åããŠããŸãããã¯ã©ãŠããµãŒãã ããããå å ããè匱æ§ãªã©ã¯ãããŸããã
éŠ¬å Žãèªç€Ÿã§ç®¡çããŠããªããããããé æ ®ãã¹ãéšåã¯ãããŸããäŸãã°ãSSRFïŒServer Side Request ForgeryïŒã¯ã¯ã©ãŠããµãŒãã¹ãäžè¬åããããšã«ãããè åšãå¢ããæ»æææ³ã ãšèšããŸãã
AWSã®EC2ã§ã¯ http://169.254.169.254/ ã«ã¢ã¯ã»ã¹ãããšãã®ã€ã³ã¹ã¿ã³ã¹ã®æ
å ±ãååŸã§ãããšãã仿§ããããŸãããã®ä»æ§ãæªçšããEC2äžã®ãµãŒãããä»»æã®ãªã¯ãšã¹ããéä¿¡ã§ãããã®ã¬ã¹ãã³ã¹ã芳枬ã§ããå Žåãã¯ã¬ãã³ã·ã£ã«æ
å ±ã奪ãããŠããŸãæãããããŸãã
ãã®è匱æ§ã¯æ¬æ¥ãã¢ã¯ã»ã¹å¶åŸ¡ãããŠããããšã§é²ããŸãããããããããããšã³ããã€ã³ããããããšèªäœãç¥ããªããŠãŒã¶ããããããã»ãã¥ãªãã£æœçã«æãæŒããçºçããŠããŸãã®ã§ãããããä»®ã«èªç€ŸãµãŒãã§ããã仿§ãææ¡ããããç¶æ³ã§ããã°èµ·ããªãã£ããããããŸããã
ââãèªç€ŸãµãŒããšã¯ã©ãŠããµãŒãã®ã©ã¡ããã»ãã¥ã¢ãïŒããšããã®ã¯ããè°è«ãããŸãããã°ãã³ã¿ãŒã®èŠç¹ã§ã¯ã©ãã§ããããã
éŠ¬å Žãã©ã¡ããšãèšããŸãããç¶æ³ã«å¿ããŠäœ¿ãåããã¹ãã§ããããã¯ã©ãŠããªãã°ç©ççãªæ»æãåãããªã¹ã¯ãäœããããããèªç€Ÿä»¥å€ã®äŒæ¥ã人å¡ãå·šå€§ãªæš©éãæã£ãŠãããšããç¶æ ãããªã¹ã¯ã®ã²ãšã€ãšè§£éã§ããŸãããã£ãšããããã¯ã¯ã©ãŠããµãŒãã¹ã«éã£ã話ã§ã¯ãããŸãããâŠâŠãäžæ¹ã§ãèªç€ŸãµãŒããªãã°æš©éã¯ååçã«ç€Ÿå ã§ãã¹ãŠç®¡çãããŠããã¯ãã§ãããã¯ã»ãã¥ãªãã£äžã®åŒ·ã¿ã§ãã
ã»ãã¥ãªãã£ãçè§£ããããã«ãŸãã¯ãã©ã€ããŠã¿ã
ââ éçºè ãWebãµã€ããäœãéã«ãã¥ãªãã£é¢ã§ç¢ºèªããŠããã¹ãç¹ãªã©ã¯ãããŸããã
éŠ¬å Žãããããå®ãã°å€§äžå€«ïŒããšæèšã¯ã§ããŸããããIPAã®ã¬ã€ãã©ã€ã³ã¯åèã«ãªããšæããŸããã¬ã€ãã©ã€ã³ã«ããã»ãã¥ãªãã£é ç®ãçè§£ããŠããªãªãŒã¹åã«ãã§ãã¯ããã ãã§ã广çã§ããIPAã®ãã§ãã¯ãªã¹ãã¯ä»¥äžã®ãã»ãã¥ãªãã£å®è£ ãã§ãã¯ãªã¹ãããåç §ããŠã¿ãŠãã ããã
ããšã¯ãã°ãã³ã¿ãŒã®ããã«è匱æ§ãæ¢ãããšã«æéããããããªããªããã»ãã¥ãªãã£ããŒã«ã䜿ãã®ããããããããŸãããææã§ããBurpã®Proçã«åãã£ãŠããã¹ãã£ããŒæ©èœã®ãããªè匱æ§èšºæããŒã«ãå©çšããã°ããã©ãã¯ããã¯ã¹ãªWebãµã€ãã§ãã¯ããŒãªã³ã°ããŠèªåã§èšºæããŠãããŸãã
XSSããã£ã¬ã¯ããªãã©ããŒãµã«ãªã©ã®åºæ¬çãªæ»æææ³ãžã®å¯Ÿå¿ç¶æ³ã確èªã§ããã®ã§ãã»ãã¥ãªãã£ã®ç¥èã«èªä¿¡ããªããŠããããçšåºŠã®è匱æ§ã¯ãã¶ãã ãããšãã§ããŸãã
ââéçºã§ã®ãªãœãŒã¹ãå°ãªãçŽæãã®ãªã®ãªããšããç¶æ ããããšæããŸããæäœéããã¯ãã£ãŠããã¹ãã»ãã¥ãªãã£æœçã¯ãããŸããã
éŠ¬å Žããããã ãïŒããšçµãããšã¯ã§ããŸãããå šéšæ°ã«ããŠã»ããã§ããæ³šæç¹ãçµã£ãŠèª¬æããŠãããããã«ã¯å¿ ãæãéãååšããŠããŸãã®ãå®éã§ãã
ãã ãã©ãããŠãæéããªãããšããç¶æ³ã§ããã°WAFïŒWeb Application FirewallïŒã䜿ãã®ã¯ããã ãšæããŸããããçšåºŠã®äºç®ã¯ããã£ãŠããŸããŸãããWebãµã€ããšå©çšè éã®éä¿¡ãWAFããã§ãã¯ããŠãããã®ã§ãæ»æã³ãŒããããã°é²ãã§ãããŸããèªäœãå¯èœã§ãããä»ã¯AWS WAFãªã©ããããæ¯èŒçæè»œã«å°å ¥ã§ããã§ãããã
ââéçºã«ãããŠã»ãã¥ãªãã£ã¯åŸåãã«ãããŠããŸãå Žåãããã§ããããéŠ¬å ŽããããèŠãŠããããç¶æ³ãã©ãæããŸããã
éŠ¬å Žããã°ãã³ã¿ãŒã®ç«å Žã§ãªããšããå±éºã ãšèšããããããŸãããäžçªå€ãè匱æ§ã¯ã人éã®ãã¹ãã ãšèããŠããŸãããã¹ãé²ãããã«ã¯çžå¿ã®æéãå²ããããªããæ ããšæ»æè ã«ããã«è匱æ§ãçªãããŠããŸããŸãã
ãã ããããªãã»ãã¥ãªãã£ã培åºããã®ã¯é£ããã§ãããã倧ããªããŒã ãªãã°ãªãã®ããšã§ããã§ãããããŸã倧äºã«ããŠãããããã®ã¯ããããããæ»æããããããé²åŸ¡çã詊ããŠã¿ããããšãããã©ã€ã¢ã«ã®ãã€ã³ãã§ããæ¬ãèªãã ãããããã§èŠããããŠãæ»æææ³ãç¥ãããã®æ»æã«å¯Ÿããé²åŸ¡ææ³ãã²ãšã€èŠããã ãã§ãéçºã®äžã§ã®ã»ãã¥ãªãã£ãžã®æèãå€ãããšæããŸãã
ãŸããç¹°ãè¿ãã«ãªããŸãããèšèªããã¬ãŒã ã¯ãŒã¯ã®å®è£ ãç¥ãããšã倧äºã§ãããããããå®è£ ã«æãããªããã°äœ¿ãããªããŸãããããœãŒã¹ã³ãŒããèªã¿èŸŒãããšã§ãã»ãã¥ãªãã£ã®çè§£ãæ·±ãŸããŸããéçºã«æŽ»ãããã»ãã¥ãªãã£ã«æŽ»ããããã«ãœãŒã¹ã³ãŒãã¯ãã²ç®ãéããŠãããããã§ããã
åæïŒmegayaã{$image_7}megayaã®ããã°
*1:Python3ã§ã¯äžéãã¡ã€ã«ã®ä»æ§ãè¥å¹²ç°ãªãã
Python3ã§ã¯äžéãã¡ã€ã«ã®ä»æ§ãè¥å¹²ç°ãªããâ©




