Necesito ayuda con esto.

Iniciado por neopuerta360, 18 Octubre 2010, 23:39 PM

0 Miembros y 2 Visitantes están viendo este tema.

Shell Root

Podrías decirme que es string $pattern?
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360

Si es el codigo que me diste.

~ Yoya ~

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

Shell Root

No, solo te dije que ya no se utiliza.

Citarstring eregi_replace  ( string $pattern  , string $replacement  , string $string  )
  Esta función ha sido declarada OBSOLETA desde PHP 5.3.0. Su uso está totalmente desaconsejado.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360


Shell Root

#35
Algo así, aunque tiene LFI. XD

Código (php) [Seleccionar]
   function _validate($sFile){ #function include file
       if(empty($sFile)){
           return "The variable is empty.\n";
       }else{
           if(file_exists($sFile)){
               return "The file exist.\n";
           }else{
               return "The file not exist.\n";
           }
       }
   }


Y no entiendo porque haces esto después de que si se encuentra el archivo. Creo que debería ser antes. Aún así no entiendo del porque.
Código (php) [Seleccionar]
   $id = htmlspecialchars(trim($_GET["id"]));
   $id = eregi_replace("<[^>]*>","",$id) ;
   $id = eregi_replace(".*//","",$id);


Modifica eregi_replace, por
Código (php) [Seleccionar]
mixed preg_replace  ( mixed $pattern  , mixed $replacement  , mixed $subject  [, int $limit = -1  [, int &$count  ]] )

Así,
Código (php) [Seleccionar]
   $sRegex        = "/<[^>]*>/i";
   $sReplace    = "";
   $sString    = "<script>javascript:alert(/XSS/);</script>";
   echo preg_replace($sRegex, $sReplace, $sString)."\n";


Resultado,
Código (PoC) [Seleccionar]
shellroot@alex-laptop:~/Escritorio$ php PoC.php
javascript:alert(/XSS/);
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

Código (php) [Seleccionar]
[^>]*
Esa patron eliminara todo excepto el >
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

neopuerta360

Codigo solucionado que si funcionona: :D

Código (php) [Seleccionar]

<?
// Donde se incluyen las paginas de forma automatica (con la url index.php?id=nombrepagina
// se abriria la pagina nombrepagina.php en esta parte).
if($id == "") {
include("principal.php");
}
else {
if(file_exists("$id.php")) {
$id = htmlspecialchars(trim($_GET["id"]));
$id = eregi_replace("<[^>]*>","",$id) ;
$id = eregi_replace(".*//","",$id) ;
include("$id.php");
}
else {
include("error.php");
}
}
?>


;-)


Shell Root

No entiendo el funcionamiento de eso, supongamos que tengo un archivo con el siguiente nombre,
Código (PoC) [Seleccionar]
<'PoC.php

En la siguiente linea verifica si existe el nombre del archivo,
Código (php) [Seleccionar]
if(file_exists("$id.php")){

pero después realiza unos REPLACE's, así que al incluirlo quedaría así,
Código (PoC) [Seleccionar]
include('&lt;'PoC.php.php');
Así que no existiría... :p

Otra cosa, al pasar la función htmlspecialchars(); en la cadena, no creo que se cumplan la siguientes lineas,
Código (php) [Seleccionar]
$id = eregi_replace("<[^>]*>","",$id);
$id = eregi_replace(".*//","",$id);
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

neopuerta360

#39
El codigo funciona de la siguiente manera,para abrir una pagina en ben de asi hola.php se abre asi: index.php?id=hola, pero si por ejemplo la pagina no existe o en link esta rroto, etc. Nos diria un error el cual uno alla puesto.

ejemplo:

La pagina no existe.

entiendes?