ðã«ãããåŒïœã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒãšã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªãŒïŒCSRFïŒã®éãïŒèšèã§èŠããïŒ
çŽããããæ»æåã
ååã®æå³ããåºå¥ããæ¹æ³
äºåè·ãããªããæ
å ±åŠçå®å
šç¢ºä¿æ¯æŽå£«ãç®æããŠå匷ããŠããã«ãããã§ãã
ããéçéžæã»ã©ãã£ããããŒã«ã®è³ªã«ãã ãããŸãã
仿¥ãåºæ¬ãæŒãããŠãããŸãããâŸïž
ð ä»åã¯ãŸãåºæ¬ã®æŽçã§ãã
ååããšãŠã䌌ãŠãããã®2ã€ã
ð¥ ã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°ïŒXSSïŒ
ðŠ ã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªãŒïŒCSRFïŒ
ãã©ã£ã¡ã ã£ãïŒããšãªããã¡ãªã®ã§ã
å¿çšæ
å ±ã¬ãã«ããæŽçãçŽããŸãã
ð§©ãXSSã®ãXãã¯Crossã
XSS = Cross Site Scripting
CSRF = Cross Site Request Forgery
æ¬æ¥ãCross Site Scripting ã¯
é æåãåããšãCSSãã«ãªããŸãããã ãã¹ã¿ã€ã«ã·ãŒãã®CSSãšåºå¥ããããã«ã
XSS ãšè¡šèšãããŠããŸãã
ðãã¯ãã¹ãµã€ãã¯åãæå³ã
ã¯ãã¹ãµã€ãïŒCross SiteïŒãšã¯ã
å¥ã®ãµã€ãããã¢ã¯ã»ã¹ããããšã§ãã
äŸïŒæ»æãµã€ã â éè¡ãµã€ãðŠ
ã€ãŸããXSSãCSRFã
ãã¯ãã¹ãµã€ãããŸã§ã¯åãæå³
ãšããããšã«ãªããŸãã
ðãéãã¯åŸãã®åèªã
ãããããšããã®2ã€ã®èŠãæ¹ã¯ã·ã³ãã«ã§ãã

ã¯ãã¹ãµã€ãã¯åããéãã¯
âïž Script ïŒã¹ã¯ãªããïŒã
ð© Request ïŒãªã¯ãšã¹ãïŒãã
ç»åã¯çæAIã§ã黿¿ã«ããŠã»ãããš
ãªã¯ãšã¹ãããŸããð
塟è¬åž«ãªãããèšããŸãã
ãéãã¯ãåŸãã®èšèã§æ³šç®ãïŒã
èšèã§èŠãããã®ã¿ã€ãã«ã«
ãã£ãŠããã€ã©ã¹ãã§ãããð
ð¥ãXSSãã¯ãã¹ãµã€ãã¹ã¯ãªããã£ã³ã°
XSSã¯ãã¹ã¯ãªãããå
¥ãèŸŒãæ»æã§ãã
ãŠãŒã¶ãŒã®ãã©ãŠã¶ã§ãæªæããã³ãŒããå®è¡ãããŸãã
ð 被害äŸ
ã»Cookieçé£
ã»ã»ãã·ã§ã³ãã€ãžã£ãã¯
ð¡ïž äž»ãªå¯Ÿç
𧌠åºåãšã¹ã±ãŒã
escape ã¯ãç¡å®³åããããšããæå³ã
ã¹ã¯ãªãããšããŠå®è¡ããããæåãšããŠè¡šç€ºãããŸãã
ð« HttpOnly
HttpOnly ã¯ãHTTPéä¿¡ã ãããšããæå³ã
JavaScriptããCookieãèªããªãããã«ããŠãçãŸãã«ããããŸãã
ð å
¥åãã§ãã¯
å±éºãªå
¥åãåãä»ããªã察çã§ãã
ããããã¹ã¯ãªãããå
¥åã§ããªãããã«ããŸãã
ðŠãCSRFãã¯ãã¹ãµã€ããªã¯ãšã¹ããã©ãŒãžã§ãªãŒ
CSRFã¯ããªã¯ãšã¹ãåœé ã®æ»æã§ãã
ãã°ã€ã³äžã®ãŠãŒã¶ãŒãçã£ãŠãå¥ãµã€ãããäžæ£ãªãªã¯ãšã¹ããéããŸãã
ð 被害äŸ
ã»äžæ£éé
ã»èšå®å€æŽ
ð¡ïž äž»ãªå¯Ÿç
ð CSRFããŒã¯ã³
token ã¯ããããã»åèšèããšããæå³ã
æ¬ç©ã®ç»é¢ããéããããªã¯ãšã¹ãã確èªããŸãã
ð SameSite屿§
SameSite ã¯ãåããµã€ãããšããæå³ã
å¥ãµã€ãããã®Cookieéä¿¡ãé²ããæ»æãæç«ãã«ããããŸãã
CSRFã¯ããã°ã€ã³ç¶æ
ãå©çšããæ»æ
ãšããã€ã¡ãŒãžã§èŠãããšããããããã§ãã

ðããŸãšãã
XSS â ã¹ã¯ãªãã âïž
CSRF â ãªã¯ãšã¹ã ð©
èŠãããšãã¯
ã¯ãã¹ãµã€ããŸã§ã¯åãã
éã㯠Script ã Requestã
ðãæ¬¡åäºåã
ä»åã¯ãéãã ããããèšèã«æ³šç®ããŠæŽçããŸããã
次åã¯ããããã®ä»çµã¿ãšå¯Ÿçããæ¯æŽå£«ã¬ãã«ã§æ·±æãããŠ
鱿«ã¢ããäºå®ã§ãã
å
æ¥ãæ¯æŽå£«åæ Œã®äººãšè©±ãæ©äŒããããŸããã
CORSã®ååŸåé¡ãé£ãããšè©±ããããšããããã®åèªã¯ç¥ããªãã£ããšè©±ããŠããŸãããCORSã®èšäºã¯ä»¥äžã®éãã
ãªãã ããã®ãããå®å¿ããŸããð
åæ Œè
ããå
šãŠã®ç¯å²ãå®ç§ãªã®ã§ã¯ãªããšã
å匷ãããŠãããšè²ã
ãªå£ã«
ã¶ã€ãããŸããã
ã³ãã³ãç©ã¿äžããŠãããããšæããŸãã
ã§ã¯é±æ«ã®æ·±æãçããæ¥œãã¿ã«ð
