XSS基础知识整理

  • 跨站脚本攻击

    • 反射型
      • 通过输入将脚本嵌入到页面中造成弹窗;一次性的
    • 存储型
      • 原理同反射型;但是输入的内容会保存到数据库中;每次访问都会加载;持续性的
    • DOM型(DOM是一种html文本存储结构,方便对html节点进行处理,前端)
      • 组成
        • 元素节点:标签
        • 文本节点:标签输出的内容
        • 属性节点:标签样式设置
      • 前端存储的js脚本利用DOM结构来管理页面元素、内容和属性(本地处理)
      • 页面展示无需后端数据
      • DOM中可能存在xss的属性(从url中获取信息导致)
        • document.referer属性
        • location属性
        • window.name属性
        • innerHTML属性
        • document.write属性
  • 弹窗方式

    • alert(I);
      • 警告框;阻塞函数;只有一个确认按钮;
    • confirm()
      • 指定消息内容的弹窗;有确认和取消按钮;可以接收返回值
    • prompt()
      • 带有提示内容和输入框的弹窗;含有确认和取消按钮
      • 确认时返回用户输入的内容;取消时返回null
  • 编码方式

    • url编码:
    • html实体编码
    • js编码(unicode编码)
  • xss注入方法(重点掌握其中的方法和书写格式)

    • 图片
      • onerror (图片加载错误时触发)
      • 字符拼接(利用eval)
      • 字符拼接(利用top)
        • (只有两个``这里是为了凸显出有`符号)
      • 编码绕过(了解方法和书写格式)
        • 编码unicode绕过
        • url编码绕过
        • ascii编码
        • hex编码
        • 八进制编码
        • base64编码
    • 事件触发函数(input标签常用)
      • onmouseover
        • 鼠标移过到元素时触发
      • onmouseout
        • 鼠标移出元素时触发
      • onclick
        • 单击触发
      • onmousedown
        • 元素上鼠标按下时触发
      • onmouseup
        • 鼠标抬起时触发
      • oncontextmenu
        • 在元素上按下鼠标右键时触发
      • onfocus
        • 获取焦点时触发(选中触发)
        • 自动将焦点锁定到元素身上 autofocus
      • onblur
        • 失去焦点时触发
        • 竞争焦点,从而触发
      • onfocusin
        • 即将获取焦点时触发
      • onfocusout
        • 即将失去焦点时触发
      • onkeydown
        • 键盘按下按键时触发
      • onkeypress
        • 键盘按下时触发
      • onkeyup
        • 键盘按键抬起时触发
      • onload
        • 页面加载时触发;用在某些引入外部资源的标签中
    • from标签
      • 创建一个表单
    • (````只有两个``)
  • svg标签
    • 矢量图形标签
    • 括号被过滤时可用throw
  • body
    • 主标签;
    • 利用换行符以及autofocus,自动去触发onscroll事件,无需用户去触发








































  • button
  • p标签
    • text

    • text

  • details标签
    • 规定一些用户需求的细节;open属性规定是否可见
    • 详解:HTML
      标签 | 菜鸟教程 (runoob.com)
    • ontoggle:details标签打开或关闭时触发
    • 使用open属性触发,不需手动
  • select
    • 创建下拉列表选项
    • 进行闭合
  • video
    • 创建一个视频框用于播放视频;视频文件需引入
  • audio
    • 音频标签
  • textarea
    • 区域文本标签;如评论区