新客网WWW.XKER.COM:致力做中国最专业的网络学院!
模糊搜索
标题搜索
最新更新
新客商城
网站地图
RSS订阅
首页
新闻中心
网络学院
软件开发
站长之家
软件下载
手机学院
桌面壁纸
专题
论坛
学院:
操作系统
-
网络应用
-
服务器
-
网络安全
-
工具软件
-
办公软件
-
Web开发
-
数据库
-
网页设计
-
图形图像
-
媒体动画
-
硬件学堂
-
存储频道
-
QQ专区
您的位置:
首页
>
网络学院
>
服务器
>
服务器相关
> 正文:UBB的跨站脚本攻击的漏洞
UBB的跨站脚本攻击的漏洞
新客网
XKER.COM
2007-01-13 来源:
收藏本文
近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?
小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点,比如留言板,论坛,或是含提交程序的站点.首先,讲一下最简单的脚本攻击:等HTML字符的过滤问题.
登陆过一个CGI制作站点.以原来ASP的眼光看CGI的站点,感觉CGI对脚本的过滤应该很好.于是做了最初的测试.在用户一栏中填写,提交用户注册后发现并没提出非法字符的提示.注册完成后,点击资料也发现页面变形了.如在其他几个如国家,性别里填写也会出现同样的问题,那页面就没法看了.于是换了一个站点,再次提交出现了非法字符提示,看来站点是已经过滤的<>等HTML的脚本字符,那好,我们改用ASCII 码替换<> 如& #60; & #62;代替提交后再来看,又出现了上面页面变形的情况,看来非法过滤机制还不是很完善. 更有甚者,我竟发现一个站点内的姓名栏填写时没有字数大小设置,没有过滤任何非法字符,如果我提交个什么恶意代码那还不成全了我?
简单的脚本攻击如等HTML格式的代码一定要过滤好,上面的一些站点还没牵扯到UBB就出问题了.那我们下面就开始重点讲一下UBB过滤漏洞的问题.UBB是论坛中用来替换HTML编辑的一种格式符号,如[b ][/b ]可以替换成HTML中的< b>..然而就是这一个替换问题,就成了跨站脚本攻击的最佳积聚地.测试了一个ASP留言版以及一个整站的程序代码:
初级问题: [url ]的过滤,在提交该代码时可以构建一个onmouseover函数的恶意代码,既然onmouseover可以生效,那还有什么办不到的?一些原码程序在变换[url ][/url ]时,只是将[url ]s2[/ url]中的s2直接提交到< a target=_blank>S2中.看到如此转换我们可以使用相应的ASCII 码中的& #34;来代替",我们多提交一个"然后在构建onmouseover函数进行操作,后果?你应该知道!:P
[img ]的过滤,这真的算是个老大难的问题.很早以前就是[img]的脚本攻击流行一时啊.这次测试中,很多站点还是仍然存在这个漏洞.有点程序根本没有进行过滤.尤其是一些免费留言板的提供站点很多都存在这样的问题.下面我们主要将一下[IMG ]标签的问题:
很简单的[img ]javascript :alert();[/ img]提交后转换成的代码为< img src="javascript :alert();">,好,到这里我们就可以看到javascript :alert();被< img src="">标签激活了.表现就是弹出对话框.上面写着你在()中要提交的东西.如documents.cookie 呵呵..大多数人都应该知道这东西是做什么.更有甚者,使用document.write();函数,可以写网页.写什么?当然是恶意代码,如[ img]javascript :document.write();[ /img].()中间加你要加的,写你要写的,想多危险就多危险.
高级问题: 由于[img ]的初级问题骚扰很多站点就对一个敏感的字符开始过滤.如ja连接,do连接,wr连接,提交后自动分为j a,d o,w r.或是对字符进行过滤java,document,等等.而这些只能难倒一小部分人.我们仍然可以利用ASCII码来代替.可能有人会对代替后的代码仍然不能正常显示而困惑.好,我们下面以一个完整的例子介绍:
某站点UBB过滤代码段如下:
<%
Function code_ssstrers)
dim strer:strer=strers
if strer="" or isnull(strer) then code_ss"":exit function
strer=replace(strer,"<","<")
strer=replace(strer,">",">")
strer=replace(strer," "," ") '空格
strer=replace(strer,CHR(9)," ") 'table
strer=replace(strer,"'","'") '单引号
strer=replace(strer,"""",""") '双引号
dim re,re_v
re_v="[^\(\)\;\';""\[]*"
're_v=".[^\[]*"
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(javascript :)"
strer=re.Replace(strer,"javascript:")
re.Pattern="(javascript)"
strer=re.Replace(strer,"javascript")
re.Pattern="(jscript:)"
strer=re.Replace(strer,"jscript :")
re.Pattern="(js:)"
strer=re.Replace(strer,"js:")
re.Pattern="(value)"
strer=re.Replace(strer,"value")
re.Pattern="(about:)"
strer=re.Replace(strer,"about:")
re.Pattern="(file:)"
strer=re.Replace(strer,"file&:")
re.Pattern="(document.)"
strer=re.Replace(strer,"document :")
re.Pattern="(vbscript:)"
strer=re.Replace(strer,"vbscript :")
re.Pattern="(vbs:)"
strer=re.Replace(strer,"vbs :")
re.Pattern="(on(mouse|exit|error|click|key))"
strer=re.Replace(strer,"on$2")
能看懂ASP的朋友,就可以看出,以上代码段对javascript,jscript:,js:,about;value,document.,onmouse以及onexit等语句进行了过滤和替换.并对一些特殊字符进行了替换.如".",";""(",")" [替换代码为""中间的"..仔细观察代码后我们会发现其过滤机制并非想想象的那样完美.提交:[ mg]& #176& #93& #118& #97& #115& #79rip& #106& #57documen& #115& #76write& #30& #29哈哈又被黑了& #29& #61& #29[/ mg] 类似代码就可以实现更高级的脚本攻击.注:由于很多站点仍存在此问题,所以将代码修改过,无攻击性了.
打开你的FT2000,使用文本编辑,你可以找到任何特殊字符所属的ASCII码.如:分号;可以代替为&# 59,句点.可以代替为&# 46,以这样的形式我们再次提交代码.果然,上面整个的过滤机制几乎完全失效了.根本没起到什么防御作用.
看了以上的攻击方法,是不是觉得很郁闷?如果才能避免上面的问题发生?
1.如果你的站点程序含论坛,留言板,以及其他程序中含提交数据格式的,没有很好过滤机制,请马上下载升级程序或是停止使用.避免造成更多的问题.
2.各提供免费论坛,免费申请留言板的站,请将UBB格式关闭.或找到更好的解析UBB.ASP程序页.
3.对一些会编写ASP的朋友,我建议大家过滤一下字符:(全部字符将写在[]中)如:
["|.|;|:|\|/|&|$|#|`|)|,|'|"|-|~|[|(||] 注:其中|为分割符
4.对于某些站点建议去掉问题比较多的留言板,或是其他含提交的程序.如:原www.sangel.net使用的guestbook,一些不知名的程序体问题更是多多.建议换掉它.
5.我本人也修改了一个国外的留言板,前台基本已经修改完毕.后台这几天正在赶.修改后感觉在文本提交和输入以及留言时都有了很好的过滤.本来打算全采用英文界面,但考虑到N多chinese 对英语不过关,我还是将部分程序汉化了.有兴趣的朋友可以http://www.e3i5.com/guestbook/ 测试.我们欢迎善意的测试.
以下是国内一些经过本人测试的站点的留言板有问题的地址,(请各位站长注意啦,及时修补程序免得造成不必要的麻烦),测试的时间比较短一些,可能有一些站点没有找到.可能存在着更严重的问题.
以上就是这次脚本攻击测试的全部内容。综观全部站点,看上去安全性真是的不敢再想.问题多多.
虽然只是举手之劳就可以解决的问题,但稍不小心就会造成大问题。
上一篇:
将远程服务器上的图片保存在本地空间
下一篇:
让Apache支持ASP.NET
【
收藏
】 【
评论
】 【
推荐
】 【
投稿
】 【
打印
】 【
关闭
】
最新相关文章
·
远程管理Windows服务器实用5大技巧
·
虚拟服务器的管理经验技巧
·
解析不同存储环境下数据保护策略
·
扫除灰尘 延长服务器的使用寿命
·
入门到精通:负载均衡技术全攻略
·
教你架设小区流媒体服务器
·
Windows域信任关系建立全攻略
·
Exchange邮件服务器中的部署更改
·
阻止Exchange服务器开放转发功能
·
如何增强Exchange服务器的安全性
·
思科C3550配置DHCP服务器实例
·
认识Windows下虚拟专用网服务器
·
关于服务器负载均衡实现部分方案探讨
·
远程工作站常见故障问题及排除
·
服务器常见软件故障分析及解决
·
实现服务器虚拟化的技术和软件
发表评论
(
要记得去论坛讨论,点击注册新会员
)
匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
服务器CCProxy常见问题解答
必须学会的几个常用网络测试命令
PC上安装Mac OS的多种攻略及兼容测试
目前最简单的mac os x安装方法
从Ipv4向Ipv6过渡的方法与策略
基于FreeBSD\BIND平台自动解析不同IP的智能DNS服
服务器硬件故障处理几例
教你几招Apache性能优化技巧
利用Ping命令判定网络故障
CDN内容分发网络技术
简要介绍服务器的日常维护
提高IIS 5服务器执行效率
简单分析服务器的可用性问题
处理器相关技术词汇大全
服务器的各个组件解释与分析
专题教程
非主流Ps教程
磁碟机病毒专杀
AV终结者
会声会影教程
nero教程
FreeBSD使用大全
PDF阅读器
BT下载
QQ防骗术案例剖析
机器狗病毒查杀专题
搜狗拼音输入法专题
google earth专题
随机推荐
建筑堡垒服务器
CDN后台管理与运营支撑系统方案
保护IIS服务器技巧(二)
轻松搭建Excel服务器
服务器安全配置精华技巧(初级)
CDN的类型特点
CDN实现网站与用户零距离接触
什么是CDN
WinRAR+任务计划=免费定时备份
漫谈主流操作系统中可信路径安全机制
建立安全的游戏服务器
Global CDN互联全球镜像
九招让硬盘更快、系统更稳定
服务器使用常见问题及解答
谨慎:整合服务器时易犯十个错误
实用信息推荐
常用网页广告代码全集
中国电子地图
IP查询、IP签名
免费代理IP(每日更新)
免费周公解梦大全
html互转JS
FLASH休闲小游戏
flash动画
qq搞笑表情
最新电影大片
戴尔dell笔记本电脑订购
戴尔dell台式机电脑订购