Autor
|
Tema: Filtrar Uploader para subir webshell (Leído 5,919 veces)
|
nuevaorden
Desconectado
Mensajes: 27
|
Saludos,
He podido accecer a l'administración web mediante SQLi de una inmobiliaria, el tema es intento subir un fichero Shell "rc99" pero el filtro que tiene template me tira error.
He provado con poner lo normal foto.jpg.php , nada lo salta, luego con el Live Http headers he intentado si podia capturar los headers para modificarlo pero no me da nada........
Si alguien tiene alguna idea como bypasear-lo ???!!!!
El codigo fuente o porcion del mismo es este:
<div id="estadoNuevo" style="display: block; font-size: 11px; color: #333333"><strong> Nueva Fotografía</strong> </div>
<div id="estadoEdicion" style="display: none; font-size: 11px; color: #333333"><strong> Editar Fotografía</strong> </div>
<table border="0"> <tr> <td valign="top" width="400px"><!--Imagen 1--> <div id="Img1" style="width: 400px; display: block; padding: 1.5em"> <table border="0"> <tr>
<td> <div align="right"> <div id="Img1_KO" style="display: none"><img src="./images/extension_ko.gif" alt="Fotografía Incorrecta" /></div> <div id="Img1_OK" style="display: none"><img src="./images/extension_ok.gif" alt="Fotografía Correcta" /></div> <div style="display: inline">Fotografía: </div> </div> </td>
<td colspan="3">
<div style="display: inline"><input id="input_Img1" name="input_Img1" type="file" size="39" onChange="comprueba_extension(this.form, this.form.input_Img1.value, 1, 'Comprueba la extensión de los archivos a subir.\nSólo se pueden subir archivos con extensión:')" /> </div> </td> </tr>
|
|
|
En línea
|
|
|
|
nuevaorden
Desconectado
Mensajes: 27
|
Y aqui os dejo la funcion uploader:
</script> <script language="javascript">
//Uploader function comprueba_extension(formulario, archivo, imagen, mensaje) { extensiones_permitidas = new Array(".jpg"); mierror = ""; //if (!archivo) { //Si no tengo archivo, es que no se ha seleccionado un archivo en el formulario //mierror = "No has seleccionado ningún archivo"; //}else{ //recupero la extensión de este nombre de archivo extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase(); //alert (extension); //compruebo si la extensión está entre las permitidas permitida = false; for (var i = 0; i < extensiones_permitidas.length; i++) { if (extensiones_permitidas == extension) { permitida = true; break; } } if (!permitida) { mierror = mensaje + extensiones_permitidas.join(); checkKO = document.getElementById('Img' + imagen + '_KO'); checkKO.style.display = 'inline'; checkOK = document.getElementById('Img' + imagen + '_OK'); checkOK.style.display = 'none'; colorInput = document.getElementById('input_Img' + imagen); colorInput.style.color = '#CC3300';
oculta_btnGuardar = document.getElementById('guardaImg' + imagen); oculta_btnGuardar.style.display = 'none'; }else{ //alert(archivo); //submito! //alert ("Todo correcto. Voy a submitir el formulario."); //formulario.submit(); checkOK = document.getElementById('Img' + imagen + '_OK'); checkOK.style.display = 'inline'; checkKO = document.getElementById('Img' + imagen + '_KO'); checkKO.style.display = 'none'; colorInput = document.getElementById('input_Img' + imagen); colorInput.style.color = '#71A410'; muestra_btnGuardar = document.getElementById('guardaImg' + imagen); muestra_btnGuardar.style.display = 'block'; nombre = document.getElementById('nomImg' + imagen); if (nombre.value == ''){ archivo = document.getElementById('input_Img' + imagen); nombre_archivo = (archivo.value.substring(archivo.value.lastIndexOf('\\')));
var indice = nombre_archivo.indexOf ('.jpg'); nombre_archivo = nombre_archivo.substr (0,indice);
var navegador = navigator.appName; if (navegador == "Microsoft Internet Explorer"){ nombre_archivo = nombre_archivo.substr (1); }
nombre.value = nombre_archivo; } return 1; } //} //si estoy aqui es que no se ha podido submitir alert (mierror); return 0; }
|
|
« Última modificación: 26 Marzo 2010, 15:40 pm por nuevaorden »
|
En línea
|
|
|
|
NikNitro!
Desconectado
Mensajes: 1.309
Galletaaa!!!
|
Cómprate un libro de ETICA y léete las normas del foro!!! S@lu2
|
|
|
En línea
|
|
|
|
nuevaorden
Desconectado
Mensajes: 27
|
Ok muchas gracias por la ayuda, perdon si he saltado alguna norma....... y gracias por la ayuda a los newbaby.
salu2
|
|
|
En línea
|
|
|
|
tragantras
Desconectado
Mensajes: 465
|
que clase de Uploader es ese que comprueba la validez de los archivos el propio cliente? (javascript) y no el servidor (php por ejemplo)...
|
|
|
En línea
|
|
|
|
nuevaorden
Desconectado
Mensajes: 27
|
salu2, es un crs de una compañia de españa, he podido saltarme la protección mediante el Firebug, poniendo un BP aquí function comprueba_extension(formulario, archivo, imagen, mensaje) { , luego puedo modificar en el panel de la derecha la extensión de php a jpg i bingo me deja subir..... pero al pulsar luego un boton de guardar .... aix me sale un popup y me dice que no cumple con el tamaño adecuado!!!
Suiguiendo......
|
|
|
En línea
|
|
|
|
nuevaorden
Desconectado
Mensajes: 27
|
se llama CRSManager.....
|
|
|
En línea
|
|
|
|
WHK
|
usa un script que guarde otro script y así evitas el problema del tamaño:
Después cuando lo visualizes el mismo script te va a descargar la shell y ya la hiciste. Si no te deja bajar nada entonces pruebas con un formulario en un textarea y todo lo que le pases via post lo procesas en eval() y con eso ya puedes experimentar ver archivos con glob(), mover y copiar con move() ver phpinfo(), usar sytem() si es que te deja, etc etc y si puedes sobreescribir archivos entonces hazle un file_put_contents() con la shell en php y ya la hiciste.
|
|
|
En línea
|
|
|
|
|
|