A ver, esto es un
FAKE. Lo que dice no se puede, es imposible. Ya lo he discutido con el en otro foro:
http://foro.infiernohacker.com/index.php/topic,15376.msg92983/topicseen.html#msg92983Es absurdo totalmente. Os copio varias de las razones por las que no es posible:
1.- NO ES POSIBLE crear un uploader en HTML. Lo que puedes hacer es un formulario de subida de archivos (multipart form-data) que tenga el action= en el script PHP del servidor. Un formulario de subida de archivos por si solo no hace nada. Es como un formulario normal sin un action definido... El formulario SIEMPRE, tiene que estar conectado a un script (en este caso PHP) que procese dicho formulario. Por esa misma razón, para qué narices subirlo si lo puedes ejecutar desde tu propio pc?? y para qué molestarse en escribirlo si el script PHP (que está en el lado del servidor y NO PUEDES TOCARLO) va a ser el mismo??? Pues sólo tendría sentido hacer eso si hubiera un script del lado del cliente como podría ser javascript que controlase el formulario y el que hay lo único que controla es si el campo del título está vacío o no.
2.- Se trata de un LMS parecido a Moodle aunque mucho más inseguro, ya que he sacado por lo pronto 5 XSS's. He comprobado en mi servidor local que los archivos subidos se almacenan en:
/courses/nombre_del_curso/work/assig_x/
Y no en la carpeta root, que es en la que aparece tu shell. Además no es posible una manipulación de directorio gracias a esta función del script "/claroline/claroline/inc/lib/file.lib.php"
function secure_file_path( $path )
{
while ( false !== strpos( $path, '://' )
|| false !== strpos( $path, '../' )
|| false !== strpos( $path, '/..' ) )
{
// protect against remote file inclusion
$path = str_replace( '://', '', $path );
// protect against arbitrary file inclusion
$path = str_replace( '../', './', $path );
$path = str_replace( '/..', '/.', $path );
}
return $path;
}
El verdadero peligro de ese LMS es el poder subir archivos html en los que se puede ejecutar javascript.
3.- La más importante: Tuve que ver el video una segunda vez para darme cuenta. El dominio en el que se hace la subida del archivo html
'www.iessietepalmas.org' no es el mismo que el dominio en el que aparece subida
'www.sonriecerronavia.cl'. Este tío es un mago! su método es tan eficaz que puede conseguir subir shells a otros servidores solo con el poder de su propia voluntad y un poco de ciencia infusa.
La aplicación controla por expresiones regulares si es un archivo php. Cualquiera de estos: php, phtml, php4, etc... Lo que pensé fue en subir un .htaccess que ejecutase los archivos phps como si fueran php. Sin embargo no es posible ya que renombra el archivo.