争怎路由网:是一个主要分享无线路由器安装设置经验的网站,汇总WiFi常见问题的解决方法。

谈跨站脚本攻击之综合篇

时间:2024/5/10作者:未知来源:争怎路由网人气:

网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。

近日,由于发现一些站点仍然存在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 ]java script:alert();[/ img]提交后转换成的代码为< img src="java script:alert();">,好,到这里我们就可以看到java script:alert();被< img src="">标签激活了.表现就是弹出对话框.上面写着你在()中要提交的东西.如document.cookie 呵呵..大多数人都应该知道这东西是做什么.更有甚者,使用document.write();函数,可以写网页.写什么?当然是恶意代码,如[ img]java script: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

关键词:谈跨站脚本攻击之综合篇




Copyright © 2012-2018 争怎路由网(http://www.zhengzen.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版