Una serie de aplicaciones de escritorio históricamente han hecho objetos de secuencias de comandos, a menudo los desarrolladores no consideran las implicaciones de seguridad de que un sitio web aleatorio pueda escribir estos objetos. Un ejemplo de hace muchos años fue que Microsoft Outlook hizo que la lista de contactos y la capacidad de enviar correos electrónicos sean compatibles con scripts. Por lo tanto, el usuario que navega a un sitio web podría hacer que el usuario envíe un correo electrónico a todos los contactos que figuran en la aplicación de Outlook.
Además de las funciones de diseño mal utilizadas, existe la posibilidad de que las aplicaciones de escritorio no hayan sido diseñadas teniendo en cuenta la seguridad de la red, debido a su uso habitual en caso de que un usuario de confianza las use. Y como tal tienen debilidades de seguridad.
Fui buscando detalles sobre la vulnerabilidad del envío de correo electrónico y no pude encontrarlo debido al número compartido de resultados para googlear en parche de seguridad de Outlook ActiveX enviar correo electrónico .
¿Qué hace exactamente ActiveX, por qué se considera inseguro y en qué se diferencia de JavaScript y VBScript?
ActiveX es una forma de acceder a las aplicaciones instaladas localmente, se utiliza desde JavaScript o VBScript. Por ejemplo, el siguiente código javascript inicializa el acceso a Microsoft Excel si está instalado y si se pasan los controles de seguridad.
var ExcelApp = new ActiveXObject("Excel.Application");
var ExcelSheet = new ActiveXObject("Excel.Sheet");
// Make Excel visible through the Application object.
ExcelSheet.Application.Visible = true;
// Place some text in the first cell of the sheet.
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// Save the sheet.
ExcelSheet.SaveAs("C:\TEST.XLS");
// Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit();
Sin las extensiones ActiveX, JavaScript instalado en el navegador solo permite la interacción con el navegador. Los navegadores están diseñados con el caso de uso explícito de la ejecución segura de código limitado de fuentes no confiables. Si bien JavaScript solo puede interactuar con la superficie endurecida del navegador, es menos probable que se encuentren debilidades de seguridad, ActiveX amplía enormemente la superficie de ataque de un sitio web malicioso.