码迷,mamicode.com
首页 > Windows程序 > 详细

alert(1) to win 9

时间:2018-01-04 00:27:17      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:javascrip   htm   style   上下文   进制   replace   info   col   amp   

function escape(s) {
  function htmlEscape(s) {
    return s.replace(/./g, function(x) {
       return { ‘<‘: ‘&lt;‘, ‘>‘: ‘&gt;‘, ‘&‘: ‘&amp;‘, ‘"‘: ‘&quot;‘, "‘": ‘&#39;‘ }[x] || x;       
     });
  }

  function expandTemplate(template, args) {
    return template.replace(
        /{(\w+)}/g, 
        function(_, n) { 
           return htmlEscape(args[n]);
         });
  }
  
  return expandTemplate(
    "                                                \n      <h2>Hello, <span id=name></span>!</h2>         \n      <script>                                       \n         var v = document.getElementById(‘name‘);    \n         v.innerHTML = ‘<a href=#>{name}</a>‘;       \n      <\/script>                                     \n    ",
    { name : s }
  );
}

 

尝试:<img src=# onerror=alert(1)>

技术分享图片

"<"、">" 被编码。输出后的内容,其上下文环境是 javascript ,js编码即可,16进制、8进制或unicode。

技术分享图片

 

alert(1) to win 9

标签:javascrip   htm   style   上下文   进制   replace   info   col   amp   

原文地址:https://www.cnblogs.com/natian-ws/p/8186266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!