当前位置: 首页 > news >正文

xss攻击

一、xss攻击简介

  • 1、OWASP TOP 10之一,XSS被称为跨站脚本攻击(Cross-site-scripting)
  • 2、主要基于java script(JS)完成恶意攻击行为。JS可以非常灵活的操作html、css和浏览器,这使得XSS攻击的“想象”空间特别大。
  • 3、XSS通过将精心构造代码(JS)代码注入到网页中,并由浏览器解释运行这段JS代码,以达到恶意攻击的效果。当用户访问被XSS脚本注入的网页,XSS脚本就会被提取出来。用户浏览器就会解析这段XSS代码,也就是说用户被攻击了。
  • 4、微博、留言板、聊天室等等收集用户输入的地方,都有可能被注入XSS代码,都存在遭受XSS的风险,只要没有对用户的输入进行严格过滤,就会被XSS

二、xss攻击危害

  • 1、盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
  • 2、控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
  • 3、盗窃企业重要的具有商业价值的资料
  • 4、非法转账
  • 5、强制发送电子邮件
  • 6、网站挂马 让更多人的受害
  • 7、控制受害者机器向其它网站发起攻击 卖肉机
  • 8、蠕虫式的DDoS攻击。

三、xss的原理

  • 攻击者对含有漏洞的服务器发起XSS攻击(注入JS代码)。
  • 诱使受害者打开受到攻击的服务器URL。
  • 受害者在Web浏览器中打开URL,恶意脚本执行。

四、XSS攻击的分类

  • 1、反射型

非持久性跨站点脚本攻击

攻击是一次性的,仅对当次的页面访问产生影响存储型

  • 2、持久型跨站点脚本

攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在

  • 3、DOM型

既可能是反射型的,也有可能是存储型的。

基于文档对象模型(Document Objeet Model,DOM)的一种漏洞

五、构造xss攻击脚本

1、常用的html标签

  • <iframe>iframe标签会创建包含另外一个文档的内联框架

                <iframe οnlοad=alert(1)></iframe>

  • <details> 标签通过提供用户开启关闭的交互式控件,规定了用户可见的或者隐藏的需求的补充细节。ontoggle 事件规定了在用户打开或关闭 <details> 元素时触发:

                <details οntοggle=alert(1)>

  • <textarea> textarea标签定义多行的文本输入控件

                <textarea οnfοcus=alert(1) autofocus>

  • <img>img标签向网页中嵌入一幅图像

                <img src=1 οnerrοr=alert(1)>

                <img src=1 οnerrοr=alert("xss")>

  • <svg> 标签用来在HTML页面中直接嵌入SVG 文件的代码。

                <svg οnlοad=alert(1)>

  • <script> script标签用于定义客户端脚本,比如JavaScriptscript

                <script>alert(1)</script>

                <script>alert("xss")</script>

  • script标签既可以包含脚本语句,也可以通过src属性指向外部脚本文件
    • 必需的type属性规定脚本的类型。
    • JavaScript的常见应用是图像操作、表单验证以及动态内容更新。

2、常用的is脚本

  • alert :alert方法用于显示带有一条指定消息和一个确认按钮的警告框
  • YRS,并筢别览器量定尚劉新的资鲁用于获得当前页面的地址
  • location.href:返回当前显示的文档的完整URL
  • onload:-张页面或一幅图像完成加载
  • onsubmit:一个按钮被点击
  • onerror:在加载文档或图像时发生错误

六、构造脚本的方式

  • 弹窗警告
  • 页面嵌套
  • 页面重定向。
  • 弹窗警告并重定向
  • 图片标签利用
  • 绕开过滤的脚本
  • 存储型xss基本演示
  • 访问恶意代码(网站种马)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 容器之docker compose
  • 《简历宝典》08 - 简历中“教育背景”模块如何扬长避短
  • 48、DR+keepalive
  • JS【详解】类 class ( ES6 新增语法 )
  • Golang | Leetcode Golang题解之第227题基本计算器II
  • 架构面试-场景题-单点登录(SSO)怎么实现的
  • ELK日志分析系统概述及部署
  • x264 编码器 AArch64 汇编函数模块关系分析
  • 【数据结构】排序——快速排序
  • 计算机网络体系结构解析
  • 微生活服务平台与元宇宙的融合
  • 《长相思》第二季回归:好剧质量,永恒的王牌
  • 常用录屏软件,分享这四款宝藏软件!
  • C++ STL iter_swap用法和实现
  • 视频汇聚平台EasyCVR设备录像回看请求播放时间和实际时间对不上,是何原因?
  • JavaScript 如何正确处理 Unicode 编码问题!
  • 时间复杂度分析经典问题——最大子序列和
  • 《剑指offer》分解让复杂问题更简单
  • go语言学习初探(一)
  • Gradle 5.0 正式版发布
  • JavaScript对象详解
  • magento 货币换算
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Object.assign方法不能实现深复制
  • ReactNativeweexDeviceOne对比
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 代理模式
  • 浮动相关
  • 计算机常识 - 收藏集 - 掘金
  • 近期前端发展计划
  • 聊一聊前端的监控
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 微信公众号开发小记——5.python微信红包
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 一些css基础学习笔记
  • 用简单代码看卷积组块发展
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #LLM入门|Prompt#3.3_存储_Memory
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • (2.2w字)前端单元测试之Jest详解篇
  • (4)事件处理——(7)简单事件(Simple events)
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Java入门)学生管理系统
  • (LeetCode C++)盛最多水的容器
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET MVC第三章、三种传值方式