Lutte au hacker

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Lutte au hacker

Re: Lutte au hacker

par stefane321 » 21 mai 2013, 19:32

la plupart du temps, le ou les hacker upload et installe sur le serveur un WHM et se serve du compte hacké pour envoyer du spam.

Quelques fois c'est le fichier index.php qui est écrasé par un index.php contenant la carte de visite du hacker

Coté log, les hackers ne laisse aucune trace, j'ai même payé mon hébergeur pour avoir un audit de sécurité et il n'a rien trouvé.

Je découvre ou soupsone qu'un site est hacké quand la bande passant est anormalement élevé ou quand mon hébergeur m'envoie un avis que leur anti-virus a détecté des fichier malicieux

Précision sur mes 40 sites, c'est 40 sites web différent, sur des compte d'hébergement individuel a chacun où jai chaque fois utilisé le même cms «home made»

Mon hébergement est mutualisé.

Là où je crois qu'il peut y avoir une ou des failles.

- mon éditeur wysiwyg que j'ai mis dans mon formulaire
- ma fonction de upload de fichier
- injection sql, cependant, je ni connais rien en injection sql, j'ai lu sur le net que c'est une façon que les hacker peuvent utiliser

Voici mon code de upload de fichier au cas où tu y verrai une faille:
function upload_image($id, $http_image, $table, $sous_rep, $pathImg, $url_racine, $clef_prim)
{
$_FILES["images"]['name']=$http_image;

	if($_FILES["images"]['name'] <> "" && $_FILES["images"]["type"]=="image/pjpeg" || $_FILES["images"]["type"]=="image/jpeg")
	{	
	
		$extptmp = explode(".",$_FILES["images"]['name']);	
		$_FILES["images"]['name'] = $id.".".$extptmp[1];	
		if(is_uploaded_file($_FILES["images"]['tmp_name'])) 
		{
		//---------------------------------------------------------------------------------------
		move_uploaded_file($_FILES["images"]['tmp_name'], "".$pathImg.$sous_rep."/tmp/".$_FILES["images"]['name']."");
		$size = getimagesize("".$pathImg.$sous_rep."/tmp/".$_FILES["images"]['name']."") or die("getimagesize erreur 35");
    
		$newwidth=resize_images(1000, 1000, "".$url_racine.$sous_rep."/tmp/".$_FILES["images"]['name']."") or die("rezine width erreur");

		$src_img = imagecreatefromjpeg("".$pathImg.$sous_rep."/tmp/".$_FILES["images"]['name']."") or die("imagecreatefromjpg erreur");
		$dst_img = imagecreatetruecolor ($newwidth[0],$newwidth[1]) or die("createtruecolor erreur 40");

		imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $newwidth[0],$newwidth[1], $size[0], $size[1]) or die("imagecopyresampled erreur"); // la fonction qui redimensionne les photos
		imagejpeg($dst_img, "".$pathImg.$sous_rep."/".$_FILES["images"]['name']."", 60) or die("imagejpg erreur179");
		imagedestroy($src_img) or die("destroy src_img erreur");
		imagedestroy($dst_img) or die("destroy dest_img erreur"); 
		//-----------------------------------------------------------------------------------------
			 
			$sqlup = "UPDATE $table SET image=\"".$_FILES["images"]['name']."\" where $clef_prim=".$id."";
			$rsup = mysql_query($sqlup) or die ($sqlup);
			//mysql_close($conn);
			chmod("".$pathImg.$sous_rep."/".$_FILES["images"]['name']."", 0644);
			////chown("".$pathImg."photos/img_prod/".$_FILES["images"]['name']."", village);
		//--------------------------------------------------------------------------------------------
	$size = getimagesize("".$pathImg.$sous_rep."/".$_FILES["images"]['name']."") or die("getimagesize erreur 56");
    
	$newwidth=resize_images(200, 200, "".$url_racine.$sous_rep."/".$_FILES["images"]['name']."") or die("rezine width erreur");

    $src_img = imagecreatefromjpeg("".$pathImg.$sous_rep."/".$_FILES["images"]['name']."") or die("imagecreatefromjpg erreur");
    $dst_img = imagecreatetruecolor ($newwidth[0],$newwidth[1]) or die("createtruecolor erreur 61");

    imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $newwidth[0],$newwidth[1], $size[0], $size[1]) or die("imagecopyresampled erreur"); // la fonction qui redimensionne les photos

    imagejpeg($dst_img, "".$pathImg.$sous_rep."/icones/".$_FILES["images"]['name']."", 60) or die("imagejpg erreur199");
    imagedestroy($src_img) or die("destroy src_img erreur");
    imagedestroy($dst_img) or die("destroy dest_img erreur");    
//Creation des icones
	$delete_file=unlink("".$pathImg.$sous_rep."/tmp/".$_FILES["images"]['name'].""); 		
		}
	}

	///Load ici si image pas= .jpg
	elseif($_FILES["images"]['name'] <> "")
	{		
		
		$extptmp = explode(".",$_FILES["images"]['name']);	
		$_FILES["images"]['name'] = $id.".".$extptmp[1];
		if(is_uploaded_file($_FILES["images"]['tmp_name'])) 
		{
			move_uploaded_file($_FILES["images"]['tmp_name'], "".$pathImg.$sous_rep."/".$_FILES["images"]['name'].""); 
		copy("".$pathImg.$sous_rep."/".$_FILES["images"]['name']."", "".$pathImg.$sous_rep."/icones/".$_FILES["images"]['name'].""); 
			$sqlup = "UPDATE $table SET image=\"".$_FILES["images"]['name']."\" where $clef_prim=".$id."";
			$rsup = mysql_query($sqlup) or die ($sqlup);
		chmod("".$pathImg.$sous_rep."/".$_FILES["images"]['name']."", 0644);	

		}
	}
}
function upload_fichier($id, $clef, $http_fichier, $table, $sous_rep, $pathImg)
{
$_FILES["fichier"]['name']=$http_fichier;
	if($_FILES["fichier"]['name'] <> "")
	{	
		$extptmp = explode(".",$_FILES["fichier"]['name']);
		$_FILES["fichier"]['name'] = $id."_".$_FILES["fichier"]['name'];	
		
		//------------------------------------------------------------------
		
		$car_speciaux = array( '#',' ','À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'È', 'É', 'Ê', 'Ë', 'è', 'é', 'ê', 'ë', 'Ì', 'Í', 'Î', 'Ï', 'ì', 'í', 'î', 'ï', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'Ù', 'Ú', 'Û', 'Ü', 'ù', 'ú', 'û', 'ü', 'ß', 'Ç', 'ç', 'Ð', 'ð', 'Ñ', 'ñ', 'Þ', 'þ', 'Ý' );
		$car_normaux  = array( '','_','A', 'A', 'A', 'A', 'A', 'A', 'A', 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'E', 'E', 'E', 'E', 'e', 'e', 'e', 'e', 'I', 'I', 'I', 'I', 'i', 'i', 'i', 'i', 'O', 'O', 'O', 'O', 'O', 'O', 'o', 'o', 'o', 'o', 'o', 'o', 'U', 'U', 'U', 'U', 'u', 'u', 'u', 'u', 'B', 'C', 'c', 'D', 'd', 'N', 'n', 'P', 'p', 'Y' ); 
		$_FILES["fichier"]['name'] = str_replace($car_speciaux, $car_normaux, utf8_encode($_FILES["fichier"]['name']));  
				
		//------------------------------------------------------------------
		
		
		if(is_uploaded_file($_FILES["fichier"]['tmp_name'])) 
		{
			move_uploaded_file($_FILES["fichier"]['tmp_name'], "".$pathImg.$sous_rep."/".$_FILES["fichier"]['name'].""); 			
			$sqlup = "UPDATE ".$table." SET file=\"".$_FILES["fichier"]['name']."\" where ".$clef."=".$id."";
			$rsup = mysql_query($sqlup) or die ($sqlup);
		}
	}
}

Re: Lutte au hacker

par Brice83 » 21 mai 2013, 19:17

J'ai ce cms d'installé pour environs 40 clients.
Des hacks pour un cms comportant 40 clients ?

Y'en à qui ne savent pas quoi faire de leurs journées ma parole ^^ des ptits cons quoi ^^

Pour hacker un site, il n'y à pas 36 solutions, tu as des failles sur un ou plusieurs formulaires (contact, espace membre ...), tout ce qui communique avec ta bdd en gros. Ou alors ton hébergeur ....

Mais peux tu précisé un peu + ce que tu appel "car depuis 2 mois mes sites sont sans cesses hacké" !

Comment le sais tu ? des sources ? Des logs anormals ? Quand ton site est hacké, que se passe t'il exactement ? Est tu sur un mutu, un vps, ou un dédié ?

Donne plus de détails car "mon site est sans cesse hacké" est hyper léger comme détail" ^^

Lutte au hacker

par stefane321 » 21 mai 2013, 17:12

Bonjour,

J'ai un problème de sécurité avec mon petit cms que je me suis créé il y a quelques années.

Je cherches de l'aide ou des ressources pour vérifier mon code afin de trouver et corriger les failles de sécurité car depuis 2 mois mes sites sont sans cesses hacké.

J'ai ce cms d'installé pour environs 40 clients.

Alors, pouvez-vous svp me diriger vers qqn ou une entreprise qui peut me faire ça ou juste que je vous colle des bout de code et que vous me guidiez sur comment le corriger.

Merci!