Entradas etiquetadas inyección

Inyeción anti-descompiladores

Curiosa aproximación la que se relata en Decompilation Injection (pdf).

No controlo mucho las interioridades de .Net pero por lo que cuentan los autores la idea se basa en que dentro del ‘bytecode’ que genera el compilador las normas permiten aplicar algunos truquitos que harían el código fuente inutilizable cuando se utilice un descompilador: cambiar el nombre de una variable por ‘for’ (que al descompilar produce una palabra reservada donde no debe haberla); cambiar el nombre de una variable por el de otra del programa (con seguridad dentro del ejecutable por el espacio de nombres protegido pero con total confusión en el fuente descompilado) e incluso el cambio de nombres de variables por expresiones más complejas.

Los cambios propuestos son muy sencillos y no se llevan a sus últimas consecuencias pero la idea merece la pena explorarse y, seguramente, podría aplicarse también a programas desarrollados en Java.

Un paso más allá en la ofuscación de código necesaria cuando uno quiere ocultarlo y utiliza lenguajes que se basan en el ‘bytecode’ que no es tan complicado ni oscuro como el binario producido por los compiladores tradicionales. Para los que también hay herramientas, claro.

Comentarios (1)

Inyección ciega de SQL

Puede haber quien piense que si su aplicación no muestra los mensajes de error ya está seguro frente a los ataques de inyección de SQL. Lo cierto es que hay toda una serie de metodologías para ‘adivinar’ los nombres de los campos relevantes. En Blind SQL Injection hay algunas explicaciones sobre cómo hacerlo sin complicarse mucho la vida.

Dejar un comentario