要想搞懂这三者有什么区别,首先需要知道它们的原理。
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.csdn.net/allintao/article/details/129308525