xss漏洞总结

        学了好久的漏洞,现在来做个小总结。

目录

        一、xss简要概述

        二、同源策略

        三、主要危害

        四、存在的场景

        五、攻击类型

                反射型、储存型、DOM型

        六、绕过技巧

        七、payload标签

        八、防御

一、xss简要概述

        概述:

                xxs全称:跨站脚本(cross site scrpiting)不要与CSS 混淆。

        原理:

                攻击者在网页中嵌入恶意脚本(通常是javascript),当用户使用浏览器加载嵌入恶意脚 本的网页,恶意脚本就会执行,造成跨站脚本攻击。

二、同源策略

        学到后面才发现要了解同源策略知识。

        1、同源含义

                如果两个页面的域名、协议、端口都相同,则两个页面具有相同的源。

        2、同源策略概念:

                同源策略全称(Same origin policy-SOP)是一种约定,它是浏览器最核心也最基本的安全功能。也就是说浏览器只允许访问同一个源下的服务器资源,限制访问不同源下的资源,以防止潜在的恶意文件。

                如果非同源,共有三种行为受到限制:

  1. Cookie、LocalStorage 和 IndexDB 无法读取。
  2. DOM 无法获得。
  3. Ajax请求不能发送。

三、主要危害

        危害分为两方面:

        针对用户:窃取cookie劫持会话、网络钓鱼、放马挖矿、广告刷流量等。

        针对WEB服务:劫持后台、篡改页面、传播蠕虫、内网扫面等。

四、存在的场景

        重灾区:评论区、留言区、个人信息、订单信息等。

        针对型:站内信、网页即时通讯、私信、意见反馈等。

        存在风险:搜索框、当前目录、图片属性等。        

注意:遇到能够输入的地方都可以尝试插入JS脚本尝试是否弹框。

五、攻击类型

反射型:    储存型:DOM型:
触发过程

黑客构造xss脚本;

正常用户访问携带xss脚本的页面

正常用户访问携带xss脚本的URL正常用户访问携带xss脚本的URL
数据存储数据库URLURL
输出后端Web应用程序后端Web应用程序前端JS
输出位置HTTP响应中HTTP响应中动态构造的DOM节点
是否持久

六、绕过技巧

        当后端服务器过滤掉javascript,alert等常见关键词、单引号、双引号、分号时,可以尝试使用以上不同的标签插入,达到绕过后端过滤的目的!

        1、大小写绕过:<sCrit>alert(1)</sCript>

        2、双写绕过:<sc<script>ript>alert(1)</sc</script>ript>

        3、alert被过滤,可以尝试prompt和confirm

        4、空格被过滤: <img/src""οnerrοr=alert(1)><svg/οnlοad=alert(1)></svg>

        5、长度限制时: <q/oncut=alert(1)> //在限制长度的地方很有效

        7、过滤关键字:

        (如: javascript)可以在属性中的引号内容中使用空字符、空格、TAB换行、注释、特殊的函数,将代码行隔开。如: javas%09cript:alert()、javas%0acript:alert()、javas%0dcript:alert(),其中%0a表示换行。

        8、宽字节绕过:gbxxxx系列的编码,那么我们尝试一下宽字节%cO,%bf,%5c,%df。

        9、编码绕过:十六进制编码、jsfuck编码、url编码、unicode编码。

七、payload标签

        payload标签:

        script 、img 、video 、audio 、svg 、body 、select 、testarea 、iframe等。

         payload函数:

        onerror当出错时触发、onclick 当鼠标点击触发、onmousemove当鼠标移动就触发、onload 当页面加载完成后触发。

        如下例子:

        p标签        #可以直接使用事件触发

        <p/οnmοuseοver=alert(1)>点我</p>

八、防御

        1.设置1HttpOnly,使js获取不到cookie值

        2.输入检查,对用户输入的参数进行过滤

        3.输出检查,数据输出到HTML中可以进行绕过,对输出值进行过滤

        4.对数据进行编码和防御

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

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

相关文章

乐优商城(九)数据同步RabbitMQ

1. 项目问题分析 现在项目中有三个独立的微服务&#xff1a; 商品微服务&#xff1a;原始数据保存在 MySQL 中&#xff0c;从 MySQL 中增删改查商品数据。搜索微服务&#xff1a;原始数据保存在 ES 的索引库中&#xff0c;从 ES 中查询商品数据。商品详情微服务&#xff1a;做…

【力扣hot100】128.最长连续序列

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1&#xff1a; 输入&#xff1a;nums [100,4,200,1,3,2] 输出&#xff1a;4 解…

JavaSE:类与对象

目录 一、前言 二、类与对象的介绍 1.类的定义格式 三、类的实例化 1.类的实例化介绍 2.成员初始化 3.类中方法的实现 四、封装 1.private实现封装 2.getter和setter方法 五、构造方法的使用 1.构造方法的介绍 2.构造方法的特性 六、this引用 1.this的介绍 2.th…

win10在更新黑屏(火绒查杀explorer.exe)屏幕只有鼠标

win10在更新黑屏&#xff08;火绒查杀explorer.exe&#xff09;屏幕只有鼠标 黑屏产生的原因修机过程方法1方法2方法3方法4总结 黑屏产生的原因 微软在Win10系统的最近更新中&#xff0c;为了和360抢夺搜索框的资源&#xff0c;微软进行特定的代码判断&#xff0c;如果在中国地…

rfc793-page36

rfc793原文 If the connection is in any non-synchronized state (LISTEN,SYN-SENT, SYN-RECEIVED), and the incoming segment acknowledgessomething not yet sent (the segment carries an unacceptable ACK), orif an incoming segment has a security level or compart…

jQuery详细教程

文章目录 前言一、安装与快速上手二、直接寻找标签1.ID选择器2.类选择器/样式选择器3.标签选择器4.层级选择器5.多选择器6.属性选择器 三、间接寻找标签1.找兄弟2.找父子 四、值操作五、事件六、样式操作 前言 jQuery是一个快速、简洁的JavaScript框架&#xff0c;是继Prototyp…

樊登读书-《终生成长》【视频笔记 +个人思考】

樊登读书-《终生成长》【视频笔记 个人思考】 成长型思维&#xff1a;能力可以通过努力来培养。 不急于证明。 情绪稳定。 不怕挫败。 不讲排场&#xff0c;这才哪儿到哪儿&#xff0c;这个世界有那么多东西需要去探索和学习。 不怕丢脸&#xff0c;说错了被嘲笑没关系&…

2024年华为OD机试真题-剩余银饰的重量-Python-OD统一考试(C卷)

题目描述: 有N块二手市场收集的银饰,每块银饰的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品。 每一回合,从中选出三块 最重的 银饰,然后一起熔掉。假设银饰的重量分别为 x 、y和z,且 x <= y <= z。那么熔掉的可能结果如下: 如果 x == y == z,那么三块银…

基于树莓派实现 --- 智能家居

最效果展示 演示视频链接&#xff1a;基于树莓派实现的智能家居_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Tr421n7BM/?spm_id_from333.999.0.0 &#xff08;PS&#xff1a;房屋模型的搭建是靠纸板箱和淘宝买的家居模型&#xff0c;户型参考了留学时短租的公寓~&a…

【prompt六】MaPLe: Multi-modal Prompt Learning

1.motivation 最近的CLIP适应方法学习提示作为文本输入,以微调下游任务的CLIP。使用提示来适应CLIP(语言或视觉)的单个分支中的表示是次优的,因为它不允许在下游任务上动态调整两个表示空间的灵活性。在这项工作中,我们提出了针对视觉和语言分支的多模态提示学习(MaPLe),以…

CMake简单使用03资源拷贝

有如下的工代码&#xff1a; 可见bin里面没有任务文件 修改主CMakeLists.txt #需求的最低cmake程序版本 cmake_minimum_required(VERSION 3.2)#本工程的名字&#xff0c;- OpenGL.sln project(OpenGL)#本工程支持的c版本 set(CMAKE_CXX_STANDARD 17)#把需要拷贝的资源路径都放…

大小端是什么?怎么判断?(百度笔试题)

目录 一、前言二、什么是大小端&#xff1f;三、为什么有大小端之分呢&#xff1f;四、判断机器是大端还是小端--百度笔试题 一、前言 先看一段代码&#xff1a; #include<stdio.h> int main() {int n 0x11223344;return 0; }二、什么是大小端&#xff1f; 其实超过⼀…

ConFEDE: Contrastive Feature Decomposition for Multimodal Sentiment Analysis

文章目录 ConFEDE&#xff1a;用于多模态情感分析的对比特征分解文章信息研究目的研究内容研究方法1.总体结构2.损失函数3.Data Sampler4.数据采样算法5.Contrastive Feature Decomposition&#xff08;重点&#xff09; 结果与讨论代码和数据集附录 ConFEDE&#xff1a;用于多…

unicloud 云函数 介绍及使用

普通云函数 callFunction方式云函数&#xff0c;也称之为普通云函数。 uni-app的前端代码&#xff0c;不再执行uni.request联网&#xff0c;而是通过uniCloud.callFunction调用云函数。 callFunction方式避免了服务器提供域名&#xff0c;不暴露固定ip&#xff0c;减少被攻击…

C++对比vector和list

前言 在本篇文章中&#xff0c;我们将会介绍list和vector的优缺点 一、vector vector是动态数据表&#xff0c;底层是一块连续的物理空间 优点 &#x1f31f;&#x1f31f;支持下标随机访问&#xff0c;时间复杂度为O&#xff08;1&#xff09; &#x1f31f;&#x1f31f…

vulnhub prime1通关

目录 环境安装 1.信息收集 收集IP 端口扫描 目录扫描 目录文件扫描 查找参数 打Boss 远程文件读取 木马文件写入 权限提升 方法一 解锁密钥 方法二&#xff1a; linux内核漏洞提权 总结 环境安装 Kali2021.4及其prime靶机 靶机安装&#xff1a;Prime: 1 ~ Vul…

【Deep Learning 8】元学习

&#x1f31e;欢迎来到AI生物医学的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f320;本阶段属于练气阶段&#xff0c;希望各位仙友顺利…

外包管理系统又称科技外包管理系统

外包管理系统是一种专门用于管理外包业务的信息系统。它提供了一系列功能和工具&#xff0c;帮助企业有效地管理与外包相关的各个方面&#xff0c;包括外包项目的策划、执行、监控和评估等。 以下是外包管理系统的一些主要特点和功能&#xff1a; 项目管理&#xff1a;系统支…

C#基于SMTP的邮件发送

准备工作 注册邮箱 首先我们需要注册一个作为发送邮件的邮箱&#xff0c;这一步可以直接进入网易邮箱官网进行注册&#xff0c; 注册地址&#xff1a;https://mail.163.com/ 这里我们可以选择【快速注册】和【普通注册】&#xff0c;如图1-1所示&#xff0c;这里我选择的普…

[OpenCV学习笔记]获取鼠标处图像的坐标和像素值

目录 1、介绍2、效果展示3、代码实现4、源码展示 1、介绍 实现获取鼠标点击处的图像的坐标和像素值&#xff0c;灰度图显示其灰度值&#xff0c;RGB图显示rgb的值。 OpenCV获取灰度值及彩色像素值的方法&#xff1a; //灰度图像&#xff1a; image.at<uchar>(j, i) //j…