Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy Ten Kod Jest Bezpieczny? Pomocy
Forum PHP.pl > Forum > PHP
mc2006
Witam,

na początku od razu zaznaczę, że nie jestem programistą PHP. Zajmuję się zarządzaniem treścia strony http:///www.medicinepoland.pl.
Dziś z przerażeniem odkryłem, że 4. sierpnia o godzinie 0:53 wszystkie moje statyczne pliki html składające się na witrynę zostały zmieniane i za ostatnim tagiem został doklejony podejrzany kod, który mój antywir po wejściu na stronę raportował jako jakiś trojan.
Strony utrzymywane są SuperHost, zadzwoniłem tam i powiedzieli mi od razu, że to na pewno jakiś hacker wykorzystał dziurę w skrypcie PHP wykorzystywanym na mojej stronie i dokleił swój kod. Moje pytania:

1. Czy to jest w ogóle możliwe?

2. Jeśli tak, to czy poniższy skrypt, którego zadaniem jest wysłanie maila może być źle napisany (zawierać jakieś dziury)? Został napisany jakieś dwa lata temu i nie mam już kontaktu do autora? Zadaniem skryptu jest wysłanie maila po zebraniu informacji jakie w polach formularza wpisuje klient.

<?
require_once('libs/class.InTemplate.php');
require_once('libs/htmlMimeMail/htmlMimeMail.php');

if(empty($_POST['c']['email'])) {
header('Location: empty.htm');
exit;
}

$mail = new htmlMimeMail();
$tpl = new InTemplate("libs/tpl");
$tpl->Define(array( 'contact' => 'contact.tpl' ));

$_POST['c']['others'] = isset($_POST['c']['others']['checked']) ? $_POST['c']['others']['txt'] : '';

!isset($_POST['c']['liposuction']) && $_POST['c']['liposuction'] = 'nie';
!isset($_POST['c']['breast']) && $_POST['c']['breast'] = 'nie';
!isset($_POST['c']['tummy']) && $_POST['c']['tummy'] = 'nie';
!isset($_POST['c']['eyelid']) && $_POST['c']['eyelid'] = 'nie';
!isset($_POST['c']['facelift']) && $_POST['c']['facelift'] = 'nie';
!isset($_POST['c']['dental']) && $_POST['c']['dental'] = 'nie';
!isset($_POST['c']['orthopaedic']) && $_POST['c']['orthopaedic'] = 'nie';

$mail->setHtmlCharset('ISO-8859-2');
$mail->setFrom('www.mediconsult.com <office@mediconsult.com>');
$mail->getFile('libs/tpl/mail-logo.gif');
$mail->getFile('libs/tpl/formularz.gif');
$mail->getFile('libs/tpl/blank.gif');

$tpl->Assign( $_POST['c'] );
$tpl->Parse('FINAL',"contact");

$mail->setHtml($tpl->Fetch('FINAL'), null, 'libs/tpl/');
$mail->setSubject('Formularz Zgłoszeniowy');
$mail->setBcc([email=""]'eldorado2@interia.pl,marketing@mediconsult.pl'[/email]);
if($mail->send(array([email=""]'office@mediconsult.pl'[/email]))) {
header('Location: thanks.htm');
} else {
header('Location: error.htm');
}
?>

Kod ten wykorzystywany jest tylko na jednej stronie http://www.medicinepoland.pl/contact.htm, natomiast zainfekowane były prawie wszystkie.

Z góry dziękuję za pomoc i wszelkie sugestie.

Pozdrawiam,
Szymon

P.S. Obecnie nagrałem wersję strony bez tego podejrzanego kodu, ale jeżeli dziura tkwi właśnie tu, to może on w każdej chwili znów być dodany.
Cysiaczek
Formalności: proszę poprawić post tak, aby zawierał bbcode.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.