xss攻击与防御
一、XSS攻击
Cross Site Scripting跨站脚本攻击
利用js和DOM攻击。
盗用cookie,获取敏感信息
破坏正常页面结构,插入恶意内容(广告..)
劫持前端逻辑
DDos攻击效果——分布式拒绝服务攻击
Server Limit Dos,Http header过长,server返回400
二、攻击原理和手段
攻击方式
- 反射性
- 存储性
1、反射型攻击
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。
- 明文URL中value就是攻击代码
- 服务器解析URL中XSS代码并传回
- 浏览器解析执行
传播-》URL传播-》短网址传播
2、存储型攻击
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
更隐蔽。
XSS存在的位置
- 反射型——URL中
- 存储型——服务器端
XSS攻击注入点:
- HTML节点内,通过用户输入动态生成
- HTML属性,属性是由用户输入
- JavaScript代码
- 富文本(一大段HTML,有格式)
- 富文本得保留HTML,HTML有XSS攻击风险
三、防御
1、浏览器自带防御
ctx.set('X-Xss-Protection',0); 反射型参数出现在HTML内容或属性中。
2、编码转义
不能让所有用户输入保持原样。
对用户输入的数据进行HTML Entity编码。
用转义字符代替字符。
转义的时机
- 存储时
- 显示时
3、过滤
编码后显示时候还要解码。解码后显示原样代码前过滤。
过滤掉不合法输入,保证安全。
- 移除用户上传的DOM属性,如onerror等。
- 移除用户上传的Style节点,Script节点,Iframe节点等。
onerror自动触发xss。
style:body:display:none.
js对页面有百分比操作权限。
iframe引入其它页面资源。
通过xss注入的方式,引诱用户触发csrf攻击。
3、CSP
xss攻击与防御的更多相关文章
- web安全-XSS攻击及防御
XSS攻击的原理 xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻 ...
- XSS攻击的防御
XSS攻击的防御 XSS 攻击是什么 XSS 又称 CSS,全称 Cross SiteScript,跨站脚本攻击,是 Web 程序中常见的漏洞,XSS 属于被动式且用于客户端的攻击方式,所以容易被忽略 ...
- 前端XSS攻击和防御
xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...
- XSS攻击及防御
XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入 ...
- XSS攻击及防御(转)
add by zhj: 略有修改.另外还有一篇文章值得参考,使用 PHP 构建的 Web 应用如何避免 XSS 攻击,总得来说防御XSS的方法是客户端和服务端都 要对输入做检查,如果只有客户端做检查, ...
- Web 安全之 XSS 攻击与防御
前言 黑客,相信大家对这一名词并不陌生,黑客们往往会利用 Web 应用程序的漏洞来攻击咱们的系统.开放式 Web 应用程序安全项目(OWASP, Open Web Application Securi ...
- 转---如何让前端更安全?——XSS攻击和防御详解
前言 平时很少关注安全这块的技术,曾经也买过一本<Web前端黑客技术揭秘>但至今还没翻过,尴尬.今天的早读文章由腾讯优测@小吉带来的分享. 正文从这开始~ 最近深入了解了一下XSS攻击.以 ...
- Web 攻击之 XSS 攻击及防御策略
XSS 攻击 介绍 XSS 攻击,从最初 netscap 推出 javascript 时,就已经察觉到了危险. 我们常常需要面临跨域的解决方案,其实同源策略是保护我们的网站.糟糕的跨域会带来危险,虽然 ...
- XSS 攻击实验 & 防御方案
XSS 攻击&防御实验 不要觉得你的网站很安全,实际上每个网站或多或少都存在漏洞,其中xss/csrf是最常见的漏洞,也是最容易被开发者忽略的漏洞,一不小心就要被黑 下面以一个用户列表页面来演 ...
随机推荐
- 记录一次群答问:jmeter正则提取器提取一个及多个值
图截得比较大,浏览器放大倍数看吧^_^ 前几天,在群里被@,咨询这样一个问题:服务器返回:name="tom" value="jerry" 要提取出name ...
- [NOI2017]游戏
题目描述 http://www.lydsy.com/JudgeOnline/upload/Noi2017D2.pdf 题解 如果说没有x的话,那么每一局只能有两种选择,可以描述为是/非,每条限制也可以 ...
- Vue 报错[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders
场景:父组件向子组件传递数据,子组件去试图改变父组件数据的时候. 解决:子组件通过事件向父组件传递信息,让父组件来完成数据的更改. 比如:我的父组件是普通页面,子组件是弹窗的登录界面,父组件传递的数据 ...
- JS学习笔记Day26
一.什么是设计模式? (一)设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 二.单例模式 (一) 概念:单个实例,只有一个对象,多次创建,返回 ...
- Istio
什么是Istio Istio是Service Mesh(服务网格)的主流实现方案.该方案降低了与微服务架构相关的复杂性,并提供了负载均衡.服务发现.流量管理.断路器.监控.故障注入和智能路由等功能特性 ...
- 010-3 Socket协议ProtocolType
ProtocolType成员 成员名称 说明 Ggp 网关到网关协议. Icmp Internet 控制消息协议. IcmpV6 IPv6 的 Internet 控制消息协议. Idp Interne ...
- 微信小程序 开发文档
官方开发文档: 小程序公众平台 小程序开发者指南 小程序开发者文档 学习资源: 微信:官方入门教程 微信:WeUI 是一套同微信原生视觉体验一致的基础样式库 微信:微信小程序示例 视频: 学堂在线:学 ...
- [面试]StringBuilder StringBuffer源码粘贴(并非源码分析, 请绕道)
StringBuilder StringBuffer 源码 这里只是我个人笔记, 并没有在这篇文章里做任何技术分享, 请同学们绕道- -.如果需要我会后期补上的..... 本来是想分析源码来着, 但是 ...
- python之路(6)迭代器和生成器
目录 迭代器(Iterator) 生成器(Generator) 迭代器 迭代器协议:对象提供一个next方法,执行该方法要么返回下一项,要么引起一个Stopiteration异常 可迭代对象:实现了 ...
- Python——正则表达式初步应用(一)
1.先附上转载(www.cnblogs.com/huxi)的一张图,有重要的参考价值,其含义大家请通过阅读来理解. 2.附上初步学习Python时编写的一个爬糗事百科段子的代码. # -*- codi ...