研究UBB的跨站脚本攻击之综合篇_漏洞研究

近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了? 
  
  小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点,比如留言板,论坛,或是含提交程序的站点.首先,讲一下最简单的脚本攻击:<td ></td >等HTML字符的过滤问题. 
  
  登陆过一个CGI制作站点.以原来ASP的眼光看CGI的站点,感觉CGI对脚本的过滤应该很好.于是做了最初的测试.在用户一栏中填写<td >,提交用户注册后发现并没提出非法字符的提示.注册完成后,点击资料也发现页面变形了.如在其他几个如国家,性别里填写也会出现同样的问题,那页面就没法看了.于是换了一个站点,再次提交<td >出现了非法字符提示,看来站点是已经过滤的<>等HTML的脚本字符,那好,我们改用ASCII 码替换<> 如& #60; & #62;代替提交后再来看,又出现了上面页面变形的情况,看来非法过滤机制还不是很完善. 更有甚者,我竟发现一个站点内的姓名栏填写时没有字数大小设置,没有过滤任何非法字符,如果我提交个什么恶意代码那还不成全了我? 
  
  简单的脚本攻击如<td >等HTML格式的代码一定要过滤好,上面的一些站点还没牵扯到UBB就出问题了.那我们下面就开始重点讲一下UBB过滤漏洞的问题.UBB是论坛中用来替换HTML编辑的一种格式符号,如[b ][/b ]可以替换成HTML中的< b></ b>..然而就是这一个替换问题,就成了跨站脚本攻击的最佳积聚地.测试了一个ASP留言版以及一个整站的程序代码: 
  
  初级问题: [url ]的过滤,在提交该代码时可以构建一个onmouseover函数的恶意代码,既然onmouseover可以生效,那还有什么办不到的?一些原码程序在变换[url ][/url ]时,只是将[url ]s2[/ url]中的s2直接提交到< a href="s2" target=_blank>S2</a >中.看到如此转换我们可以使用相应的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/ 测试.我们欢迎善意的测试. 
  
  以下是国内一些经过本人测试的站点的留言板有问题的地址,(请各位站长注意啦,及时修补程序免得造成不必要的麻烦),测试的时间比较短一些,可能有一些站点没有找到.可能存在着更严重的问题.
  
  以上就是这次脚本攻击测试的全部内容。综观全部站点,看上去安全性真是的不敢再想.问题多多. 
  虽然只是举手之劳就可以解决的问题,但稍不小心就会造成大问题

时间: 2024-10-03 13:38:18

研究UBB的跨站脚本攻击之综合篇_漏洞研究的相关文章

最新的黑客技术:XSS跨站脚本攻击详细介绍_漏洞研究

总体上介绍 简单介绍什么是XSS攻击 如何寻找XSS漏洞 对于XSS攻击的总体思路 来自内部的攻击: 如何寻找内部的XSS漏洞 如何构造攻击 如何利用 结何实例攻击,如DVBBS&BBSXP 来自外部的攻击 如何构造XSS攻击 如何欺骗管理员打开 XSS与其它技术的结何 与mssql injection的结合 QQ跨站的结何 国内大型统计网站的跨站漏洞 社会工程学 制作恐怖的flash木马 制作方法由李丰初写 总结  正文: XSS总体介绍 什么是XSS攻击 XSS又叫CSS  (Cross S

针对蓝牙PIN码的最新攻击技术细节分析_漏洞研究

注:本文章只是讲解决针对蓝牙PIN码的最新攻击技术,以提醒大家注意防范,并没有其它目的.任何人不得使用本文中所介绍的技术做非法的事. 最近,国内外多家网站纷纷刊登了一则关于针对蓝牙PIN码的最新攻击技术的新闻:通过强制两个正在通讯的蓝牙设备进行重新配对,并监听配对信息,攻击者可以在0.063秒内破解一个4位(十进制)的PIN码.今年6月上旬举办的世界无线技术会议也详细讨论了该攻击方法,securityfocus 甚至说"这种新的攻击技术令很多关注无线技术的信息安全专家非常的震惊,因为以前关于攻击

UBB的跨站脚本攻击的漏洞_漏洞研究

近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点 什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了?  小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模式.进入一个含UBB功能的站点比

UBB的跨站脚本攻击的漏洞

ubb|攻击|脚本         近日,由于发现一些站点仍然存在UBB的跨站脚本攻击的漏洞.跨站脚本攻击虽然很少会对服务器造成一些什么比较大的影响,但对于一个站点来说,存在这种漏洞实在是太不值得!小则,弹点什么东东出来;中则改改主页;重则窃取用户的COOKIES资料,更甚者将会G掉浏览者的硬盘.一个站点被变成一个恶意网站,还有谁敢来?如果再加上该站的站长比较"盲"一些,岂不乱套了? 小小的一段代码就真的能使一个站点成这样?好叫我们来具体的看看所谓的跨站脚本攻击到底会成为什么样的攻击模

当备份数据库不能用时.用邮件列表得到WEBSHELL!(图)_漏洞研究

今天上午闲着无聊,刚好一个朋友发过来一个网站的后台管理密码.他要我帮他看看.我说你得到后台了.可以用备份数据库功能得到WEBSHELL啊.你还发过来干嘛.他说后台有数据备份的选项.但是不能用.大家看一下图!  列表得到WEBSHELL!(图)_漏洞研究-数据库备份拿shell">  里面有备份的选项.但是点了之后出现错误!应该是管理员把文件改名了.或者是位置改变了.不能备份数据库,那怎么办,不能白白的浪费这样的一个机会.我就在后台里面到处看了一下.发现可以通过改网站注册用户的邮件地址.我们

字符集导致的浏览器跨站脚本攻击分析_漏洞研究

|=-------------------------------–=| |=-----–=[ 字符集导致的浏览器跨站脚本攻击 ]=-----–=| |=-------------------------------–=| |=-------------=[ By jianxin ]=------------=| |=-----------=[ jianxin@80sec.com ]=----------=| |=--------------------------------=| 文中<已经被

也谈跨站脚本攻击与防御_木马相关

网络上曾经有过关于跨站脚本攻击与防御的文章,但是随着攻击技术的进步,以前的关于跨站脚本攻击的看法与理论已经不能满足现在的攻击与防御的需要了,而且由于这种对于跨站脚本认识上的混乱,导致现在很多的程序包括现在的动网都存在着跨站脚本过滤不严的问题,希望本文能给写程序的与研究程序的带来一点思路. 还是首先看看跨站脚本漏洞的成因,所谓跨站脚本漏洞其实就是Html的注入问题,恶意用户的输入没有经过严格的控制进入了数据库最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行HTml代码,数据流

MSIE DHTML Edit跨站脚本漏洞_漏洞研究

微软在去年发布了MSIE DHTML Edit控件跨站脚本漏洞,但是圈内一直没有公布出好用的EXP,害得一帮新手叫苦不迭,别急,这不是为大家送来了大餐吗?!  [受影响系统]   Microsoft Internet Explorer 6.0  - Microsoft Windows XP Professional SP1   - Microsoft Windows XP Professional   - Microsoft Windows XP Home SP1   - Microsoft W

网站程序中非SI漏洞的利用_漏洞研究

Part I 前言  现在网上最流行的网站攻击手段,要数得上SQL Injection了,虽然SI技术易学易用,并且容易取得较大的权限,但因其风头实在太大,现在一般稍有点安全意识的程序员都会注意到这个问题,并且通过GET方法提交的数据会被服务器记录在案,而让网管很容易找到入侵者.  非SI类攻击相对来说获得的服务器操作权限不大,但对于以获得数据为目的的入侵还是很有用的.  Part II 方法介绍  常规的非SI类攻击有如下几种:  一. 跨站脚本攻击(XSS)  跨站脚本攻击不会直接对网站服务