ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã§ã¯ãã¦ã§ããµã¤ãã®ãã¶ã¤ã³ã¨ä½¿ç¨æ¹æ³ã®ããããé¢ã§è¦æãå¿ è¦ã§ãããã®å ¥éè¨äºã ãã§ã¯ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã®ç¬¬ä¸äººè ã«ã¯ãªãã¾ããããè å¨ãã©ãããçºçããã®ããããã¦æãä¸è¬çãªæ»æã«å¯¾ãã¦ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãå¼·åããããã«ä½ãã§ããã®ããçè§£ããã®ã«å½¹ç«ã¡ã¾ãã
| åææ¡ä»¶: | åºæ¬çãªã³ã³ãã¥ã¼ã¿ã¼ãªãã©ã·ã¼ã |
|---|---|
| ç®ç: | ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã®ã»ãã¥ãªãã£ã«å¯¾ããæãä¸è¬çãªè å¨ãçè§£ããã¦ã§ããµã¤ãããããã³ã°ããããªã¹ã¯ã縮å°ããããã«ä½ãã§ããããçè§£ãããã¨ã |
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã¨ã¯
ã¤ã³ã¿ã¼ãããã¯å±éºãªå ´æã§ãã宿çã«ããµã¼ãã¹æå¦æ»æã«ãã£ã¦ã¦ã§ããµã¤ããå©ç¨ã§ããªããªã£ãããèªåã®ãã¼ã ãã¼ã¸ã«å¤æ´ããã (å¤ãã®å ´åæå®³ãª) æ å ±ã表示ããããããã¨ãããã¾ãããã®ä»ã®æ³¨ç®ãéããäºä¾ã§ã¯ãä½ç¾ä¸ãã®ãã¹ã¯ã¼ããã¡ã¼ã«ã¢ãã¬ã¹ãããã³ã¯ã¬ã¸ããã«ã¼ãã®è©³ç´°ããããªãã¯ãã¡ã¤ã³ã«æ¼æ´©ããã¦ã§ããµã¤ãã®å©ç¨è ãå人çãªå½æã¨çµæ¸çãªã¹ã¯ã®ä¸¡æ¹ã«ãããã¦ãã¾ãã
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã®ç®çã¯ããããã® (ã¾ãã¯ä»»æã®) 種é¡ã®æ»æãé²ããã¨ã§ããã¦ã§ããµã¤ãã»ãã¥ãªãã£ã®ããæ£å¼ãªå®ç¾©ã¯ã許å¯ããã¦ããªãã¢ã¯ã»ã¹ã使ç¨ãæ¹å¤ãç ´å£ãã¾ãã¯æ··ä¹±ããã¦ã§ããµã¤ããä¿è·ãããã¨ã§ãã
广çãªã¦ã§ããµã¤ãã»ãã¥ãªãã£ã§ã¯ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã®è¨å®ããã¹ã¯ã¼ãã®ä½æã¨æ´æ°ã«é¢ããããªã·ã¼ãããã³ã¯ã©ã¤ã¢ã³ãå´ã®ã³ã¼ããªã©ãã¦ã§ããµã¤ãå ¨ä½ã«ãããè¨è¨ä½æ¥ãå¿ è¦ã§ãããã¹ã¦ä¸åã«èãããããããã¾ãããããµã¼ãã¼ãµã¤ãã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã使ç¨ãã¦ããå ´åãå¤ãã®ä¸è¬çãªæ»æã«å¯¾ãã¦ãããã©ã«ãã§ãå ç¢ã§ããèãæãããé²å¾¡ã¡ã«ããºã ãã»ã¼ç¢ºå®ã«æå¹ã«ãªãã¾ããHTTPS ãæå¹ã«ãããªã©ãä»ã®æ»æã¯ã®è¨å®ãéãã¦è»½æ¸ã§ãã¾ããæå¾ã«ãæãããªééããç¯ãããã©ããã確èªããã®ã«å½¹ç«ã¤ãå ¬éããã¦ããèå¼±æ§ã¹ãã£ããã¼ã«ãããã¾ãã
ãã®è¨äºã®æ®ãã®é¨åã§ã¯ãããã¤ãã®ä¸è¬çãªè å¨ã¨ããµã¤ããä¿è·ããããã«å®è¡ã§ããç°¡åãªæé ã®è©³ç´°ã«ã¤ãã¦èª¬æãã¾ãã
ã¡ã¢: ããã¯å°å ¥ãããã¯ã§ãããã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã«ã¤ãã¦èãå§ããã®ã«å½¹ç«ã¤ããã«è¨è¨ããã¦ãã¾ãããç¶²ç¾ çãªãã®ã§ã¯ããã¾ããã
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ä¸ã®è å¨
ãã®ã»ã¯ã·ã§ã³ã§ã¯ãæãä¸è¬çãªã¦ã§ããµã¤ãã®è å¨ãããã¤ãç´¹ä»ããããããã©ã®ããã«è»½æ¸ãããã®ãã示ãã¾ãããèªã¿ã«ãªã£ãã¨ããã§ã¯ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ããã©ã¦ã¶ã¼ããæ¥ããã¼ã¿ã«ã¤ãã¦ä¿¡é ¼ãã¦ããããã¾ãã¯ååã«å¦æ³çã§ã¯ãªãå ´åã«ãè å¨ãæã广çã§ãããã¨ã«æ³¨æãã¦ãã ããã
ã¯ãã¹ãµã¤ãã¹ã¯ãªããã£ã³ã° (XSS)
XSS ã¯ãæ»æè ãã¦ã§ããµã¤ããéãã¦ä»ã®ã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã¼ã«ã¯ã©ã¤ã¢ã³ããµã¤ãã®ã¹ã¯ãªãããæ¿å ¥ãããã¨ãå¯è½ã«ããä¸é£ã®æ»æã表ãããã«ä½¿ç¨ãããç¨èªã§ããæ³¨å ¥ãããã³ã¼ãã¯ãµã¤ããããã©ã¦ã¶ã¼ã«éä¿¡ããããããã³ã¼ãã¯ä¿¡é ¼ããã¦ãããã¦ã¼ã¶ã¼ã®ãµã¤ãèªè¨¼ Cookie ãæ»æè ã«éä¿¡ãããªã©ã®ãã¨ãå¯è½ã§ããæ»æè ã Cookie ãæã£ã¦ããã¨ãããããã¦ã¼ã¶ã¼ã§ãããã®ããã«ãµã¤ãã«ãã°ã¤ã³ããã¯ã¬ã¸ããã«ã¼ãã®è©³ç´°ã¸ã®ã¢ã¯ã»ã¹ãé£çµ¡å ã®è©³ç´°ã®è¡¨ç¤ºããã¹ã¯ã¼ãã®å¤æ´ãªã©ãã¦ã¼ã¶ã¼ãã§ãããã¨ãªãä½ã§ãã§ãã¾ãã
ã¡ã¢: XSS èå¼±æ§ã¯ãä»ã®ã©ã®ç¨®é¡ã®ã»ãã¥ãªãã£ã®è å¨ãããæ´å²çã«ä¸è¬çã§ãã
XSS èå¼±æ§ã¯ããµã¤ããæ¿å ¥ãããã¹ã¯ãªããããã©ã¦ã¶ã¼ã«è¿ãæ¹æ³ã«åºã¥ãã¦ãåå°åã¨èç©åã«åãããã¾ãã
- ãµã¼ãã¼ã«æ¸¡ãããã¦ã¼ã¶ã¼ã³ã³ãã³ãããã ã¡ã«è¿ããã夿´ãããã«ãã©ã¦ã¶ã¼å´ã§è¡¨ç¤ºãããå ´åã«ãXSS ã®èå¼±æ§ãåæ ããã¾ããå
ã®ã¦ã¼ã¶ã¼ã³ã³ãã³ãã®ã¹ã¯ãªããã¯ãã¹ã¦ãæ°ãããã¼ã¸ãèªã¿è¾¼ã¾ããã¨ãã«å®è¡ããã¾ãããã¨ãã°ãæ¤ç´¢èªã URL 弿°ã¨ãã¦ã¨ã³ã³ã¼ãããããããã®èªãçµæã¨ä¸ç·ã«è¡¨ç¤ºããããµã¤ãæ¤ç´¢æ©è½ãèãã¦ã¿ã¾ããããæ»æè
ã¯æªæã®ããã¹ã¯ãªããã弿°ã¨ãã¦å«ãæ¤ç´¢ãªã³ã¯ (ä¾:
https://developer.mozilla.org?q=beer<script%20src="/proxy/example.com/tricky.js"></script>) ã使ãããããå¥ã®ã¦ã¼ã¶ã¼ã«ã¡ã¼ã«ã§éä¿¡ãããã¨ãã§ãã¾ããã¿ã¼ã²ããã¦ã¼ã¶ã¼ããã®ãé¢é£ãªã³ã¯ããã¯ãªãã¯ããã¨ãæ¤ç´¢çµæã表示ãããã¨ãã«ã¹ã¯ãªãããå®è¡ããã¾ãããã§ã«èª¬æããããã«ãããã«ããæ»æè ã¯ã¿ã¼ã²ããã¦ã¼ã¶ã¼ã¨ãã¦ãµã¤ãã«å ¥ãããã«å¿ è¦ãªãã¹ã¦ã®æ å ±ãå¾ãããã¦ã¼ã¶ã¼ã¨ãã¦è³¼å ¥ããããé£çµ¡å æ å ±ãå ±æãããããå¯è½æ§ãããã¾ãã - æªæã®ããã¹ã¯ãªãããã¦ã§ããµã¤ãã«ä¿åããããã®å¾ãä»ã®ã¦ã¼ã¶ã¼ãç¥ããªããã¡ã«å®è¡ãããããã«å¤æ´ãããªãã¾ã¾å表示ãããã¨ãæ°¸ç¶ç㪠XSS ã®èå¼±æ§ãçºçãã¾ãããã¨ãã°ã夿´ããã¦ããªã HTML ãå«ãã³ã¡ã³ããåãä»ãããã£ã¹ã«ãã·ã§ã³æ²ç¤ºæ¿ã¯ãæ»æè ããã®æªæã®ããã¹ã¯ãªãããåãè¾¼ã¾ããå¯è½æ§ãããã¾ããã³ã¡ã³ãã表示ãããã¨ãã¹ã¯ãªãããå®è¡ãããã¦ã¼ã¶ã¼ã®ã¢ã«ã¦ã³ãã«ã¢ã¯ã»ã¹ããããã«å¿ è¦ãªæ å ±ãæ»æè ã«éä¿¡ãããå¯è½æ§ãããã¾ãããã®ç¨®ã®æ»æã¯éå¸¸ã«æåã§å¼·åã§ããæ»æè ã¯è¢«å®³è ã¨ç´æ¥é¢ããããããªããããããªãããã§ãã
POST ã¾ã㯠GET ãªã¯ã¨ã¹ãããã®ãã¼ã¿ã XSS ã®èå¼±æ§ã®æãä¸è¬çãªåå ã§ããããã©ã¦ã¶ã¼ã«ãã£ã¦è¡¨ç¤ºããã Cookie ãã¼ã¿ãã¢ãããã¼ãããã¦è¡¨ç¤ºãããã¦ã¼ã¶ã¼ãã¡ã¤ã«ãªã©ããã©ã¦ã¶ã¼ããã®ãã¼ã¿ã¯ãã¹ã¦æ½å¨çã«èå¼±ã§ãã
XSS ã®èå¼±æ§ã«å¯¾ããæåã®é²å¾¡çã¯ãã³ã¼ããå®è¡ããããã®å½ä»¤ãå«ãå¯è½æ§ããããã¼ã¯ã¢ãããåé¤ã¾ãã¯ç¡å¹ã«ãããã¨ã§ããHTML ã®å ´åãããã«ã¯ <script>ã<object>ã<embed>ã<link> ãªã©ã®è¦ç´ ãå«ã¾ãã¾ãã
ã¹ã¯ãªãããå®è¡ãããããµã¼ãã¼ã³ã¼ãã®å®è¡ã«å½±é¿ãä¸ããããããã¨ãã§ããªãããã«ã¦ã¼ã¶ã¼ãã¼ã¿ã夿´ããããã»ã¹ã¯ãå ¥åãµãã¿ã¤ãºã¨å¼ã°ãã¾ããå¤ãã®ã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã¯ãããã©ã«ãã§ HTML ãã©ã¼ã ããã®ã¦ã¼ã¶ã¼å ¥åãèªåçã«ãµãã¿ã¤ãºãã¾ãã
SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³
SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ã®èå¼±æ§ã«ãããæªæã®ããã¦ã¼ã¶ã¼ã¯ãã¼ã¿ãã¼ã¹ä¸ã§ä»»æã® SQL ã³ã¼ããå®è¡ãããã¨ãã§ããã¦ã¼ã¶ã¼ã®è¨±å¯ã«é¢ä¿ãªããã¼ã¿ã¸ã®ã¢ã¯ã»ã¹ã夿´ãåé¤ãã§ãã¾ããã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æãæåããã¨ãID ãå½è£ ãããã管çè æ¨©éãæã¤æ°ãã ID ã使ãããããµã¼ãã¼ä¸ã®ãã¹ã¦ã®ãã¼ã¿ã«ã¢ã¯ã»ã¹ãããããã¼ã¿ãç ´å£ã¾ãã¯å¤æ´ãã¦ä½¿ç¨ã§ããªããªãå¯è½æ§ãããã¾ãã
SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ã®ç¨®é¡ã«ã¯ãã¨ã©ã¼ãã¼ã¹ã® SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ããã¼ã«ã¨ã©ã¼ã«åºã¥ã SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ãããã³æéãã¼ã¹ã® SQL ã¤ã³ã¸ã§ã¯ã·ã§ã³ãããã¾ãã
ãã¼ã¹ã¨ãªã SQL ã¹ãã¼ãã¡ã³ãã«æ¸¡ãããã¦ã¼ã¶ã¼å
¥åãã¹ãã¼ãã¡ã³ãã®æå³ã夿´ããå¯è½æ§ãããå ´åã«ããã®èå¼±æ§ãåå¨ãã¾ãããã¨ãã°ã次ã®ã³ã¼ãã¯ãHTML ãã©ã¼ã ããæä¾ãããç¹å®ã®åå (userName) ãæã¤ãã¹ã¦ã®ã¦ã¼ã¶ã¼ãä¸è¦§è¡¨ç¤ºãããã¨ãç®çã¨ãã¦ãã¾ãã
statement = "SELECT * FROM users WHERE name = '" + userName + "';"
ã¦ã¼ã¶ã¼ãå®åãæå®ããå ´åããã®ã¹ãã¼ãã¡ã³ãã¯æå³ããã¨ããã«æ©è½ãã¾ãããã ããæªæã®ããã¦ã¼ã¶ã¼ã¯ userName ã« a';DROP TABLE users; SELECT * FROM userinfo WHERE 't' = 't ã¨æå®ããã ãã§ããã® SQL ã¹ãã¼ãã¡ã³ãã®åä½ã次ã®ä¾ã®æ°ããã¹ãã¼ãã¡ã³ãã«å®å
¨ã«å¤æ´ããå¯è½æ§ãããã¾ãã
SELECT * FROM users WHERE name = 'a';DROP TABLE users; SELECT * FROM userinfo WHERE 't' = 't';
夿´ãããæã¯ãusers ãã¼ãã«ãåé¤ããuserinfo ãã¼ãã«ãããã¹ã¦ã®ãã¼ã¿ã鏿ãã (ãã¹ã¦ã®ã¦ã¼ã¶ã¼ã®æ
å ±ã表示ãã) æå¹ãª SQL æã使ãã¾ããããã¯ãæ¿å
¥ãããããã¹ãã®æåã®é¨å (a';) ãå
ã®æã宿ãããããã«æ©è½ãã¾ãã
ãã®ç¨®ã®æ»æãåé¿ããã«ã¯ãSQL ã¯ã¨ãªã¼ã«æ¸¡ãããã¦ã¼ã¶ã¼ãã¼ã¿ãã¯ã¨ãªã¼ã®æ§è³ªã夿´ã§ããªãããã«ããå¿ è¦ãããã¾ãããããè¡ã 1 ã¤ã®æ¹æ³ã¯ãSQL ã§ç¹å¥ãªæå³ãæã¤ã¦ã¼ã¶ã¼å ¥åå ã®ãã¹ã¦ã®æåãã¨ã¹ã±ã¼ããããã¨ã§ãã
ã¡ã¢: SQL ã¹ãã¼ãã¡ã³ãã¯ã' æåãæååãªãã©ã«ã®éå§ã¨çµäºã¨ãã¦æ±ãã¾ãããã®æåã®åã«åè¨å·ãå ¥ãã (\') ãã¨ã§ãã·ã³ãã«ãã¨ã¹ã±ã¼ããã代ããã«ãããæå (æååã®ä¸é¨) ã¨ãã¦æ±ãããã« SQL ã«æç¤ºãã¾ãã
æ¬¡ã®æã§ã¯ã' æåãã¨ã¹ã±ã¼ããã¾ããSQL ã¯ååã太åã®æååå ¨ä½ã¨ãã¦è§£éãã¾ã (ããã¯é常ã«å¥å¦ãªååã§ãããæå®³ã§ã¯ããã¾ãã)ã
SELECT * FROM users WHERE name = 'a\';DROP TABLE users; SELECT * FROM userinfo WHERE \'t\' = \'t';
ã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã¯ãã°ãã°ããªãã®ããã«ã¨ã¹ã±ã¼ãããæåã®é¢åãè¦ãã§ãããããã¨ãã°ãDjango ã¯ã¯ã¨ãªã¼ã»ãã (ã¢ãã«ã¯ã¨ãªã¼) ã«æ¸¡ãããã¦ã¼ã¶ã¼ãã¼ã¿ã確å®ã«ã¨ã¹ã±ã¼ããããããã«ãã¾ãã
ã¡ã¢: ãã®ã»ã¯ã·ã§ã³ã¯ããã¦ã£ãããã£ã¢ã®æ å ±ã«å¤§ããä¾åãã¦ãã¾ãã
ã¯ãã¹ãµã¤ããªã¯ã¨ã¹ããã©ã¼ã¸ã§ãª (CSRF)
CSRF æ»æã¯ãæªæã®ããã¦ã¼ã¶ã¼ãä»ã®ã¦ã¼ã¶ã¼ã®è³æ ¼æ å ±ã使ç¨ãã¦ããã®ã¦ã¼ã¶ã¼ã®ç¥ããªããã¡ã«åæãªãã§ã¢ã¯ã·ã§ã³ãå®è¡ãããã¨ãå¯è½ã«ãã¾ãã
ãã®ç¨®ã®æ»æã¯ãä¾ã§æããã説æããã¦ãã¾ãã Josh ã¯ãç¹å®ã®ãµã¤ãã§ãã°ã¤ã³ã¦ã¼ã¶ã¼ãã¢ã«ã¦ã³ãåã¨éé¡ãå«ã HTTP POST ãªã¯ã¨ã¹ãã使ç¨ãã¦ç¹å®ã®ã¢ã«ã¦ã³ãã«ééã§ãããã¨ãç¥ã£ã¦ããæªæã®ããã¦ã¼ã¶ã¼ã§ãã Josh ã¯ãèªåã®éè¡ã®è©³ç´°ã¨éé¡ãé ããã£ã¼ã«ãã¨ãã¦å«ããã©ã¼ã ã使ãããããä»ã®ãµã¤ãã¦ã¼ã¶ã¼ã«ã¡ã¼ã«ã§éä¿¡ãã¾ã ([éä¿¡] ãã¿ã³ã¯ [æ©ãéæã¡ã«ãªã] ãµã¤ãã¸ã®ãªã³ã¯ã¨ãã¦å½è£
)ã
ã¦ã¼ã¶ã¼ã[éä¿¡]ãã¿ã³ãã¯ãªãã¯ããã¨ããã©ã³ã¶ã¯ã·ã§ã³ã®è©³ç´°ã¨ããµã¤ãã«é¢é£ä»ãããã¦ãããã©ã¦ã¶ã¼ãè¦æ±ããã¯ã©ã¤ã¢ã³ãå´ã® Cookie ãå«ã HTTP POST ãªã¯ã¨ã¹ãããµã¼ãã¼ã«éä¿¡ããã¾ã (ãªã¯ã¨ã¹ãã«é¢é£ãµã¤ãã® Cookie ã追å ããã®ã¯é常ã®ãã©ã¦ã¶ã¼ã®åä½ã§ã)ããµã¼ãã¼ã¯ Cookie ããã§ãã¯ãããããã使ç¨ãã¦ã¦ã¼ã¶ã¼ããã°ã¤ã³ãã¦ãã¦ãã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ããæ¨©éãæã£ã¦ãããã©ããã夿ãã¾ãã
ãã®çµæãåå¼ãµã¤ãã«ãã°ã¤ã³ãã¦ããéã« [éä¿¡] ãã¿ã³ãã¯ãªãã¯ãããã¹ã¦ã®ã¦ã¼ã¶ã¼ãåå¼ãè¡ããã¨ã«ãªãã¾ãã Josh ã¯éæã¡ã«ãªãã¾ãã
ã¡ã¢: ããã§ã®ããªãã¯ã¯ãJosh ãã¦ã¼ã¶ã¼ã® cookie (ã¾ãã¯ã¢ã¯ã»ã¹è³æ ¼æ å ±) ã«ã¢ã¯ã»ã¹ããå¿ è¦ããªããã¨ã§ããã¦ã¼ã¶ã¼ã®ãã©ã¦ã¶ã¼ã¯ãã®æ å ±ãä¿åããé¢é£ãããµã¼ãã¼ã¸ã®ãã¹ã¦ã®ãªã¯ã¨ã¹ãã«èªåçã«å«ãã¾ãã
ãã®ç¨®ã®æ»æãé²ã 1 ã¤ã®æ¹æ³ã¯ããµã¼ãã¼ã POST ãªã¯ã¨ã¹ãã«ã¦ã¼ã¶ã¼åºæã®ãµã¤ãçæã®ã·ã¼ã¯ã¬ããæ
å ±ãå«ãããã¨ãè¦æ±ãããã¨ã§ãã転éã«ä½¿ç¨ãããã¦ã§ããã©ã¼ã ãéä¿¡ããã¨ãã«ãã·ã¼ã¯ã¬ããããµã¼ãã¼ã«ãã£ã¦æä¾ããã¾ãããã®æ¹æ³ã§ã¯ããµã¼ãã¼ããã¦ã¼ã¶ã¼ã«æä¾ããã¦ããã·ã¼ã¯ã¬ãããç¥ã£ã¦ããå¿
è¦ãããããã Josh ã¯ç¬èªã®ãã©ã¼ã ã使ã§ãã¾ããããã¨ãå½¼ãã·ã¼ã¯ã¬ãããè¦ã¤ãã¦ç¹å®ã®ã¦ã¼ã¶ã¼ã®ããã«ãã©ã¼ã ã使ããã¨ãã¦ããå½¼ã¯ãã¯ããã®åããã©ã¼ã ã使ç¨ãã¦ãã¹ã¦ã®ã¦ã¼ã¶ã¼ãæ»æãããã¨ã¯ã§ããªãã§ãããã
ã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã«ã¯ããã®ãã㪠CSRF 鲿¢ã¡ã«ããºã ãå«ã¾ãã¦ãããã¨ãããããã¾ãã
ãã®ä»ã®è å¨
ãã®ä»ã®ä¸è¬çãªæ»æ/èå¼±æ§ã¯æ¬¡ã®ã¨ããã§ãã
- ã¯ãªãã¯ã¸ã£ããã³ã°ããã®æ»æã§ã¯ãæªæã®ããã¦ã¼ã¶ã¼ãç®ã«è¦ãããããã¬ãã«ãµã¤ãã®ã¯ãªãã¯ããã¤ã¸ã£ãã¯ãããã®ä¸ã«ããé表示ã®ãã¼ã¸ã«ã«ã¼ãã£ã³ã°ãã¾ãããã®ãã¯ããã¯ã¯ãä¾ãã°ãåæ³çãªéè¡ã®ãµã¤ãã表示ããããæ»æè
ã«ãã£ã¦å¶å¾¡ãããç®ã«è¦ããªã
<iframe>ã«ãã°ã¤ã³è³æ ¼æ å ±ããã£ããã£ããããã«ä½¿ç¨ãããããããã¾ãããã¯ãªãã¯ã¸ã£ãã¯ã使ç¨ãã¦ã表示ããã¦ãããµã¤ãä¸ã®ãã¿ã³ãã¦ã¼ã¶ã¼ã«ã¯ãªãã¯ããããã¨ãã§ãã¾ãããå®éã«ã¯ã¾ã£ããéããã¿ã³ãç¡æèã«ã¯ãªãã¯ãã¦ãã¾ãã対å¿çã¨ãã¦ããµã¤ãã«ä»ã®ãµã¤ãã® iframe ãåãè¾¼ã¾ããªãããã«é©å㪠HTTP ãããã¼ãè¨å®ãããã¨ã§é²ããã¨ãã§ãã¾ãã - Denial of Service (DoS)ãDoS ã¯éå¸¸ãæ£å½ãªã¦ã¼ã¶ã¼ã®ãµã¤ãã¸ã®ã¢ã¯ã»ã¹ã妨害ãããããã«ãå½ã®ãªã¯ã¨ã¹ãã§å¯¾è±¡ã®ãµã¤ããããµãããããã¨ã§éæããã¾ãããªã¯ã¨ã¹ãã¯åç´ã§å¤æ°ããå¾ãããã¾ãã¯åã ã«å¤§éã®ãªã½ã¼ã¹ãæ¶è²»ãå¾ã (ä¾ãã°ãé ãèªã¿åãã¾ãã¯å¤§ããªãã¡ã¤ã«ã®ã¢ãããã¼ã) ãã®ã§ããDoS é²å¾¡ã¯éå¸¸ãæ£å½ãªã¡ãã»ã¼ã¸ã®ééã許å¯ããªããããæªãããã©ãã£ãã¯ãèå¥ãã¦ãããã¯ãããã¨ã«ãã£ã¦æ©è½ãã¾ãããããã®é²å¾¡ã¯é常ãã¦ã§ããµã¼ãã¼ã®åã¾ãã¯å é¨ã«ããã¾ã (ãããã¯ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³èªä½ã®ä¸é¨ã§ã¯ããã¾ãã)ã
- ãã£ã¬ã¯ããªã¼ãã©ãã¼ãµã« (ãã¡ã¤ã«ã¨é示)ããã®æ»æã§ã¯ãæªæã®ããã¦ã¼ã¶ã¼ã ã¦ã§ããµã¼ãã¼ã®ãã¡ã¤ã«ã·ã¹ãã ã®ã¢ã¯ã»ã¹ã§ããªãé¨åã«ã¢ã¯ã»ã¹ã試ã¿ã¾ãããã®èå¼±æ§ã¯ãã¦ã¼ã¶ã¼ããã¡ã¤ã«ã·ã¹ãã ã®ããã²ã¼ã·ã§ã³æåãå«ããã¡ã¤ã«å (ãã¨ãã°
../../) ãæ¸¡ããã¨ãã§ããå ´åã«çºçãã¾ãã解決çã¯ã使ç¨ããåã«å ¥åããµãã¿ã¤ãºãããã¨ã§ãã - ãã¡ã¤ã«ã¤ã³ã¯ã«ã¼ãããã®æ»æã§ã¯ãã¦ã¼ã¶ã¼ã¯ãµã¼ãã¼ã«æ¸¡ããããã¼ã¿ã表示ã¾ãã¯å®è¡ããããã®ãæå³ããªãããã¡ã¤ã«ãæå®ãããã¨ãã§ãã¾ãããã®ãã¡ã¤ã«ããã¼ããããã¨ãã¦ã§ããµã¼ãã¼ã¾ãã¯ã¯ã©ã¤ã¢ã³ããµã¤ãã§å®è¡ããã (XSS æ»æã«ã¤ãªãã) å¯è½æ§ãããã¾ãã解決çã¯ã使ç¨ããåã«å ¥åããµãã¿ã¤ãºãããã¨ã§ãã
- ã³ãã³ãã¤ã³ã¸ã§ã¯ã·ã§ã³ãã³ãã³ãã¤ã³ã¸ã§ã¯ã·ã§ã³æ»æã«ãããæªæã®ããã¦ã¼ã¶ã¼ã¯ãã¹ã OS ã§ä»»æã®ã·ã¹ãã ã³ãã³ããå®è¡ãããã¨ãã§ãã¾ãã解決çã¯ãã·ã¹ãã ã³ã¼ã«ã§ä½¿ç¨ãããåã«ã¦ã¼ã¶ã¼å ¥åããµãã¿ã¤ãºãããã¨ã§ãã
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£è å¨ã®å æ¬çãªä¸è¦§ã«ã¤ãã¦ã¯ãCategory: Web security exploits (Wikipedia) ããã³ Category: Attack (Open Web Application Security Project) ãåç §ãã¦ãã ããã
ããã¤ãã®éè¦ãªã¡ãã»ã¼ã¸
ã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ããã©ã¦ã¶ã¼ããã®ãã¼ã¿ãä¿¡é ¼ãã¦ããå ´åãåã®ã»ã¯ã·ã§ã³ã®ã»ãã¥ãªãã£ä¸ã®æªç¨ã®ã»ã¨ãã©ãã¹ã¦ãæåãã¾ããã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ãåä¸ãããããã«ä»ã«ä½ããã¦ãããã©ã¦ã¶ã¼ãã表示ãããåãSQL ã¯ã¨ãªã¼ã§ä½¿ç¨ãããåãã¾ã㯠OS ããã¡ã¤ã«ã·ã¹ãã ã®å¼ã³åºãã«æ¸¡ãããåã«ããã¹ã¦ã®ã¦ã¼ã¶ã¼çºä¿¡ãã¼ã¿ããµãã¿ã¤ãºããå¿ è¦ãããã¾ãã
è¦å:
ã¦ã§ããµã¤ãã®ã»ãã¥ãªãã£ã«ã¤ãã¦å¦ã¶ãã¨ãã§ããæãéè¦ãªæè¨ã¯ããã©ã¦ã¶ã¼ããã®ãã¼ã¿ã決ãã¦ä¿¡ç¨ããªããã¨ã§ããããã«ã¯ GET ãªã¯ã¨ã¹ããPOST ãªã¯ã¨ã¹ããHTTP ãããã¼ã¨ Cookieãããã³ã¦ã¼ã¶ã¼ãã¢ãããã¼ããããã¡ã¤ã«ã® URL 弿°ã®ãã¼ã¿ãå«ã¾ãã¾ããããããã«éãã¾ããããã¹ã¦ã®åä¿¡ãã¼ã¿ã常ã«ãã§ãã¯ãã¦ãµãã¿ã¤ãºãã¦ãã ãããå¸¸ã«ææªã®äºæ
ãæ³å®ãã¦ãã ããã
ããªããåããä»ã®å ·ä½çãªå¯¾çã¯ããã¤ãããã¾ãï¼
- ãã广çãªãã¹ã¯ã¼ã管çã使ç¨ãã¦ãã ããã宿çã«å¤æ´ãããå¼·åãªãã¹ã¯ã¼ããæ¨å¥¨ãã¾ãããã¹ã¯ã¼ãã«å ãã¦ã¦ã¼ã¶ã¼ãå¥ã®èªè¨¼ã³ã¼ã (é常ã¯ãèªåã®é»è©±ã«éä¿¡ããã SMS ã®ã³ã¼ããªã©ãã¦ã¼ã¶ã¼ã ããææããç©ççãªãã¼ãã¦ã§ã¢ãä»ãã¦é ä¿¡ããããã®) ãå ¥åããå¿ è¦ãããããã«ããµã¤ãã® 2 è¦ç´ èªè¨¼ãæ¤è¨ãã¦ãã ããã
- HTTPS ããã³ HTTP Strict Transport Security (HSTS) ã使ç¨ããããã«è¨å®ãã¾ããHTTPS ã¯ãã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¼éã§éä¿¡ããããã¼ã¿ãæå·åãã¾ããããã«ããããã°ã¤ã³èªè¨¼æ
å ±ãCookieã
POSTãªã¯ã¨ã¹ããã¼ã¿ãããã³ãããã¼æ å ±ãæ»æè ã«å®¹æã«å©ç¨ãããªãããã«ãªãã¾ãã - æãä¸è¬çãªè å¨ (ç¾å¨ã® OWASP ãªã¹ãã¯ãã¡ã) ã追跡ããæãä¸è¬çãªèå¼±æ§ãæåã«è§£æ±ºãã¾ãã
- ãµã¤ãã§èªåã»ãã¥ãªãã£ãã¹ããå®è¡ããã«ã¯ãèå¼±æ§ã¹ãã£ã³ãã¼ã«ã使ç¨ãã¦ãã ãããå¾ã§ãéå¸¸ã«æåããã¦ã§ããµã¤ãã Mozilla ãããã§ãã¦ãããããªãã°å ±å¥¨éãæä¾ãããã¨ã«ãã£ã¦ãã°ãè¦ã¤ããããããã¾ããã
- å¿ è¦ãªãã¼ã¿ã®ã¿ãä¿åãã¦è¡¨ç¤ºãã¦ãã ããããã¨ãã°ãã¦ã¼ã¶ã¼ãã¯ã¬ã¸ããã«ã¼ãæ å ±ãªã©ã®æ©å¯æ å ±ãä¿åããå¿ è¦ãããå ´åã¯ãã¦ã¼ã¶ã¼ãèå¥ã§ããã ãã®ååãªã«ã¼ãçªå·ã表示ãã¦ãã ãããããããã°æ»æè ããããã³ãã¼ãã¦å¥ã®ãµã¤ãã§ä½¿ç¨ãããã¨ã¯ã§ãã¾ãããç¾æç¹ã§æãä¸è¬çãªãã¿ã¼ã³ã¯ãã¯ã¬ã¸ããã«ã¼ãçªå·ã®æå¾ã® 4 æ¡ã ãã表示ãããã¨ã§ãã
ã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã¯ãããä¸è¬çãªèå¼±æ§ã®å¤ãã軽æ¸ããã®ã«å½¹ç«ã¡ã¾ãã
ã¾ã¨ã
ãã®è¨äºã§ã¯ãã¦ã§ãã»ãã¥ãªãã£ã®æ¦å¿µã¨ãã¦ã§ããµã¤ããä¿è·ãããã¨ããä¸è¬çãªè å¨ã«ã¤ãã¦èª¬æãã¾ãããæãéè¦ãªãã¨ã¯ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã¯ã¦ã§ããã©ã¦ã¶ã¼ããã®ãã¼ã¿ãä¿¡é ¼ã§ããªãã¨ãããã¨ã§ãããã¹ã¦ã®ã¦ã¼ã¶ã¼ãã¼ã¿ã¯ã表示ããåã«ãµãã¿ã¤ãºãããã SQL ã¯ã¨ãªã¼ããã¡ã¤ã«ã·ã¹ãã ã³ã¼ã«ã§ä½¿ç¨ããå¿ è¦ãããã¾ãã
ãã®è¨äºã§ãã¢ã¸ã¥ã¼ã«ã®çµããã«æ¥ã¾ããããµã¼ãã¼ãµã¤ãã®ã¦ã§ããµã¤ãããã°ã©ãã³ã°ã®æåã®ã¹ããããã«ãã¼ãã¾ããããããã®åºæ¬æ¦å¿µãå¦ãã§æ¥½ããã§ããã ããã°å¹¸ãã§ããããã§ã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã鏿ãã¦ããã°ã©ãã³ã°ãéå§ããæºåãæ´ãã¾ããã