Chinaunix首页 | 论坛 | 博客
  • 博客访问: 807773
  • 博文数量: 42
  • 博客积分: 10080
  • 博客等级: 上将
  • 技术积分: 1970
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-06 23:06
文章存档

2011年(1)

2010年(7)

2009年(4)

2008年(30)

我的朋友

分类: 系统运维

2008-10-31 03:38:07

富文本编辑器是一个开放式的HTML内容编辑环境,必须实现文字样式、链接、图片等功能的HTML,所以用户POST的内容必须含有HTML标签,但是任 由用户输入各类HTML标签,会造成一些潜在的恶意脚本攻击,借这类情况正好分析出现XSS的情况,主要针对IE浏览器.

一.首先是微软建议我们可能造成恶意脚本攻击的标签.

类似如下的

tag:

applet
base 
basefont
bgsound
blink
body
embed
frame
frameset
head 
html 
ilayer
iframe
layer 
link   
meta   
object
style
title
script

-----------------------------------
类似这类


必须删除.


二.针对HTML属性值的协议攻击.

tag:

dynsrc=
href=
lowsrc=
src=
background=
value=
action=
bgsound=

黑客可能利用如下协议:

脚本伪协议

vbscript:
javascript:

文件类协议

ms-its:
mhtml:
data:

第三方协议

firefoxurl:
mocha:
livescript:

---------------------------------
类似这类


如:



必须判断属性的用的啥协议,给个http:就好了.


三.针对普通HTML属性值的编码,黑客可利用HTML特性将属性值做编码绕过过滤.

&# 加 ASCII格式







---------------------------------
类似这类


必须判断属性的值&转换成 &


四.css样式style属性问题.




style属性可以和任意字符的标签结合,因此不是的问题,必须对style属性值做过滤.

behavior需指定域内也就是绝对路径的HTC文件,危害不大.

expression可以构造不同的全角字符和注释符来扰乱过滤规则.

如:







---------------------------------
类似这类


必须判断style属性的值, :( ~这里正则超级难写,实在不过滤的话,列个白名单,只允许某些值.


五.css样式style属性其他问题.







---------------------------------
类似这类


还是判断协议头之类吧.


六.针对普通style属性值的编码,黑客可利用HTML特性将属性值做编码绕过过滤.

转义字符\ 加 16进制格式




---------------------------------
类似这类


搞个正则过滤\+数字的字符串.


七.针对正常标签组合事件触发脚本的问题.

黑客可以利用类似事件触发脚本:

onload
onerror
onmousemove
onmouseout
onmouseover
onmouseup
onmouseenter
onmouseleave
onmousewheel
onscroll
....................................

类似这类


如:



情况都给过滤吧.


八.第三方媒体文件,崭只针对FLASH与WEB交互的问题.

FLASH的Action Script比较危险,可以和用户做交互式的访问.

可以设置Flash对象的AllowScriptAccess参数为never来解决问题。

AllowScriptAccess 参数有三个可选值,always、never 和 sameDomain

never 禁止运行对外脚本
always 可以运行对外脚本
sameDomain 只允许同一域下的Flash运行对外脚本


pluginspage="" type="application/x-shockwave-flash" width="550" height="400" AllowScriptAccess="never">


转自网络
阅读(1466) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~