学习xss的一些记录(一)

最近正在学习关于xss的一些知识,作为一个前端开发者,这个知识也是基础的,以前也没怎么好好学习与总结,深感惭愧,接下来的几天时间好好补习下。

xss是什么

xss的全称是Cross Site Scripting,即跨站脚本。攻击者通过向要攻击的网站中插入一些恶意html,或者js代码,来达到攻击这个网站的其他用户的目的。

xss具体是怎样的

解释太抽象,我要来点案例
下面的一个例子来自这里,借用一下大神的例子,传送门

1.看下面这个表单,它的功能是在输入框中输入一些内容,点提交后,下方会显示你刚才的输入
clipboard.png

比如输入abcd123,就显示成这样了,
clipboard.png

因为你的输入比较正规,所以没什么问题,那如果你输入一些邪恶的呢,比如说下面这个

clipboard.png

那就执行了一段脚本了,这里是一个弹出框,只是用来说明这个脚本执行了,实际攻击中并不是这样用的,因为弹个框没意义,哈哈。但如果这里不是弹出框而是获取cookie呢,如果这段内容还可以被其他用户看到的话,那就可以得到其他用户的cookie了,可以利用这个cookie去登录其他用户的账号,可以看到不该看的,想想就有点小激动有没有。

xss居然还有分类

听说xss分为反射型XSS,储蓄型XSS,DOM XSS,哎哟有三种啊,他们都是什么鬼啊,应该要细细讲来。

反射型XSS

原理是这样的:

Hacker——发现存在反射XSS的URL——根据输出点的环境构造XSS代码——进行编码、缩短(可有可无,是为了增加迷惑性)——发送给受害人——受害打开后,执行XSS代码——完成hacker想要的功能(获取cookies、url、浏览器信息、IP等等)

解释来自于这篇文章,传送门

这里可以看出是通过修改url的方式,因为url的参数可能在页面中用到,那我们就可以在参数中加一些恶意代码,当受害人访问这个链接的时候,这个恶意代码就执行了,当然首先要把这个url发给受害人。

储蓄型XSS

储蓄型也叫持久型,什么情况下才能持久呢,那就是被保存到数据库中了,或者说被后端保存起来了。

原理应该是这样的:

Hacker——发现存在储蓄型XSS的表单或者能保存到后端的地方——根据输出点的环境构造XSS代码——受害人访问这个输出点,执行了XSS代码——完成hacker想要的功能(获取cookies、url、浏览器信息、IP等等)

比如说有一个留言板,大家都可以留言,可以想到这个留言是要保存到后端的,如果这个留言板有xss漏洞的话,我们发表一些恶意代码,然后恶意代码就被保存到服务器上了,当别人访问的时候,恶意代码执行,然后中招。

DOM XSS

参考文章

看了一些文章之后,感觉到DOM XSS也是反射型XSS的一种,因为他的攻击方法也是在url上加参数,可能这个不同点在于对这个参数的处理上吧,反射型XSS应该是后端处理上,DOM XSS应该是javascript基础上处理的,两者差别不大,但与储蓄型xss却又明显区别,差不多是这样。

今天就先记录到这里,搞懂xss是什么和大概攻击状况的问题,下一篇来记录xss后端处理和前端处理的问题。

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

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

相关文章

如何用matlab消除谐波,如何在含有整次谐波和非整次谐波的信号中去除整次谐波?...

陷波器程序如下,麻烦帮忙看看clc;clear all;close all;x 0 : 0.05 : 10;s 210 * exp(-0.25 * x) .* cos(2 * pi * 1.5 * x pi) 110 * exp(0.25 * x) .* cos(2 * pi * 1.0 * x pi/2 );%load data;%scc;Nlength(s); % 信号长度fs1000;…

使用Hot Chocolate创建ASP.NET Core GraphQL服务

GraphQL介绍GraphQL是一个用于API的查询语言,是一个使用基于类型系统来执行查询的服务端运行时。GraphQL对你的API中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余。Hot Chocolate介绍Hot Choc…

MFC中的文件读写技术

计算机室如何管理自身所存放着的大量的信息的呢?windows的磁盘管理程序为我们提供了一套严密而又高效的信息组织形式--硬盘上的信息是以文件的形式被管理的。 面向存储的文件技术 什么是文件?计算机中,一篇文章、一幅图片、一个程序等都是以文…

[转]十五分钟介绍 Redis数据结构

下面是一个对Redis官方文档《A fifteen minute introduction to Redis data types》一文的翻译,如其题目所言,此文目的在于让一个初学者能通过15分钟的简单学习对Redis的数据结构有一个了解。 Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统…

为什么大部分男生比女生高?原因让你意想不到

全世界只有3.14 % 的人关注了爆炸吧知识古往今来,不论东西南北,男女之间的画风都是:这样的▼这样的▼大家可以看出一个早已成为常识的问题:男人普遍比女人要高、要强壮,说白了就是四肢发达。然而,这到底是为…

Android之学习安卓每天成长笔记

8月7日 1 、安装了反编译工具 jad net.sf.jadclipse_3.3.0.jar 或者在help install software http://feeling.sourceforge.net/update/ 2 、生成excel 读取Excel里面的数据搞定 这里使用的是jxl.jar 3、 1、 1 2 、1 2 4 、 1 2 4 7 2 、2 4、 2 4 7 4 、4 7、 7 int sum=0,…

ubuntu 没有php.ini,linux – 在Ubuntu中我对php.ini进行了更改,但没有任何反应

嗨,Apache与PHP运行良好,但我在php.ini中所做的任何更改都没有效果,我甚至删除了该文件的所有内容,然后重启Apache,并运行phpinfo(),并且令人惊讶的是一切都继续运行良好.我正在编辑的文件是出现在phpinfo()中的文件,如“已加载的配置文件”. (/etc/php5/apache2/php.ini)附&am…

MyBatis --教程

2019独角兽企业重金招聘Python工程师标准>>> 本文参考如下这篇优秀文章 http://www.yihaomen.com/article/java/302.htm 一、什么是myBatis? myBatis是一个基于java的持久层框架,它支持普通SQL查询、支持存储过程和高级映射。它使用简单的XML…

System.Text.Json 中的 JsonExtensionData

System.Text.Json 中的 JsonExtensionDataIntro最近两天在排查我们 API 的一个问题,查看源码过程中发现 System.Text.Json 里有一个有意思的 JsonExtensionData在反序列化的时候,如果反序列化的 Model 中没有对应的属性信息,这些信息就会丢失…

双向链表的删除操作

双向链表的删除操作转载于:https://www.cnblogs.com/LoveFishC/archive/2012/12/20/3845821.html

“中科院博士后当辅警”,网友却吵翻了:家里有矿?

全世界只有3.14 % 的人关注了爆炸吧知识这两天的热搜上有一位小哥哥特别引人关注有人看到了发际线有人看到了书香门第的出身更多人留意到了他的学历和身份香港大学博士、中科院博士后四川公安一名辅警↓↓↓缪元颖,四川省成都市公安局高新区分局的一名辅警&#xff…

用java写的常见排序

/** * @author Think *折半插入排序 */ public class binInsertSort { private static int a[]={22,3,43,11,99,88,34,34,33,22,11,1};public static void main(String[] args) {int []b=binInsertSort(a,0,12);for(int i=0;i<b.length;i++){System.out.print(a[i]+&quo…

浅谈python中的一般方法、静态方法(staticmethod)和类方法(classmethod)

我们先来简单谈谈python类中一般方法、静态方法和类方法的区别。1、类中的一般方法一般方法在定义的时候&#xff0c;需要有表示类实例的参数&#xff08;通常以self表示&#xff0c;例如def foo(self,arg1,arg2……)&#xff09;&#xff0c;一般方法不能通过类名.方法名()来调…

matlab损失函数出现nan,[译]在训练过程中loss出现NaN的原因以及可以采取的方法。...

1.梯度爆炸原因&#xff1a;在学习过程中&#xff0c;梯度变得非常大&#xff0c;使得学习的过程偏离了正常的轨迹。症状&#xff1a;观察输出日志(runtime log)中每次迭代的loss值&#xff0c;你会发现loss随着迭代有明显的增长&#xff0c;最后因为loss值太大以致于不能用浮点…

马的种类(七)

鄂伦春马<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />鄂伦春马产于大小兴安岭山区。繁殖性能好&#xff0c;在小群自由交配的情况下&#xff0c;有些母马一年产一驹。生长缓慢&#xff0c;6~7岁时才能结束生长发育期。一般在…

OAuth 2.0 的探险之旅

前言OAuth 2.0 全称是 Open Authorization 2.0, 是用于授权(authorization)的行业标准协议。OAuth 2.0 专注于客户端开发人员的简单性&#xff0c;同时为 Web 应用程序、桌面应用程序、移动设备应用等提供了特定的授权流程。它在2012年取代了 OAuth 1.0, 并且 OAuth 2.0 协议不…

SQL 分页查询语句大全即(查找第N到M条记录的方法)

SQL 分页查询语句大全即&#xff08;查找第N到M条记录的方法&#xff09; 第一种方法&#xff0c;我的原创方法 row2 表示分页行数 page1 表示页码 getnumrow*page select * from (select top row * from (select top getnum * from Newslist order by id desc) order by id …

揭开不一样的世界,这5部纪录片绝对不能错过!

纪录片一直都是增长见识又带给你力量的东西&#xff0c;你可能忙于学业、生活、工作而不能行万里路&#xff0c;但至少你还可以看纪录片&#xff0c;从一方屏幕看到整个世界。今天就为大家整理了5部高分纪录片&#xff0c;文末附领取方式&#xff0c;快收下吧~01与摩根弗里曼一…

Linux Free命令与cache和buffer的主要区别

本文是转载的&#xff0c;不知道为啥不能直接转载到51&#xff0c;所以copy了下&#xff0c;原文地址是&#xff1a;http://blog.sina.com.cn/s/blog_7a1285bb0100ziep.html free 命令相对于top 提供了更简洁的查看系统内存使用情况&#xff0c;用来显示内存的使用情况&#xf…

算术几何平均matlab,算术-几何平均数——高斯的发现

“算术-几何平均数”既不是算术平均数&#xff0c;也不是几何平均数&#xff0c;由素有“数学王子”之称的德国数学家高斯首先发现和研究。算术-几何平均数&#xff0c;当然与“算术平均数”和“几何平均数”这两个概念有很深的关系。我们知道&#xff0c;但凡一个数学概念或定…