黑客学习-xss漏洞总结

news2024/12/30 1:56:03

1、什么是xss

先来看案例

在一个输入框中,输入js代码,存放alter()其弹窗,结果可以看到,代码成功执行。这个就是xss漏洞

XSS攻击全称跨站脚本攻击,是一种在Web应用中常见的安全漏洞,它允许用户将恶意代码植入到Web页面中,当其他用户访问此页面时,植入的恶意脚本就会在其他用户的客户端中执行。是为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS

导致xss漏洞存在有几个原因

  1. 对用户提交的数据未进行充分验证和过滤,如未对特殊字符和标签进行转义,导致恶意脚本被注入到Web页面中。
  2. Web应用程序未对输出的数据进行过滤,导致恶意脚本被注入到Web页面中。
  3. Web应用程序将未经过验证和过滤的数据作为JavaScript代码执行,如在URL中传递参数、在HTML标签属性中传递参数等,导致恶意脚本被执行。
  4. Web应用程序使用不安全的JavaScript API,如eval()函数等,导致恶意脚本被执行。

 

2、xss的分类

xss分为三类:

  • 反射性xss
  • 存储型xss
  • dom型xss

反射性xss

反射性XSS,也叫非持久性XSS,是指攻击者将恶意脚本代码作为参数或请求体提交给Web应用程序,服务器将恶意脚本代码反射回到用户的浏览器中执行,从而实现攻击的方式。由于反射性XSS攻击需要用户触发,因此攻击者通常需要通过诱骗用户进行操作来实现攻击。

反射性XSS攻击的过程一般如下:

  • 攻击者构造一个包含恶意脚本的URL,并将其发送给用户或者在论坛等社交媒体平台上发布。
  • 用户点击链接,浏览器向Web服务器发出请求,将恶意脚本作为参数或请求体提交给Web应用程序。
  • 服务器将包含恶意脚本的响应返回给用户的浏览器。
  • 用户的浏览器解析响应,并执行其中的恶意脚本,导致攻击成功。

反射性XSS攻击是一种常见的Web安全漏洞,攻击者可以通过此种方式窃取用户的Cookie、伪造Web页面进行钓鱼攻击、篡改Web页面内容等各种恶意行为。为了防止反射性XSS攻击,开发人员应该加强对用户输入数据的过滤和验证,避免恶意代码被注入到Web页面中。

  • 存储型xss

存储型XSS(也称为持久性XSS)攻击是一种XSS攻击形式,攻击者通过对Web应用程序的数据库进行操纵,将恶意脚本代码存储在Web应用程序的数据存储中,当用户请求包含该恶意代码的Web页面时,恶意脚本代码被解析,并在用户的浏览器中执行。
 

与反射性XSS攻击不同,存储型XSS攻击的恶意脚本代码被存储在服务器端,攻击者可以利用漏洞将其注入到Web应用程序的数据库中。当用户请求包含恶意脚本代码的Web页面时,服务器会从数据库中获取相应的数据,然后将其返回给用户的浏览器,恶意脚本代码随之被执行,从而导致攻击成功。
 

存储型XSS攻击常见于在线社交平台、留言板、电子商务网站等具有用户交互功能的Web应用程序中。攻击者可以通过存储型XSS漏洞,窃取用户的敏感信息、窃取用户的Cookie、伪造Web页面进行钓鱼攻击等各种恶意行为。为了防止存储型XSS漏洞,开发人员应该对用户输入的数据进行充分过滤和验证,并对输出的数据进行过滤,避免恶意脚本代码被存储到Web应用程序的数据库中。

  • dom型xss

DOM型XSS(也称为基于DOM的XSS攻击)是一种XSS攻击形式,攻击者通过在Web页面中使用JavaScript中API,更改页面上的DOM节点,以注入恶意脚本。和存储型XSS、反射型XSS不同,DOM型XSS不涉及到数据的存储和传递,也不依赖于服务器的响应内容,而是针对客户端自身的操作进行攻击。

DOM型XSS攻击的过程一般如下:

  1. 攻击者构造一个包含恶意脚本的URL,并将其发送给用户或者在论坛等社交媒体平台上发布。
  2. 用户点击链接,浏览器向Web服务器发出请求,将恶意脚本作为参数提交给Web应用程序。
  3. Web应用程序将恶意脚本嵌入到Web页面中,并通过JavaScript中的API对其进行解析和执行。
  4. 恶意脚本在浏览器中执行,可以修改Web页面内容、窃取用户的Cookie、伪造Web页面进行钓鱼攻击等各种恶意行为。

为了防止DOM型XSS攻击,开发人员应该在编写JavaScript代码时,规范化传递参数的方式,避免输入数据被当作脚本解析执行。同时,也应该尽量避免直接修改DOM元素的方式,而是使用安全的HTML框架和模板,以降低受到XSS攻击的风险。用户在使用Web应用程序时,也应该保持警惕,不要轻信不明来源的链接和信息,以避免被攻击者利用DOM型XSS漏洞进行攻击。

3、xss靶场练习:dvwa

 

4、 xss的漏洞利用

xss漏洞利用,可以是使用BeEF。BeEF(Browser Exploitation Framework)是一种基于Web的渗透测试框架,可以用来控制几乎所有类型的Web浏览器,包括桌面和移动设备上的浏览器。它可以使渗透测试人员利用XSS漏洞在用户的浏览器中执行特定的JavaScript码,以从用户身上获取敏感信息。BeEF也提供了多种模块,帮助渗透测试人员执行网络漏洞扫描,并在Web浏览器中执行漏洞利用等功能。

以下是kali安装beff步骤:

1、更新系统软件包:

sudo apt-get update
sudo apt-get upgrade

2、安装beef

sudo apt-get install beef-xss

3、启动beef服务

sudo beef-xss

4、启动beef

在浏览器中,在地址栏中输入localhost:3000。打开该页面即可看到BeEF的管理控制台。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式事务 2PC

tip:作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 文章目录 一、简介二、2PC 的运行流程三、2PC 一定能保证数据的一致性吗?四、2PC 的…

软件测试——未来软件测试的5个主要趋势

全球各地的企业每天都在发展变化着,以应对市场挑战,满足日益成熟的客户需求。即使是正在进行的技术进步也会使软件测试专家在实践的过程中更加专注和精确。 2021年给软件测试领域带来了新的技术解决方案,以及质量保证和软件测试的实现。与此同…

Springcloud--异步通信RabbitMq快速入门

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

YOLOv5改进系列(8)——添加SOCA注意力机制

【YOLOv5改进系列】前期回顾: YOLOv5改进系列(0)——重要性能指标与训练结果评价及分析 YOLOv5改进系列(1)——添加SE注意力机制

动态查找表

动态查找表 1.二叉排序树1.1. 定义1.2. 查找过程1.3. 插入过程1.4. 创建二叉排序树1.5. 删除操作(1)被移除的结点是叶子结点(2)被移除的结点只有左子树或者只有右子树;(3)被移除的结点既有左子树…

两张图理解MR与XR

我们知道,AR是在现实世界上叠加虚拟信息和图像,VR是完全模拟的虚拟世界,那么对于MR和XR的概念会稍显复杂,本文试图通过2张图来理解它们,如有不对,祈请纠正。 MR 关于MR,先来看看下面第一张图。 …

vue 3 第三十四章:nextTick

nextTick是Vue3中的一个非常有用的函数&#xff0c;它可以在下一次DOM更新循环结束后执行回调函数。这个函数可以用来解决一些异步更新视图的问题&#xff0c;例如在修改数据后立即获取更新后的DOM节点。以下是一个简单的示例&#xff1a; <template><div><p&g…

华硕无畏灵耀破晓原装Windows10/11系统

第一步&#xff1a;下载原装系统文件 第二步&#xff1a;灵耀/无畏/破晓需要自备16g空u盘安装 第三步&#xff1a;创建u盘分区&#xff0c;第一个分区格式为FAT32(存放TLK引导文件)&#xff0c;第二个分区大小为NTFS&#xff08;存放底包&#xff1a;HDI.OFS.SWP.EDN.KIT&…

Unity Package Manager 使用

项目组开发的工具可以托管到远程仓库里&#xff0c;别的项目 也可以使用。 在Unity工程Assets 下 创建自己的插件目录 运行时 代码 和 编辑器代码 &#xff0c;创建 对应的 程序集&#xff0c;以及package.json 文件 package.json内容&#xff1a;可参考官方的&#xff0c;n…

测试人何去何从?2023年测试工程师突破自我,卷出测试圈...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 2023年测试行业现…

被上司问“测得怎么样了?”我心里慌到不行

目录 前言 你测的怎么样了&#xff1f; 这样回答 初入测试职场 结尾&#xff1a; 前言 说实话&#xff0c;我真想从上面去掉"似乎"两个字&#xff0c;软件测试人&#xff0c;就是苦逼&#xff01;有的人曾抱怨过开发很糟糕&#xff0c;但我们没办法要求开发在会写代…

360浏览器如何屏蔽某搜索网站的热搜

1.安装油猴&#xff08;Tampermonkey插件&#xff09; 下载油猴&#xff1a;官网油猴tampermonkey官网_油猴脚本手机版油猴插件下载 安装&#xff1a;360浏览器安装可以参考这边文章。 地址&#xff1a;http://www.xz7.com/article/86938.html 其实就是下载crx文件后&#xff…

linuxOPS基础_linux沾滞位T(sticky bit)

命令&#xff1a;chmod 语法&#xff1a;# chmod [选项] 文件夹 作用&#xff1a;只允许文件的创建者和root用户删除文件 常用选项&#xff1a;ot 添加粘滞位 ​ o-t 去掉粘滞位 ​ 用法&#xff1a;chmod ot 目录名 示例代码&#xff1a; #chmod ot 含义&#xff1a;给…

复习之linux系统中的文件传输

一、实验环境设定 本节实验需要两台虚拟机&#xff0c;ip与主机在同一网段&#xff0c;可实现ssh连接&#xff01; 1.创建虚拟机westosb 因为之前实验已存在一台虚拟机westosa,因此还需创建一台虚拟机westosb! 使用# westos-vmctl create westosb 创建虚拟机出错&#…

一个软件测试工程师的岗位职责

其实软件测试入门并不难 我们自己生活中就有接触过很多跟软件测试相关的操作。而要是从事软件测试的工作&#xff0c;就是需要对软件进行更加系统的测试&#xff0c;并把你所测试的东西进行归纳总结&#xff0c;对软件整个使用和运行情况做一个系统、规范的报告。 软件测试的学…

初识哈希表

哈希表 1.引入2.哈希思想3.哈希技术的三个关键问题3.1 哈希表容量的设计3.2 哈希技术关键之二&#xff1a;哈希函数哈希函数构造方法哈希函数示例&#xff1a;线性函数哈希函数示例&#xff1a;除留余数法 3.3 哈希技术关键之三:解决冲突策略开放定址法开放定址法——线性探测法…

路径规划算法:基于动物迁徙优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于动物迁徙优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于动物迁徙优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化…

C#实例:多功能Windows窗体应用程序Helloworld_WinForm

有了创建一个Windows窗体应用程序的经验&#xff0c;就可以开始尝试运用更多的控件实现更多丰富的功能界面。以下分享我基于项目Helloworld_WinForm使用常用C#Windows窗体控件实现一些小功能。 每一节标题为所用到的控件&#xff0c;全文以实际制作过程为序编制。 目录 WinFor…

Explorer.exe系统错误,电脑重启后刚开始一段时间正常,过一会桌面任务栏就卡死,可以打开任务管理器

环境: 联想E14 Win10专业版 问题描述: 1.重启系统后刚开始一段时间点击任务栏正常,过一会桌面任务栏就卡死,可以打开任务管理器,任务管理器查看shell infrastructure占用cpu比较多,网上说是微软图片查看软件导致,重置改了默认照片查看器,恢复这个应该不是主要原因 …

数组题目总结 -- 随机数问题

目录 一. O(1) 时间插入、删除和获取随机元素思路和代码&#xff1a;I. 博主的做法II. 东哥的做法III. 其他做法 二. 黑名单中的随机数思路和代码&#xff1a;I. 博主的做法II. 东哥的做法 一. O(1) 时间插入、删除和获取随机元素 题目链接&#xff1a;https://leetcode.cn/pr…