xss攻击中受影响的是服务器还是客户端,安全测试基础之 XSS

在web项目安全漏洞中,XSS是最为流程的漏洞类型之一,今天就来介绍一下XSS。

01

XSS介绍

1912b95a715e9a4446de4b2345080b09.png

跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

02

XSS分类

XSS简单的说就是没有做好校验,因为前端的用户输入的数据别人可以拦截,然后嵌入一些脚本代码或者其它的而达到不良的结果,有点类似与sql注入的攻击。

XSS攻击一般有这么三种分类:反射型XSS,存储型XSS,DOM型XSS。接下来,分别介绍一下三种分类,及其差别。

03

反射型XSS

1332d77944ba730747b7b9962ccce87e.png

攻击者事先制作好攻击链接, 需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。

04

存储型XSS

aaa525a0f7d8d31b9baa57dc30d8d2b6.png

代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,每当有用户访问该页面的时候都会触发代码执行,这种XSS非常危险,容易造成蠕虫,大量盗窃cookie。

存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库、内存、文件系统等),下次请求目标页面时不用再提交XSS代码,最典型的例子就是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言就会从数据库中加载出来并显示,于是发生了XSS攻击。

05

DOM型XSS

基于文档对象模型(Document Objeet Model,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM中有很多对象,其中一些是用户可以操纵的,如URI ,location,referrer等。客户端的脚本程序可以通过DOM动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得DOM中的数据在本地执行,如果DOM中的数据没有经过严格确认,就会产生DOM XSS漏洞。

DOM XSS和反射型XSS、存储型XSS的区别在于DOM XSS代码并不需要服务器参与,发出XSS攻击靠的是浏览器的DOM解析,完全是客户端的事情。

举报/反馈

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

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

相关文章

设计模式完结感言

截止到今天终于把23种GoF设计模式和部分未收录在内的模式实现了一遍,设计模式的学习就告一段落了,在以后的时间如果有新的感悟会定期维护相应的博文。 时间跨度为2014-07-01到2015-10-11,经历了一年多的时间。从畏惧模式到理解模式再到真正懂…

IDEA中如何新建一个带有-P目录的项目

IDEA如何新建一个如下图所示的目录结构的项目,具体的操作示意图如下所示: 只需在新建project时候在下面的module的设置里面进行如图所示的更改就可以了。module名字改为:emidas-activity-p 同时将content root路径改为和project location路…

如何获取服务器的地理位置,如何获取Restify服务器的确切IP地址进行监听?

var restify require(restify);var server restify.createServer();server.get(/echo/:name, function (req, res, next) {res.send({name: req.params.name});next();});server.listen(8080, function() {console.log(%s listening at %s, server.name, server.url);});运行…

数据结构与算法——冒泡排序(改进后)

//改进的冒泡程序#include<stdio.h>void BubbleSort(int arr[], int length); int main( ){ int i; int arr[9] {1,1,5,7,2,4,9,6,8}; int lengthsizeof(arr)/sizeof(arr[0]); BubbleSort(arr,length); for(i0;i<length;i) { printf("%d ",arr[i]); } }…

通过web.xml文件自动启动spring容器加载对应的配置文件

在web开发中可以在web.xml文件中配置自启动的servlet或者web容器监听器&#xff0c;借助两者中的任何一者都可以完成启动spring web应用上下文的工作。 下面给出使用web监听器的方式来实现启动是spring容器的配置文件 <span style"font-size:18px;"><?xml…

百度蜘蛛网站分两个服务器,SEOer需要将百度蜘蛛抓取时间降低到1秒以下

网站加载速度过度一定会被搜索引擎惩罚&#xff0c;所以当我们一个站优化之初就应该非常严格地控制百度蜘蛛抓取诊断结果在1秒以内。今天&#xff0c;错误博客( cuowu.com )分享的内容为《SEOer需要将百度蜘蛛抓取时间降低到1秒以下》。希望对大家有所帮助。一、百度官方说法Ba…

前端小结(5)---- iframe

iframe对应的div: <div id"iframezone"><iframe id"iframe" frameborder0 scrollingno height"0" width"0" onload"autoHeight();"></iframe></div> <li><a data-toggle"tab" h…

Maven中Spring-Data-Redis存储对象(redisTemplate)

Redis是一种nosql数据库&#xff0c;在开发中常用做缓存。Jedis是Redis在Java中的redis- client.在此之前&#xff0c;希望已经了解redis的基本使用和Maven的使用。建立Maven Project之后&#xff0c;在POM.xml中添加jedis和spring-data-redis的依赖如下&#xff1a; <depen…

opc服务器网站,OPC 服务器

OPC服务器OPC服务器, 是指按照OPC基金组织规定的OPC规范群开发的软件驱动。OPC服务器作为中间媒介负责从数据源读取数据再跟另外一端的客户端通信。在OPC客户端/服务器的结构图中, 通信的发起端是, 也只能是OPC客户端。客户端和服务器的对话是双向的, 也就是说, 客户端既可以从…

LeetCode 292 Nim Game

LeetCode 292 Nim Game https://leetcode.com/problems/nim-game/ 当能被4整除时&#xff0c;才会输。 bool canWinNim(int n) {return n%4; } 转载于:https://www.cnblogs.com/walker-lee/p/4878435.html

前端学习(1620):前端系列实战课程之提取行间样式

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><!-- 放在头部 --><…

ThreadLocal知识介绍

ThreadLocal为解决多线程的并发问题提供了一种新的思路&#xff0c;使用这个工具类可以优美的编写出多线程程序。 ThreadLocal他不是一个线程&#xff0c;而是线程的一个本地化对象。当工作于多个线程的对象使用ThreadLocal维护变量时&#xff0c;ThreadLocal为每个使用改变量的…

维修变频器和服务器赚钱吗,【转】一个变频器维修老手的7年经验与心得

到今年为止&#xff0c;我在电路板维修行业已经七年了&#xff0c;手里经过的板子不计其数&#xff0c;大的小的&#xff0c;简单的难的都有&#xff0c;帮助很多的有名企业度过很多的难关。现在每个企业都不同程度的用到许多变频器&#xff0c;而不管哪种变频器他 的寿命好像都…

第十三章、拷贝控制

一、拷贝控制操作 1、拷贝构造函数&#xff1a;一个构造函数的一个参数是自身类类型的引用&#xff0c;且额外参数都有默认值 class Foo{ public:Foo(const Foo&); //拷贝构造函数&#xff1b;&#xff1b;最好是const类型&#xff1b;不应该是explicit的 }拷贝构造…

ThreadLocal和线程同步机制的对比

ThreadLocal和线程同步都是为了解决多线程中相同变量的访问冲突问题&#xff0c;那么&#xff0c;二者的区别在哪里&#xff1f;和线程同步机制对比&#xff0c;ThreadLocal有什么优势&#xff1f; 同步机制中通过对象的锁机制保证同一时间只有一个线程来访问变量&#xff0c;这…

关于电脑自动获取和静态IP的问题

无法设置静态IP和设置了静态IP&#xff0c;但是无效的问题。 1、先是重新安装TCP/IP协议 选TCP/IP&#xff0c;点安装&#xff0c;再选择协议&#xff0c;点添加&#xff0c;选从磁盘安装&#xff0c;路径为&#xff1a;C:\Windows\inf\1394.inf&#xff0c;点打开 此时&#x…

javaweb中报404错误

这里只提供了一点建议&#xff0c;404大家都懂得是找不到请求的页面&#xff0c;一般就是URL路径请求错误 但是我最近发现自己出现这个错误的原因是&#xff1a;每次的struts的配置文件的命名空间忘记加在了form表单的action名字所对应的前面&#xff0c;一定不要忘了当自己定…

深入浅出: Java回调机制(异步)

一、什么是回调 回调&#xff0c;回调。要先有调用&#xff0c;才有调用者和被调用者之间的回调。所以在百度百科中是这样的&#xff1a; 软件模块之间总是存在着一定的接口&#xff0c;从调用方式上&#xff0c;可以把他们分为三类&#xff1a;同步调用、回调和异步调用。 回调…

WCF资料

Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4转载于:https://www.cnblogs.com/HQFZ/p/4884243.html

SSH中为什么action需要用多例而dao层和service层为什么就用单例就可以

很简单的道理&#xff0c;就跟你自来水一样&#xff0c;有很多的水龙头&#xff0c;但水管只有一个。为啥要很多水龙头&#xff0c;因为有多个人同时用&#xff1b;为了避免长队&#xff0c;只能这样来分担压力为啥只有一个水管&#xff0c;易维护&#xff0c;集中处理。 使用…