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服务

XSS(CrossSite Scripting,跨站脚本)漏洞是一种常见的网络安全漏洞,它允许攻击者在受害者的浏览器中执行恶意脚本。这种漏洞通常发生在Web应用程序中,当应用程序未对用户输入的数据进行充分验证和转义时,攻击者可以注入恶意代码,这些代码在其他用户访问包含这些恶意代码的页面时被执行。

 XSS漏洞的类型

1. 存储型XSS(Stored XSS):
   攻击者将恶意脚本存储在目标服务器上,例如在论坛帖子、用户评论或个人资料中。当其他用户访问包含这些恶意脚本的页面时,脚本会在他们的浏览器中执行。

2. 反射型XSS(Reflected XSS):
   恶意脚本不存储在服务器上,而是通过URL参数或其他用户输入的方式即时注入到响应中。用户点击包含恶意脚本的链接时,脚本会在他们的浏览器中执行。

3. DOM型XSS(DOMbased XSS):
   这种类型的XSS漏洞涉及客户端的JavaScript代码,其中用户的输入直接用于修改页面的DOM环境。攻击者可以通过修改页面的DOM结构来执行恶意脚本。

 XSS攻击的影响

XSS攻击可能导致以下问题:
 窃取用户信息:攻击者可以窃取用户的会话cookie,从而冒充用户身份。
 篡改网页内容:攻击者可以修改网页内容,显示虚假信息或误导用户。
 钓鱼攻击:通过在合法网站上注入恶意内容,诱导用户提供敏感信息。
 传播恶意软件:攻击者可以在用户浏览器中执行恶意代码,下载和安装恶意软件。

 防御措施

为了防止XSS攻击,可以

取以下措施:
 输入验证:对所有用户输入进行验证,确保只接受预期的数据格式和类型。
 输出编码:在将用户输入显示在网页上之前,进行适当的编码,以防止脚本执行。
 使用HTTP头部:如Content Security Policy (CSP),限制网页中可以执行的脚本来源。
 设置Cookie安全属性:使用`HttpOnly`和`Secure`属性,减少通过脚本访问cookie的风险。
 定期更新和打补丁:确保所有软件和库都是最新的,以减少安全漏洞。

XSS漏洞的防御需要开发者和网站管理员的高度重视,通过实施多层次的安全措施,可以有效减少这类攻击的风险。

1.反射性xss

反射型XSS也被称为非持久性XSS,当用户访问一个带有XSS代码的HTML请求时,服务器端接收数据后处理,然后把带有XSS的数据发送到浏览器,浏览器解析这段带有XSS代码的数据后,就造成XSS漏洞,这个过程就像一次反射,所以叫反射型XSS。

例如

 
  1. <?php

  2. echo $_GET["id"];

  3. ?>

可以通过修改id的值构造语句来攻击,例如

id=<script> alert(1) </script>

2.储存性xss

存储型XSS又被称为持久性XSS,存储型XSS是最危险的一种跨站脚本漏洞,当攻击者提交一段 XSS代码后,被服务端接收并存储,当攻击者或用户再次访问某个页面时,这段XSS代码被程序读出来响应给浏览器,造成XSS跨站攻击,这是存储型XSS。

三.xss漏洞例题

找了很多网站发现xss的题实在是有点少只找到了test.ctf8.com这个网站,

第一关:

 应该是要回显直接构造

<script>alert('abc')</script>

 成功(这个网站成功就是回显完成的不错)

第二关 

点了搜索发现submit有变化应该是要闭合前面语句于是F12

 于是payload

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

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

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

相关文章

mysql 多表关联查询性能优化-同一sql不同的执行计划

一、问题背景 相同的sql&#xff0c;不同的日期&#xff0c;执行的时间差异很大&#xff0c;执行计划不一样。执行快时&#xff0c;30ms左右。执行慢时&#xff0c;15s左右。 二、分析结论 1、经过分析&#xff0c;发现不同日期下&#xff0c;sql的执行计划不同&#xff0c;驱…

【Linux】信号之信号的产生详解

&#x1f916;个人主页&#xff1a;晚风相伴-CSDN博客 &#x1f496;如果觉得内容对你有帮助的话&#xff0c;还请给博主一键三连&#xff08;点赞&#x1f49c;、收藏&#x1f9e1;、关注&#x1f49a;&#xff09;吧 &#x1f64f;如果内容有误的话&#xff0c;还望指出&…

Golang——reflect(反射)

反射是指在程序运行期间对程序本身进行访问和修改的能力。 一. 变量的内在机制 变量包含类型信息和值信息类型信息&#xff1a;是静态的元信息&#xff0c;是预先定义好的值信息&#xff1a;是程序运行过程中动态改变的 二. 反射的使用 reflect包封装了反射相关的方法获取类型…

Unity数据持久化2——XML

简介&#xff1a; 基础知识 XML文件格式 XML基本语法 XML属性 练习&#xff1a; C#读取存储XML XML文件存放位置 读取XML文件 练习&#xff1a; 存储修改XML文件 练习&#xff1a; 总结 实践小项目 必备知识点 必备知识点——C#中XML序列化 必备知识点——C#中XML反序列化 必备…

奇偶数递增递减-第13届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第70讲。 奇偶数递增递减&a…

SSE 与 SASE哪个云原生安全框架更加适合

近年来&#xff0c;随着云计算和网络技术的不断发展&#xff0c;出现了一种新的网络安全解决方案——SASE&#xff08;安全访问服务边缘&#xff09;。SASE是一种将网络和安全功能融合到单个基于云的服务中的框架&#xff0c;旨在提供更加安全、高效和便捷的网络访问体验。SASE…

MySQL之Schema与数据类型优化(三)

Schema与数据类型优化 BLOB和TEXT类型 BLOB和TEXT都是为存储很大的数据而设计的字符串数据类型&#xff0c;分别采用二进制和字符方式存储。 实际上它们分别属于两组不同的数据类型家族:字符类型是TINYTEXT&#xff0c;SMALLTEXT,TEXT&#xff0c;MEDIUMTEXT&#xff0c;LONG…

实现本地访问云主机,以及在云主机搭建FTP站点

前言 云计算是一种基于互联网的计算模式&#xff0c;通过网络提供按需访问的计算资源和服务。核心概念是把计算能力视作一种公共资源&#xff0c;用户可以根据自身需求动态分配和管理这些资源。 云主机 ECS (Elastic Compute Server)是一种按需获取的云端服务器&#xff0c;提…

【MySQL】库的操作和表的操作

库的操作和表的操作 一、库的操作1、创建数据库(create)2、字符集和校验规则&#xff08;1&#xff09;查看系统默认字符集以及校验规则&#xff08;2&#xff09;查看数据库支持的字符集&#xff08;3&#xff09;查看数据库支持的字符集校验规则&#xff08;4&#xff09;校验…

【stm32/CubeMX、HAL库】嵌入式实验五:定时器(2)|PWM输出

参考&#xff1a; 【【正点原子】手把手教你学STM32CubeIDE开发】 https://www.bilibili.com/video/BV1Wp42127Cx/?p13&share_sourcecopy_web&vd_source9332b8fc5ea8d349a54c3989f6189fd3 《嵌入式系统基础与实践》刘黎明等编著&#xff0c;第九章定时器&#xff0c…

【Linux】-Zookeeper安装部署[17]

简介 apache ZooKeeper是一个分布式的&#xff0c;开放源码的分布式应用程序协调服务&#xff0c;是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件&#xff0c;提供的功能包括&#xff1a;配置维护、域名服务、分布式同步、组服务等。 除了为Hadoop和H…

五步定位性能瓶颈

一、着手测试前的准备&#xff1a;优化数据流向与系统架构分析 在进行性能测试或系统优化之前&#xff0c;明确数据流向和系统架构的细节是至关重要的步骤。这不仅能够帮助识别潜在的瓶颈&#xff0c;还能确保测试用例设计的全面性与针对性。以下是关键步骤和方法&#xff1a;…

17.3zabbix主动模式和被动模式

主动与被动区别 默认是被动: 被动模式,100个监控,需要100个回合&#xff1b;&#xff08;zabbix-server依次去找每一个agent节点取值&#xff0c;效率低&#xff09; 主动模式,100个监控,需要1个回合&#xff1b;&#xff08;agent节点将自己的信息整理好主动去找zabbix-serve…

QT调用Tinyxml2库解析XML结构文件

在学习SVG结构的时候&#xff0c;发现SVG结构可以通过以XML文件直接解析&#xff0c;所以就去了解了Tinyxml2库的使用&#xff0c;相关教程也比较多。 个人感觉Tinyxml2库比官方的XML解析库更好用&#xff0c;这里做个技术总结&#xff0c;记录Tinyxml2库解析XML文件结构的简单…

计组期末必考大题

一.寻址方式详解 1.直接寻址 指令地址码直接给到操作数所在的存储单元地址 2.间接寻址 A为操作数EA的地址 3.寄存寻址 4.寄存器间接寻址 5.变址寻址 6.基地址寻址 7.小结 二、指令周期详解 一、基本概念 指令周期:去除指令并执行指令所需要的时间指令周期:由若干个CPU周…

分割训练日志的可视化

这一部分主要是将mmdetection训练得到的json文件可视化&#xff0c;代码主要源于github&#xff0c;具体哪一个忘记了&#xff08;readme里面没有原址…&#xff09;是专门做的mmdetection 结果可视化的&#xff0c;非常强&#xff01;&#xff01;。使用时如果出现keyerror的话…

Servlet的request对象

request对象的继承关系 1.HttpServletRequest接口继承了ServletRequest接口&#xff0c;对其父接口进行了扩展&#xff0c;可以处理满足所有http协议的请求 2.HttpServletRequest和ServletRequest都是接口&#xff0c;不能创建对象&#xff0c;因此在tomcat底层定义实现类并创…

文本三剑客之 sed 编辑器

一.sed 概述 1.sed 介绍 sed是一种流编辑器&#xff0c;流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据&#xff0c;这些命令要么从命令行中输入&#xff0c;要么存储在一个 命令文本文件中。 2.sed 的工…

基于python实现搜索的目标站点内容监测系统

基于python实现搜索的目标站点内容监测系统 开发语言:Python 数据库&#xff1a;MySQL所用到的知识&#xff1a;Django框架工具&#xff1a;pycharm、Navicat、Maven 系统功能实现 登录页面 后台的登录一般是为了管理员的管理方便进行一个用户权限的验证。也是为管理员提供的唯…

【贪心算法题目】

1. 柠檬水找零 这一个题目是一个比较简单的模拟算法&#xff0c;只需要根据手里的钱进行找零即可&#xff0c;对于贪心的这一点&#xff0c;主要是在20元钱找零的情况下&#xff0c;此时会出现两种情况&#xff1a;10 5 的组合 和 5 5 5 的组合&#xff0c;根据找零的特点&a…