mXSS - Mutation-based Cross-Site-Scripting ã®ã¯ãªã
ããæ°å¹´ãXSSæ¥çã®æå 端ã§çãä¸ãã£ã¦ãã話é¡ã¨ã㦠mXSS ã¨ãããã®ãããã¾ããmXSS - Mutation-based XSS ã¨ã¯ãä¾ãã° innerHTML ãªã©ãçµç±ãã¦ãã§ã«æ§ç¯ããã¦ããDOMããªã¼ãåç §ããã¨ãã«ãæ¬æ¥ã®DOMæ§é ã¨ã¯ç°ãªãçµæãå¾ã¦ãã¾ãããã®ããã«HTMLæ§é ã®ç ´å£ãå¼ãèµ·ããã¨ããé¡ã®DOM based XSSã®äºç¨®ã¨ãè¨ãã¾ãã
mXSSã«é¢ãã¦ã¯ä»¥ä¸ã®è³æãªã©ãåèã«ãªãã¾ãã
- The innerHTML Apocalypse
- mXSS Attacks: Attacking well-secured Web-Applications by using innerHTML Mutations
ã©ã¡ãã®è³æã«ãæ²è¼ããã¦ãã¾ãããmXSSã®ãã£ããã¨ãªã£ãã®ã¯ ãæç§æ¸ã«è¼ããªãWebã¢ããªã±ã¼ã·ã§ã³ã»ãã¥ãªãã£ï¼1ï¼ï¼ï¼»ããã¯ã²ã©ãï¼½IEã®å¼ç¨ç¬¦ã®è§£é (1/3) - ï¼ ITãã«ãè¨è¼ãããInternet Explorer ã«ãããããã¯ã¯ã©ã¼ãã®è§£éã®åé¡ã§ãå ¸åçã«ã¯IE8以ä¸ã®ãããªã³ã¼ãã§åé¡ãçºçãã¾ãã
<div id="div1"> <input type="text" value="``onmouseover=alert(1)"> â¦æ»æè ãvalueå±æ§ãèªç±ã«è¨å®å¯è½ </div> <div id="div2"></div> <script> document.getElementById("div2").innerHTML = document.getElementById("div1").innerHTML; </script>
ãã®ããã«ãinnnerHTMLãªã©ãéãã¦HTMLãåå¾ããå ´åã«ãæ¬æ¥ã®DOMæ§é ã¨ã¯ç°ãªãæ§é ã表ãHTMLæååãåå¾ã§ãã¦ãã¾ãã¨ããç¹ãmXSSã®èã¨ãªãã¾ãããããããã¨ãæååãã ãã«éããªãå¯è½æ§ã¯ããã¾ããããããã«ããæ¬æ¥ã®DOMæ§é ã¨ã¯ç°ãªãDOMæ§é ã®åæ§ç¯ã«ããXSSã¨ããã®ãéè¦ãªç¹ã§ãã
ã¾ããmXSSã¨ããèå¼±æ§ã®åçãã®ãã®ã¯IEã«éå®ãããªãã¨ããç¹ã«ã注æãå¿
è¦ã§ãã
ããã«ãGareth Heyesæ°ã«ãã Shazzerã使ã£ã¦ã® æ§ã ãªmXSSã®æ»æãã¯ã¿ã¼ãç´¹ä»ããè¨äºãåèã«ãªãã¾ãã®ã§ãmXSSã«èå³ã®ããæ¹ã¯åç §ãã¦ããã¾ãããã
HTML5ã«ããJavaScriptã³ã¼ãéã®å¢å ã«ä¼´ããDOM based XSSãå¢å ããããã«ãããã£ãç¹æ®ãªXSSãå¢ããã®ã¯ãæ»æè è¦ç¹ã¨ãã¦ã¯é常ã«é¢ç½ãã§ããï¼ Enjoy!