I escuchamos que ASN.1, que forma parte de las bibliotecas SSL del navegador, presenta el riesgo potencial de comprometer nuestro sistema incluso si no usamos scripts. Pero, ¿qué está haciendo exactamente ASN.1? ¿Por qué necesitamos usar algo como ASN.1 para codificar / decodificar datos (como texto o imágenes o binarios) para el cifrado / descifrado que pone a nuestra computadora en riesgo? Porque SSL es un protocolo para cifrar datos y enviarlos a través de Internet.
Comentario del usuario20883: en Wikipedia sobre ASN.1 dice: Si queremos transmitir esto:
myQuestion FooQuestion ::= {
trackingNumber 5,
question "Anybody there?"
Lo cambiamos a esto:
30 — type tag indicating SEQUENCE
13 — length in octets of value that follows
02 — type tag indicating INTEGER
01 — length in octets of value that follows
05 — value (5)
16 — type tag indicating IA5String
(IA5 means the full 7-bit ISO 646 set,
including variants, but is generally US-ASCII)
0e — length in octets of value that follows
41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f
— value ("Anybody there?")
para hacer esto y enviar a través de TCP:
30 13 02 01 05 16 0e 41 6e 79 62 6f 64 79 20 74 68 65 72 65 3f
¡Pero digo que si queremos enviar ese mensaje, simplemente podemos usar UTF-8 o simplemente codificación binaria para cifrar ese mensaje en lugar de cambiar el mensaje a un software!
Simplemente podemos hacer esto para preparar el mensaje para el cifrado AES:
myQuestion(space character}FooQuestion(space character}::=(space character}trackingNumber(space character}(space character}5,question(space character}(space character}"Anybody there?"
Actualización: ahora tenemos un bloque simple de dara para cifrar con AES directamente y no necesitamos hacer nuestro mensaje como un código de shell. Es solo un mensaje que nos gusta, otros mensajes que ciframos siempre y no es necesario ningún tipo de codificación o explotación ...