一文了解XSS,CSRF,SSRF的区别

前言:

本文章主要介绍一下关于XSS,CSRF,SSRF的区别

目录

前言:

一、XSS

XSS的概述

XSS的原理

XSS的分类

二、CSRF

CSRF概述

CSRF原理

三、SSRF

SSRF概述

SSRF原理

四、XSS,CSRF,SSRF区别


 

一、XSS

XSS的概述

说到XSS首先我们得知道什么是XSS,XSS全称Cross-site Scripting也就是跨站脚本攻击,这么看是不是应该念成CSS呢,但是由于在前端有一种网页技术叫CSS,学过前端开发的小伙伴应该知道CSS,这里不知道的也可以去拓展一下什么是CSS,那么言归正传为了防止混淆,故我们将Cross-site Scripting称之为XSS,在Web安全里,XSS跨站脚本攻击一直被OWASP组织评为安全漏洞危害TOP10里。

XSS的原理

简单来说XSS是利用浏览器具有能够解析JS代码的功能,恶意攻击者将恶意的JS代码嵌入Web页面,当用户浏览至此时,页面会将恶意者嵌入Web页面里的JS代码解析出来,从而达到攻击的效果,可能是个简单的恶作剧弹窗,也可能是能够窃取用户信息的恶意代码

XSS的分类

XSS一般被分为三类:反射性XSS,存储型XSS,DOM型XSS

这三种类型的危害程度一般认为:存储型XSS>反射型XSS>DOM型XSS

类型 
反射型XSS反射型XSS我们可以理解为一次性的XSS,一般是通过url请求中插入JS代码,然后随着浏览器通过响应的方式传给用户,也可能是通过站内信息,比如聊天框中没有对输入过滤,输出转义,然后攻击者将恶意的JS代码发送给受害者,从而达到窃取用户信息比如cookie的目的。
存储型XSS存储型XSS我们可以理解为持续性的XSS,比如用户输入的信息会在服务器的后台存储,服务器并没有严格对输入过滤,输出转义的配置的话,那么一段恶意的JS将永久存储在服务器中,举个例子,我们都玩过论坛,贴吧之类的社区网站,此时有个攻击者将恶意的JS代码插入留言板内,那么只要是有人浏览至带有恶意JS代码的评论区内时,恶意的JS代码就会被浏览器信息解析,那么用户的信息就可能被攻击者窃取。如果此时管理员浏览至此,是不是cookie就会被窃取,攻击者就可以通过窃取的管理员cookie登录后台。所以XSS中存储型的危害最为致命,某歌曾经就有过存储型XSS漏洞。
DOM型XSSDOM型XSS是个特殊型的XSS,它是基于文档对象型Document Object Model的一种漏洞,DOM是一个与平台编程语言无关的接口,对于浏览里而言DOM文档就是一份XML文档,由客户端的脚本通过DOM动态地输出数据到页面而不是依赖于将数据提交给服务器端,而从客户端获得DOM中的数据在本地执行,因而仅从服务器端是无法防御的。

二、CSRF

CSRF概述

CSRF全称cross-site request forgery跨站请求伪造,也被称为one click Attack(一键攻击) 或者是Session riding(会话骑行)是一种对网站的恶意利用,简单来说CSRF是攻击者盗用了你的登录信息,以你的身份模拟发送各种数据,对于服务器来说这些是以你来发送的所以是合法的,但实际上这些操作你并不知道,很懵对不对,没关系,简单来说你在酒店开了一间房,房间号为111,但是对于前台服务员他每天接受的客流量太大了,他只能通过111房卡知道你是111的住户,然后攻击者通过某种操作盗用了你的111房卡,他拿着你的房卡去刷你的门在前台服务员看来是合法的,进了你的房间想在你的房间干嘛就干嘛,比方说在你的房间里搞破坏,差不多这个意思。

CSRF原理

那么CSRF的原理呢,就是

1,受害者打开浏览器访问受信任的网站A,输入正确的用户密码后发送登录请求

2,网站A这时候看到是受害者发来的验证请求,产生了一个cookie给你,然后这个cookie就是你的身份标识

3,此时受害者在没有退出网站A时,在同一个浏览器(这里时重点,不同的浏览器的cookie是不通用的)打开了攻击者的钓鱼的网站B

4,网站B收到受害者的请求后,返回一些恶意的代码,并要求受害者向网站A发送请求(此时受害者并不知道这一系列过程)

5,这时候受害者向网站A发送了一个请求并执行了相关操作(实际上是B网站发送的但是带着的是受害者的cookie,所以服务器看来这只是一次受害者发送的合法请求)简单来说就是攻击者冒用了你的身份信息做了服务器看起来合法的操作

那么要完成一次CSRF攻击必须满足几个条件:

1,受害者登录受信任的网站A,并在本地生成了cookie

2,受害者在不登出网站A时,访问了攻击者的网站B

3,必须时同一个浏览器内,因为不同浏览器之间的cookie是不能互相使用的

三、SSRF

SSRF概述

SSRF全称就是Server-Side Request Forgery服务器端请求伪造,简单来说CSRF是盗用客户端的身份信息的话,SSRF就是伪造服务器的身份信息进行相关操作,也就是攻击者利用某某的公司的身份当作跳板来进行各种骚操作,也就是说我可以利用服务器作为我的代理进行对其它任意服务器进行攻击,也可以对该服务器本身的私网进行扫描等等一系列行为

SSRF原理

原理简单来说就是服务端提供了从其它服务器获取数据的功能,但没有对内网目标地址做过滤与限制,比如某道翻译,早些时候可以通过输入相应的IP地址进行翻译,那么此时就变成攻击者请求某道翻译某网站,那么某道将会向某网站发送一次请求,这样能理解吧,那如果我们向某道翻译请求的是127.0.0.1网站呢,总所周知127.0.0.1是个回环地址,那么如果某道翻译并没有对这个传参进行过滤,那么攻击者就可以轻易的获取到某道的内部信息了呢。

四、XSS,CSRF,SSRF区别

一句话简单概述

XSS可以理解为攻击者窃取用户的身份信息进行操作

CSRF可以理解为攻击者没有窃取用户身份信息但是他通过其它手段获取了你的一次性身份信息的利用进行操作

SSRF可以理解为攻击者利用服务器的不严谨的过滤限制,将服务器当作跳板利用进行操作

 

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XSS(跨站脚本攻击)和 CSRF(跨站请求伪造)是两种常见的网络安全攻击方式,它们的目标和实现方式不同。 XSS攻击主要针对的是网页应用中存在的漏洞,攻击者通过注入恶意的脚本代码到网页中,使得用户在浏览网页时执行该恶意代码,从而达到攻击的目的。XSS攻击可以分为存储型、反射型和DOM型三种形式。存储型XSS攻击是将恶意代码存储到服务器端,当用户访问包含恶意代码的页面时,恶意代码会从服务器端获取并执行;反射型XSS攻击是将恶意代码作为URL参数或表单提交到服务器端,服务器端将恶意代码返回给浏览器并执行;DOM型XSS攻击则是通过修改网页的DOM结构来实现攻击。 CSRF攻击则是利用用户已经登录认证的状态下,诱使用户点击恶意链接或访问恶意网页,从而触发已登录用户的操作。攻击者通过伪造请求,使用户在不知情的情况下执行了非自愿的操作。例如,攻击者可以通过发送包含恶意请求的图片链接或者钓鱼网站来实施CSRF攻击。CSRF攻击的关键在于利用了用户的身份认证信息。 综上所述,XSSCSRF的主要区别在于攻击的目标和实现方式。XSS攻击主要针对网页应用中的漏洞,注入恶意脚本代码;而CSRF攻击则利用用户已登录认证的状态下,伪造请求进行非自愿的操作。为了防范这两种攻击,开发者需要在编写代码时注意输入验证、输出编码以及限制权限等安全措施。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值