xss、csrf、ssrf的区别

文章详细解释了XSS(跨站脚本攻击)、CSRF(跨站请求伪造)和SSRF(跨服务器请求伪造)的原理和区别。XSS涉及在HTML中嵌入恶意代码来执行,CSRF是伪造用户身份进行操作,而SSRF则利用服务端功能探测内网。三种攻击方式各有侧重,XSS窃取信息,CSRF伪造操作,SSRF针对内部系统。

​ 要想搞懂这三者有什么区别,首先需要知道它们的原理。

xss

原理

跨站脚本攻击,攻击分类造成危害为:存储型>反射型>DOM型

与SQL注入差不多,SQL注入漏洞是WEB应用程序未对用户输入的参数严格的过滤,导致被攻击者恶意拼接SQL语句,被拼接的恶意SQL语句去数据库进行增删改查。

而XSS漏洞,是攻击者在HTML页面嵌入恶意代码,当用户浏览到这里时,嵌入在html中的恶意代码会被执行。

CSRF

原理

跨站请求伪造,伪造用户的身份去操作一些用户不知道的事情。

通俗的来说,就是你去酒店开了一个666的房间(你信任的网站),在没有退房的情况下(保留cookie),出门去了,此时我来到前台跟前台(服务器)说我(你不信任的危险网站)是666房间的,然后我拿到666的房卡(伪造你的身份),前台(服务器)不认识,从而进入你的房间搞破坏。

所以完成CSRF攻击,需要满足:

1、受害者登录信任网站A,在本地保存了cookie

2、受害者在A网站,访问了攻击者的B网站

SSRF

原理

跨服务器请求伪造,

一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。

由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。

区别

xss是盗取受害者的cookie等信息,之后进行其他操作

csrf是伪造受害者的信息,并没有盗取你的信息

ssrf是伪造服务端的信息,去探测内网

参考文章:

https://blog.youkuaiyun.com/allintao/article/details/129308525

### XSSCSRFSSRF的安全漏洞对比 #### 跨站脚本攻击 (XSS) 跨站脚本攻击是指当Web应用程序对用户输入的数据未做充分验证或转义时,允许攻击者将恶意脚本注入到网页中。这些脚本会在其他用户的浏览器上执行,从而窃取敏感数据、会话令牌或是实施钓鱼攻击等行为[^3]。 例如,在一个存在反射型XSS漏洞的应用程序里: ```javascript // 用户提交了一个带有JavaScript代码的查询参数 ?search=<script>alert('XSS')</script> ``` 如果该应用直接回显此输入而不加处理,则任何访问含有上述链接的人都会被弹窗警告框打扰。 #### 跨站请求伪造 (CSRF) 跨站请求伪造涉及诱导已认证过的受害者无意间发起由攻击者精心构造的操作指令给目标服务端。这是因为大多数HTTP请求都会自动附带存储于浏览器中的凭证信息(比如Cookies),即使是在非预期的情况下发出的请求也不例外。因此,只要能诱骗合法用户点击特定链接或者加载某个图片资源就可能触发一次成功的CSRF攻击[^1]。 考虑这样一个场景——银行转账功能页面没有采用有效的防护措施防止CSRF: ```html <!-- 攻击者的恶意网站 --> <img src="https://bank.example.com/transfer?to=attacker&amount=1000" /> ``` 一旦已经登录过网上银行系统的客户浏览到了这个图像标签所在的HTML文档,就会立即向其开户行发送一笔金额为一千元人民币的资金转移命令。 #### 服务器端请求伪造 (SSRF) 服务器端请求伪造指的是应用程序接受并转发来自客户端指定位置的内容读取请求,而未能对外部可控制部分加以适当审查便予以响应的行为模式。这种缺陷使得远程对手能够借助受害主机作为中介绕开防火墙限制进而探测内部网络结构甚至发动进一步侵害活动[^2]。 设想某API接口允许上传文件的同时也支持自定义下载源地址选项却没有设置白名单机制的话, ```python import requests def fetch_remote_file(url): response = requests.get(url) # 缺乏必要的安全性检查 with open('/tmp/fetched', 'wb') as f: f.write(response.content) ``` 此时,调用方完全可以传入私有IP段内的路径致使后端机器尝试建立连接最终造成潜在危害。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值