XSS CSRF SSRF

XSS (跨站脚本攻击)

不需要你做任何的登录认证,它会通过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等)。

类型:反射型XSS、存储型XSS、DOM型XSSS;

防范:XSS的防范措施主要有三个:编码、过滤、校正
设置xss filter 定制过滤策略 输出编码 黑名单白名单 设置http only

CSRF(跨站请求伪造)

CSRF(Cross-site request forgery):跨域请求伪造,也被称为One Click Attack或者session riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

常见攻击手段发送csrf的连接,通过伪造请求从而受害者点击后会利用受害者的身份发起这个请求。例如新增一个账号,修改用户密码等等。

CSRF攻击攻击原理及过程如下:
用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B(内含恶意代码);
网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。

CSRF攻击的防范措施:
1.将cookie设置为HttpOnly

2.验证 HTTP Referer 字段;
(Referer:在 HTTP 头中的一个字段,它记录了该 HTTP 请求的来源地址。)

3.在请求地址中添加 token 并验证;
(Token:服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。)

4.在 HTTP 头中自定义属性并验证。

SSRF(服务器端请求伪造)

是一种由攻击者构造请求,由服务端发起请求的安全漏洞。
一般情况下,SSRF攻击的目标是外网无法访问的内部系统(因为请求是由服务器端发送的,所以服务端能请求到与自身相连而与外网隔离的内部系统)。

SSRF漏洞攻击原理以及方式:
利用一个可以发起网络请求的服务当作跳板来攻击内部其他服务。
SSRF的形成大多是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤和限制。
SSRF利用存在缺陷的Web应用作为代理攻击远程和本地的服务器。

主要攻击方式:
对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner信息;

攻击运行在内网或本地的应用程序需;对内网Web应用进行指纹识别,识别企业内部的资产信息;

攻击内外网的Web应用,主要是使用HTTP GET请求就可以实现的攻击(struts2、SQli等);

利用file协议读取本地文件等。

SSRF漏洞攻击的防范措施
1.限制请求的端口只能为Web端口,只允许访问HTTP和HTTPS请求;

2.限制不能访问内网IP,防止对内网进行攻击;

3.屏蔽或者过滤返回的详细信息;

XSS、CSRF、SSRF的区别

相同点:
XSS,CSRF,SSRF三种常见的Web服务端漏洞均是由于,服务器端对用户提供的可控数据过于信任或者过滤不严导致的。

不同点:
XSS:是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。
CSRF:是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。
SSRF:是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者可以以此为跳板攻击内网或其他服务器。

XSS、CSRF的区别
CSRF是跨站请求伪造; XSS是跨域脚本攻击。
CSRF需要用户先登录网站A,获取cookie; XSS不需要登录。
CSRF是利用网站A本身的漏洞,去请求网站A的api; XSS是向网站A注入JS代码,然后执行JS里的代码,篡改网站A的内容。(XSS利用的是站点内的信任用户,而CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。你可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值