跨站脚本xss

目录

什么是xss

原理

攻击类型

反射型xss

 存储型xss

基于dom的xss 

攻击者用xss干啥

内容安全策略csp

如何防止xss


xss是个web漏洞,攻击者可以破坏用户和web app之间的交互,攻击者可规避同源策略。

什么是xss

通常攻击者伪装成受害者用户,执行用户能够执行的操作,访问用户的数据,如果用户具有特权访问权限,攻击者就能够完成控制应用程序的所有功能和数据

原理

操作一个易受攻击的网站,利用其向用户返回恶意的js,当恶意代码在受害者的浏览器执行的时候,攻击者就可以完全破坏用户和应用的交互

下图,受害者(用户)点击了包含恶意代码的url,在恶意代码在受害者浏览器执行,攻击者就获取了其密码,敏感信息等

攻击类型

反射xss。恶意脚本来自http请求

存储xsss。恶意脚本来自网站数据库

基于dom的xss:漏洞存在于客户端而不是服务器代码

反射型xss

当程序在http请求中接受数据,并以不安全的方式将数据包含在response中就会有此问题

一个🌰

没有执行任何检查过滤,数据处理,攻击者可以构造带恶意script的

用户访问了url,攻击者的脚本在浏览器执行,脚本可以执行用户有权访问的认可操作

 存储型xss

程序从不受信任的源接受数据,并以不安全的方式将该数据包含在后续的http response中,就是存储xss

存储的跨站点脚本漏洞使攻击者能够控制运行在用户浏览器中的HTML和JavaScript。使用恶意的HTML或JavaScript代码,攻击者可以改变显示给用户的页面内容和/或使用经过身份验证的用户的应用程序标识执行应用程序功能。例如,攻击者可以获得用户的会话ID,然后在该会话期间执行应用程序功能。

这些恶意脚本是在易受攻击的应用程序上下文中执行的,因此绕过了web浏览器中的同源安全机制。因此,攻击者可以利用此漏洞执行各种恶意操作,例如窃取会话id或身份验证凭据,并通过显示虚假登录页面或其他虚假信息来误导应用程序用户。

不安全的数据可能通过http请求提交的,例如发表博客评论

攻击者可以轻松的发送消息,攻击其他用户

基于dom的xss 

有客户端js时,js以不安全的方式处理不可信的来源数据,将数据写回dom

没有判断过滤,直接写入html。。。 

攻击者用xss干啥

冒充或者伪装成用户

执行用户执行的操作

读取用户数据

获取用户登陆凭证

注入木马

xss对保存敏感数据的应用中,影响非常大,例如银行交易,电子邮件,健康记录等

如果受害者是较高权限,影响更大

内容安全策略csp

csp是浏览器的机制,能减轻xss漏洞的影响,采用csp的应用能阻止此漏洞的利用。它限制也没加载的资源,例如脚本,图片。限制该网页是否被其他页frame。

如何防止xss

1. 过滤输入,收到用户输入时,根据预期过滤筛选

2 在输出端对数据编码,http response输出用户可控数据时,对输出进行编码并防止被解释为活动内容

3 使用响应头,确保浏览器以你希望的方式解释响应

4 内存安全策略,csp

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值