Suave asesino - Cross Site Script ataque



Siempre que pensamos en un momento en que los piratas informáticos, los hackers les gusta este retrato: un solitario, en silencio entró servidores de los demás, de destruir o robar secretos de otras personas. Tal vez él va a cambiar nuestra página de inicio, reclamos fraudulentos a robar a los clientes los números de tarjetas de crédito y contraseñas. Además, el pirata informático ataca a visitar nuestra página web los clientes. Al mismo tiempo, nuestro servidor se convirtió en su cómplice. Microsoft llama a este ataque como una secuencia de comandos "de cross-site" los ataques. La mayoría de estos ataques tuvo lugar en la página web generadas dinámicamente en el momento adecuado, pero el objetivo del hacker no es su sitio, pero visite el sitio web del cliente.

Descripción del ataque de secuencia de comandos entre sitios

En un libro titulado ADVISORY CA--2000-02 de la revista, CERT nos advirtió: Si el servidor de la entrada del cliente no es eficaz de verificación, los hackers maliciosos entrará algo de código HTML, cuando estas HTML SCRIPT programa de código de entrada se utiliza, se puede utilizar para llevar a cabo el sabotaje, como la inserción de algunas imágenes ofensivas o sonidos al mismo tiempo, los clientes también pueden interferir con la página web correcta.

Sabemos que algunos amigos habían sido inducidos a liberar a un número de sitios sospechosos, que reciben entre 10 y 20 pequeña ventana, estas ventanas son a menudo acompañada por la formación de la falta de JAVA o el botón de seguridad avascript, esto se conoce como la trampa del ratón. Cierre la ventana es en vano, cuando se cierra una ventana, otro se abre la ventana unos cuantos 10. Esto suele ocurrir cuando el administrador no en la Fasheng Hou. Los hackers utilizan el evento de ratón es un ejemplo métodos de ataque SCRIPT de cross-site del cliente.

etiquetas SCRIPT y daños maliciosos no son simples, incluso pueden robar información y destruyó el sistema. No es una inteligente o incluso los piratas informáticos inteligentes son capaces de interferir o cambiar el servidor que utiliza la entrada de datos SCRIPT. código de script también pueden atacar usando los sistemas cliente, hacer daño a su disco duro. Y usted sabe, cuando se utiliza el lado del servidor, los piratas informáticos SCRIPT es también un lugar seguro donde su servidor se está ejecutando a! Si el cliente una carta en su servidor se identifica, la misma confianza que se SCRIPT código malicioso. Incluso el código es en forma de SCRIPT OBJECT o servidor de los hackers.

Incluso con un servidor de seguridad (SSL) no puede evitar los ataques de cross-site SCRIPT. Esto es así porque si el equipo genera código script malicioso también utiliza SSL, el servidor SSL que no podemos identificar el código en el archivo. Tenemos que hacer con el cliente de sitios de confianza a continuación, entregar a los piratas informáticos que? Y la existencia de tales daños, que la posible pérdida de la reputación de su sitio.

En primer lugar, los ataques de cross-site script de ejemplo:

De acuerdo a la información del CERT, entrada dinámica general consta de las siguientes formas: parámetros de URL, elementos de formulario, COOKISE y solicitudes de datos. Analicemos, las dos únicas páginas del sitio web, la página web se llama: MYNICESITE.COM. Primero, utilice un formulario o COOKIE para obtener el nombre de usuario:

% @ Language = VBScript%

% If Request.Cookies ("username") "" Then

Dim strRedirectUrl

strRedirectUrl = "page2.asp? userName ="

strRedirectUrl = strRedirectUrl y Response.Cookies ("username")

Response.Redirect (strRedirectUrl)

Otras ventas %

HTML

HEAD

MyNiceSite.com TITLE Home Page / TITLE

/ HEAD

BODY

H2 MyNiceSite.com / H2

FORM Method="post" action="page2.asp"

Introduzca su nombre de usuario MyNiceSite.com:

INPUT Type="text" name="userName"

INPUT Type="submit" name="submit" value="Enviar"

/ Form

/ BODY

/ HTML

% End If%

La segunda página devuelve el nombre de usuario para dar la bienvenida:

% @ Language = VBScript%

% Dim strUserName

Si Request.QueryString ("username") "" Then

strUserName = Request.QueryString ("username")

Más

Response.Cookies ("usuario") = Request.Form ("username")

strUserName = Request.Form ("username")

End If%

HTML

HEAD / HEAD

BODY

h3 Align="center" Hola: % = strUserName% / H3

/ BODY

/ HTML

Al introducir texto normal a menudo, todo es normal. Si ingresa el código de secuencia de comandos: alerta SCRIPT (''Hola script .''; /, etiqueta de advertencia avascript aparecerá:

La próxima vez que usted visita, esta etiqueta de advertencia aparecerá la misma; Esto es porque el código de secuencias de comandos en su momento después de la primera visita había sido permanecer en una cookie. Este es un ejemplo sencillo de ataques de cross-site.

Si usted piensa que esto es un caso especial, también podría buscar en otra parte en línea, en persona intentarlo. Tengo algunos grandes sitios de la administración web, sitios educativos y sitios comerciales probados, algunos de ellos más de lo que la situación allí, incluso me di cuenta de que a menudo utilizan las tarjetas de crédito a los sitios Web en realidad la entrada sin ningún tipo de filtrado, Piensa realmente terrible.

En segundo lugar, el uso de E-Mail para Cross Site Script ataque

ataque de secuencia de comandos en sitios cruzados utilizados en el servidor de listas, los servidores de Usenet y servidores de correo son particularmente vulnerables a venir. El siguiente es un ejemplo para explicar MyNiceSite.com sitio. Dado que a menudo navegar por este sitio, su contenido no soltarlo te amo, por lo que inconscientemente pone el navegador en una dinámica de contenido Web es siempre confiar en este ajuste.

MyNiceSite.com sitio es siempre a través de la venta de suscripción de correo electrónico de sus cartas por correo electrónico a obtener ingresos, lo que es de hecho una muy buena idea. Así que lo compré en una dirección de buzón. E hizo una gran cantidad de correo a usted. En la carta, te digo lo antes posible visitar este sitio y revisar su cuenta con la última situación. Para darle una forma práctica, también hice un enlace a esta carta. Yo enlace URL, el parámetro nombre de usuario en el código de secuencia de comandos para lamer agregó. Algunos clientes sin saberlo, haga clic en este enlace, que está en mi, cuando (en la foto), y también se han beneficiado de:

Es este trabajo, como cuando se hace clic en este enlace tras enlace en el código de secuencia de comandos se utiliza para guiar su navegador para descargar mi programa avascript y ejecutarlo. Mi control de secuencias de comandos para utilizar el navegador IE, para proceder a la descarga particularlyNasty.dll ActiceX control. Porque antes de tener el contenido de este sitio web que siempre es seguro, así que mi código de secuencia de comandos y controles Active en su máquina puede funcionar libremente.

3, Activex descripción ataque

Al discutir el ActiveX, CERT y Microsoft no se hace referencia a la secuencia de comandos entre sitios método del riesgo que representa. W3C En "La Seguridad Preguntas más frecuentes problemas de seguridad de ActiveX se hicieron en una descripción más detallada. applet de Java en el control del sistema está estrictamente limitado. Dom desarrollo cuando establece que sólo aquellos que no representan una amenaza a la seguridad del sistema se puede ejecutar la operación.

Por otra parte, ActiveX en el funcionamiento del sistema no es estrictamente limitado. Sin embargo, si uno se ha descargado, puede instalar el ejecutable al igual que lo que querían hacer lo mismo. navegador Internet Explorer para que esta característica también a ciertas restricciones, como las del sitio inseguro, en su configuración por defecto no se le permiten descargar o darle una advertencia. Se basa en el desarrollo de ActiveX para compañías como VeriSign Inc., han dado contados los controles ActiveX. Cuando se descarga después de que el control de tiempo, el navegador IE le dará una alerta y muestra el grado de su malvado credibilidad. Por que el usuario decida si desea que este control. Como un sistema aumenta la seguridad.

Sin embargo, para aquellos usuarios que no tienen mucha experiencia, muchas veces inconscientemente, a sus valores originales fueron modificados para permitir que estos controles sin preguntar sobre el archivo. Además, un novato, incluso en el caso de un mensaje para descargar sin pensar en no hacer ninguna marca en la que los controles. En nuestros ejemplos, ya que confía en el sitio, cambiar la configuración del navegador, por lo que, los controles ActiveX sin preguntar para descargar, y sin saberlo en su máquina comienza a funcionar .

4, 16 hexadecimal codificado ataque de secuencias de comandos ActiveX

Malas Intenciones debe distinguir entre la etiqueta y el guión es muy difícil. Script también puede ser en forma hexagonal, de 16 de esconderse. Echemos un vistazo a los siguientes E-mail este ejemplo por favor? Es en la forma hexagonal de 16 es enviado:

Es casi un mensaje completo, que contiene un 16 hexagonal forjado parámetros URL: mynicesite.com = remitente. Cuando el usuario hace clic en el enlace, el navegador del usuario se iniciará el primer caso se refiere directamente a la tramitación de la pop-up de advertencia ventana.

Parte II: El ataque de Cross Site Script de Prevención del Delito

En primer lugar, cómo evitar ser servidor de ataques de cross-site script

Afortunadamente, la prevención de ataque a través de el sitio de tecnología de secuencias de comandos está perfeccionando. Varias maneras esto se puede tomar para prevenir los ataques de cross-site script:

1. En las páginas generadas dinámicamente se codifican los caracteres

2. Para filtrar y limitar la entrada

3. El uso de HTML y la codificación URL

1. En las páginas generadas dinámicamente se codifican los caracteres

En primer lugar, debe utilizar se genera dinámicamente las páginas de la codificación de caracteres, usted tiene que hacerlo, o pirata informático puede cambiar el juego de carácter y fácilmente a través de su línea de defensa. Si nuestro sitio web está en Inglés, así que si nos fijamos la codificación de caracteres en caracteres latinos ISO-8859-1 en la línea, de la siguiente manera:

META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

2. Filtros y restringir todos los datos de entrada

Esto es para evitar que entre sitios de secuencias de comandos El segundo método de ataque, durante su registro pulg No deje que los caracteres especiales se introducen. Por lo tanto, podemos agregar procedimientos avascript manera onSubmit para llevar a cabo esta función. En este caso, limitamos sólo pueden entrar 15 caracteres. Esto evitará que las secuencias de comandos de entrada a largo.

En Knowledge artículo de la Base QA252985 Este libro ofrece un breve programa de Microsoft avascript para completar los datos de entrada de filtrado. También hemos introducido en las circunstancias específicas de este código para nuestro ejemplo, como:

checkForm función () (

document.forms [0]. userName.value = _

RemoveBad (document.forms [0]. UserName.value);

return true;

)

/ / MICROSOFT' CÓDIGO

función RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g ,"");

strTemp retorno;

)

Usando este método, puede filtrar los contenidos en el carácter de entrada:

% [] (); Y + - "''()

3. El uso de HTML y la codificación URL

Aunque el uso de filtros y restricciones mencionadas anteriormente, el método de entrada consiste en utilizar un medio de defensa muy importante, pero era mi forma de este tipo de ataques por correo o por poder. Puse los parámetros de URL directamente en el mensaje. En vista de esto tenemos que tomar una medidas de seguridad más robusta. Si usamos ASP, en términos relativos, para resolver mucho más fácil. Mientras el total de páginas generadas dinámicamente HTML y la codificación de URL en la línea. El caso de nuestro ejemplo, entrar en la primera página de la URL de redireccionamiento de hacer los cambios siguientes:

strRedirectUrl strRedirectUrl = & _

Server.URLEncode (Response.Cookies ("username"))

Nos unimos en la aplicación de la página:

strUserName Server.HTMLEncode = (Request.QueryString ("username"))

Y

strUserName Server.HTMLEncode = (Request.Form ("nombre de usuario"))

Microsoft recomienda para todas las entradas y salidas de las páginas dinámicas deben ser codificados. Incluso los datos en la base de datos y eliminar la misma deberá ser veraz. Así que en gran medida puede evitar el ataque de cross-site script.

Para lograr esto hay que añadir en Page1.asp:

% @ Language = VBScript%

% If Request.Cookies ("username") "" Then

''Redirect si detecta la cookie

Dim strRedirectUrl

strRedirectUrl = "page2.asp? userName ="

strRedirectUrl strRedirectUrl = & _

Server.URLEncode (Request.Cookies ("username"))

Response.Redirect (strRedirectUrl)

Otras ventas %

HTML

HEAD

META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"

MyNiceSite.com TITLE Home Page / TITLE

/ HEAD

SCRIPT LANGUAGE="avascript"

! -

checkForm función () (

document.forms [0]. userName.value =

RemoveBad (document.forms [0]. UserName.value);

return true;

)

archivo //*********************************************** *******

archivo / / Programador: NO Código original - Viene de MICROSOFT

archivo / / Código Fuente: Microsoft Knowledge Base el artículo Q25z985

archivo / / Descripción: elimina los malos caracteres.

archivo //*********************************************** *******

función RemoveBad (strTemp) (

strTemp = g strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/, "");

strTemp retorno;

)

//-- archivo

/ SCRIPT

BODY

BR

H2 MyNiceSite.com / H2

BR

FORM Method="post"action="page2.asp" checkForm();" onsubmit="return

Introduzca su nombre de usuario MyNiceSite.com:

INPUT Type="text"name="userName" width="10" maxwidth="10"

INPUT Type="submit"name="submit" value="Enviar"

/ Form

/ BODY

/ HTML

% End If%

Page2.asp Canadá tales como:

% @ Language = VBScript%

% Dim strUserName

Si Request.QueryString ("Entonces ") "" userName

strUserName Server.HTMLEncode = (Request.QueryString ("username"))

Más

Response.Cookies ("usuario") = Request.Form ("username")

strUserName Server.HTMLEncode = (Request.Form ("nombre de usuario"))

End If%

HTML

HEAD

META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

/ HEAD

BODY

h3 Align="center" Hola: % = strUserName% / H3

/ BODY

/ HTML

Ahora debido a este ataque fue un control efectivo. Que las etiquetas de secuencias de comandos y por código malicioso, están en forma escrita han surgido, como se muestra a continuación:

También aumentar el componente IIS utiliza para filtrar todos los de una entrada dinámica de los caracteres especiales. Para los que tienen buenos sitios web, este enfoque para prevenir ataques de cross-site script es fácil. Podemos bloquear este SOLICITUD objetivos de control de las páginas ASP, puede formar, galleta, el contenido de la cadena de solicitud y los procedimientos para detectar:

También puede escribir archivo de registro a través del método de los datos estadísticos que unen los tubos. Siempre que un cliente ingresa un carácter ilegal, este componente se tome nota de su dirección IP y la hora. Los detalles se encuentran Doug Decano de Roll su propia aplicación IIS en ASPToday artículo .

Sólo tenemos que tomar algunas simples Buju puede efectivamente prevenir un ataque de cross-site script. Aparte de los mencionados tres métodos, Microsoft y el CERT también recomienda encarecidamente el uso de un proceso que ellos llaman "comprobación de validez" enfoque. Por ejemplo, supongamos que sólo se le permite entrar en la ventana de entrada digital, y se lo damos a un número limitado, permitiendo sólo la entrada digital de 0-9. Microsoft y el CERT utiliza para introducir caracteres de este enfoque limitado que el uso independiente de filtrado de caracteres especiales son mucho mejores. Aprobación por estas medidas, puede dejar que aquellos que visitan su sitio cuando los clientes visiten su sitio a proteger.

En segundo lugar, frente a los piratas para atacar a nuestro método de búsqueda:

Al navegar por la red en el momento adecuado para evitar ser ataque? Microsoft y el CERT recomienda no tocar conjeturas salvajes en la línea Hu. En vista de ello, PC Magazine nombró a John Dvorack una columna hecha de una respuesta interesante. Él cree que esto es actos premeditados de Microsoft: es intimidar a la gente que navegan a esos sitios seguro para visitar, como AOL y el sitio Web de MSN.com.

En nuestros ejemplos, incluso si no están en línea al azar errantes, no lo puede evitar los ataques de hackers de Internet. Irónicamente, la mayor parte del riesgo proviene de nuestros sitios de mayor confianza. Si desea que el sitio no debe poner en duda, usted tiene que no descargue ningún contenido dinámico o de cualquier cookie. Predecir los detalles, consulte la información de su navegador.

Microsoft también ha advertido de que el navegador debe establecer la secuencia de comandos Active y limitar estrictamente el estado de correo electrónico está también llamada a limitar estrictamente el modo de recepción. Haga clic en el enlace del mensaje, asegúrese de tener cuidado. Para más información, consulte a un llamado Microsoft''s Knowledge Base el artículo Q253117 libro . Como medida de precaución, es mejor ser un poco más experiencia en línea y tiempo para tener cuidado.

Conclusión

Si usted es un desarrollador de UNIX anterior programa, usted no puede saber lo que significa esa secuencia de comandos entre sitios. Usted sabe que muchos administradores del sitio conectado nombre de usuario y contraseña fueron la raíz, la raíz. El mismo número del nombre y contraseña de administrador de bases de datos fueron sa, la contraseña. Usted sabe Webzine (como Phrack y Alt2600), de acuerdo con los métodos que ofrecen paso a paso le permite conocer la vulnerabilidad de un servidor. En este hardware, también sabe que muchos de los servidores de bases de datos y el servidor del sitio web no son auto-protección. Pero la experiencia de un hacker, la máquina debe parálisis.

Si bien es fácil de tomar para evitar que el sistema de las medidas de los hackers, pero nuestro sistema está expuesto a que el hacker ha estado antes. Tenemos todas las razones para creer que el próximo año habrá nuevas vulnerabilidades de seguridad. Sr. John Howard en el CERT de la empresa bajo la dirección ha sido mencionada en un artículo: "Según el presente estudio, con cada nombre de dominio en el sitio web de la campaña general, los ataques de hackers al menos una vez. "

En los servidores, incluso si sólo uno de estos ataques es insoportable. Cross Site ataques de secuencias de comandos son otra manera de los piratas informáticos pueden utilizar. Sin embargo, sólo es necesario el tratamiento antes mencionado simples pueden prevenir la ocurrencia de este tipo de ataque.
Siempre que pensamos en un momento en que los piratas informáticos, los hackers les gusta este retrato: un solitario, en silencio entró servidores de los demás, de destruir o robar secretos de otras personas. Tal vez él va a cambiar nuestra página de inicio, reclamos fraudulentos a robar a los clientes los números de tarjetas de crédito y contraseñas. Además, el pirata informático ataca a visitar nuestra página web los clientes. Al mismo tiempo, nuestro servidor se convirtió en su cómplice. Microsoft llama a este ataque como una secuencia de comandos "de cross-site" los ataques. La mayoría de estos ataques tuvo lugar en la página web generadas dinámicamente en el momento adecuado, pero el objetivo del hacker no es su sitio, pero visite el sitio web del cliente.

Descripción del ataque de secuencia de comandos entre sitios

En un libro titulado ADVISORY CA--2000-02 de la revista, CERT nos advirtió: Si el servidor de la entrada del cliente no es eficaz de verificación, los hackers maliciosos entrará algo de código HTML, cuando estas HTML SCRIPT programa de código de entrada se utiliza, se puede utilizar para llevar a cabo el sabotaje, como la inserción de algunas imágenes o sonidos ofensivos, etc, pero también puede interferir con el derecho de la página web del cliente.

Sabemos que algunos amigos habían sido inducidos a liberar a un número de sitios sospechosos, que reciben entre 10 y 20 pequeña ventana, estas ventanas son a menudo acompañada por la formación de la falta de JAVA o el botón de seguridad avascript, esto se conoce como la trampa del ratón. Cierre la ventana es en vano, cuando se cierra una ventana, otro se abre la ventana unos cuantos 10. Esto suele ocurrir cuando el administrador no en la Fasheng Hou. Los hackers utilizan el evento de ratón es un ejemplo métodos de ataque SCRIPT de cross-site del cliente.

etiquetas SCRIPT y daños maliciosos no son simples, incluso pueden robar información y destruyó el sistema. No es una inteligente o incluso los piratas informáticos inteligentes son capaces de interferir o cambiar el servidor que utiliza la entrada de datos SCRIPT. código de script también pueden atacar usando los sistemas cliente, hacer daño a su disco duro. Y usted sabe, cuando se utiliza el lado del servidor, los piratas informáticos SCRIPT es también un lugar seguro donde su servidor se está ejecutando a! Si el cliente una carta en su servidor se identifica, la misma confianza que se SCRIPT código malicioso. Incluso el código es en forma de SCRIPT OBJECT o servidor de los hackers.

Incluso con un servidor de seguridad (SSL) no puede evitar los ataques de cross-site SCRIPT. Esto es así porque si el equipo genera código script malicioso también utiliza SSL, el servidor SSL que no podemos identificar el código en el archivo. Tenemos que hacer con el cliente de sitios de confianza a continuación, entregar a los piratas informáticos que? Y la existencia de tales daños, que la posible pérdida de la reputación de su sitio.

En primer lugar, los ataques de cross-site script de ejemplo:

De acuerdo a la información del CERT, entrada dinámica general consta de las siguientes formas: parámetros de URL, elementos de formulario, COOKISE y solicitudes de datos. Analicemos, las dos únicas páginas del sitio web, la página web se llama: MYNICESITE.COM. Primero, utilice un formulario o COOKIE para obtener el nombre de usuario:

% @ Language = VBScript%

% If Request.Cookies ("username") "" Then

Dim strRedirectUrl

strRedirectUrl = "page2.asp? userName ="

strRedirectUrl = strRedirectUrl y Response.Cookies ("username")

Response.Redirect (strRedirectUrl)

Otras ventas %

HTML

HEAD

MyNiceSite.com TITLE Home Page / TITLE

/ HEAD

BODY

H2 MyNiceSite.com / H2

FORM Method="post" action="page2.asp"

Introduzca su nombre de usuario MyNiceSite.com:

INPUT Type="text" name="userName"

INPUT Type="submit" name="submit" value="Enviar"

/ Form

/ BODY

/ HTML

% End If%

La segunda página devuelve el nombre de usuario para dar la bienvenida:

% @ Language = VBScript%

% Dim strUserName

Si Request.QueryString ("username") "" Then

strUserName = Request.QueryString ("username")

Más

Response.Cookies ("usuario") = Request.Form ("username")

strUserName = Request.Form ("username")

End If%

HTML

HEAD / HEAD

BODY

h3 Align="center" Hola: % = strUserName% / H3

/ BODY

/ HTML

Al introducir texto normal a menudo, todo es normal. Si ingresa el código de secuencia de comandos: alerta SCRIPT (''Hola script .''; /, etiqueta de advertencia avascript aparecerá:

La próxima vez que usted visita, esta etiqueta de advertencia aparecerá la misma; Esto es porque el código de secuencias de comandos en su momento después de la primera visita había sido permanecer en una cookie. Este es un ejemplo sencillo de ataques de cross-site.

Si usted piensa que esto es un caso especial, también podría buscar en otra parte en línea, en persona intentarlo. Tengo algunos grandes sitios de la administración web, sitios educativos y sitios comerciales probados, fueron de hecho, parte de esa situación se produjo, incluso encontré un sitio que suelen utilizar las tarjetas de crédito son en realidad en la entrada sin ningún tipo de filtrado, Piensa realmente terrible.

En segundo lugar, el uso de E-Mail para Cross Site Script ataque

ataque de secuencia de comandos en sitios cruzados utilizados en el servidor de listas, los servidores de Usenet y servidores de correo son particularmente vulnerables a venir. El siguiente es un ejemplo para explicar MyNiceSite.com sitio. Dado que a menudo navegar por este sitio, su contenido no soltarlo te amo, por lo que inconscientemente pone el navegador en una dinámica de contenido Web es siempre confiar en este ajuste.

MyNiceSite.com sitio es siempre a través de la venta de suscripción de correo electrónico de sus cartas por correo electrónico a obtener ingresos, lo que es de hecho una muy buena idea. Así que lo compré en una dirección de buzón. E hizo una gran cantidad de correo a usted. En la carta, te digo lo antes posible visitar este sitio y revisar su cuenta con la última situación. Para darle una forma práctica, también hice un enlace a esta carta. Yo enlace URL, el parámetro nombre de usuario en el código de secuencia de comandos para lamer agregó. Algunos clientes sin saberlo, haga clic en este enlace, que está en mi, cuando (en la foto), y también se han beneficiado de:

Es este trabajo, como cuando se hace clic en este enlace tras enlace en el código de secuencia de comandos se utiliza para guiar su navegador para descargar mi programa avascript y ejecutarlo. Mi control de secuencias de comandos para utilizar el navegador IE, para proceder a la descarga particularlyNasty.dll ActiceX control. Porque antes de tener el contenido de este sitio web que siempre es seguro, así que mi código de secuencia de comandos y controles Active en su máquina puede funcionar libremente.

3, Activex descripción ataque

Al discutir el ActiveX, CERT y Microsoft no se hace referencia a la secuencia de comandos entre sitios método del riesgo que representa. W3C En "La Seguridad Preguntas más frecuentes problemas de seguridad de ActiveX se hicieron en una descripción más detallada. applet de Java en el control del sistema está estrictamente limitado. Dom desarrollo cuando establece que sólo aquellos que no representan una amenaza a la seguridad del sistema se puede ejecutar la operación.

Por otra parte, ActiveX en el funcionamiento del sistema no es estrictamente limitado. Sin embargo, si uno se ha descargado, puede instalar el ejecutable al igual que lo que querían hacer lo mismo. navegador Internet Explorer para que esta característica también a ciertas restricciones, como las del sitio inseguro, en su configuración por defecto no permite que usted descargue o darle una advertencia. Se basa en el desarrollo de ActiveX para compañías como VeriSign Inc., han dado contados los controles ActiveX. Cuando se descarga después de que el control de tiempo, el navegador IE le dará una alerta y muestra el grado de su malvado credibilidad. Por que el usuario decida si desea que este control. Como un sistema aumenta la seguridad.

Sin embargo, para aquellos usuarios que no tienen mucha experiencia, muchas veces no conscientemente en el original fue modificado para permitir que estos controles en el caso sin ningún tipo de instrucciones para descargar el archivo. Además, un novato, incluso en el caso de un mensaje para descargar sin pensar en no hacer ninguna marca en la que los controles. En nuestros ejemplos, ya que confía en el sitio, cambiar la configuración del navegador, por lo que, los controles ActiveX sin preguntar para descargar, y sin saberlo en su máquina comienza a funcionar .

4, 16 hexadecimal codificado ataque de secuencias de comandos ActiveX

Malas Intenciones debe distinguir entre la etiqueta y el guión es muy difícil. Script también puede ser en forma hexagonal, de 16 de esconderse. Echemos un vistazo a los siguientes E-mail este ejemplo por favor? Es en la forma hexagonal de 16 es enviado:

Es casi un mensaje completo, que contiene un 16 hexagonal forjado parámetros URL: mynicesite.com = remitente. Cuando el usuario hace clic en el enlace, el navegador del usuario se iniciará el primer caso se refiere directamente a la tramitación de la pop-up de advertencia ventana.

Parte II: El ataque de Cross Site Script de Prevención del Delito

En primer lugar, cómo evitar ser servidor de ataques de cross-site script

Afortunadamente, la prevención de ataque a través de el sitio de tecnología de secuencias de comandos está perfeccionando. Varias maneras esto se puede tomar para prevenir los ataques de cross-site script:

1. En las páginas generadas dinámicamente se codifican los caracteres

2. Para filtrar y limitar la entrada

3. El uso de HTML y la codificación URL

1. En las páginas generadas dinámicamente se codifican los caracteres

En primer lugar, debe utilizar se genera dinámicamente las páginas de la codificación de caracteres, usted tiene que hacerlo, o pirata informático puede cambiar el juego de carácter y fácilmente a través de su línea de defensa. Si nuestro sitio web está en Inglés, así que si nos fijamos la codificación de caracteres en caracteres latinos ISO-8859-1 en la línea, de la siguiente manera:

META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

2. Filtros y restringir todos los datos de entrada

Esto es para evitar que entre sitios de secuencias de comandos El segundo método de ataque, durante su registro pulg No deje que los caracteres especiales se introducen. Por lo tanto, podemos agregar procedimientos avascript manera onSubmit para llevar a cabo esta función. En este caso, limitamos sólo pueden entrar 15 caracteres. Esto evitará que las secuencias de comandos de entrada a largo.

En Knowledge artículo de la Base QA252985 Este libro ofrece un breve programa de Microsoft avascript para completar los datos de entrada de filtrado. También hemos introducido en las circunstancias específicas de este código para nuestro ejemplo, como:

checkForm función () (

document.forms [0]. userName.value = _

RemoveBad (document.forms [0]. UserName.value);

return true;

)

/ / MICROSOFT' CÓDIGO

función RemoveBad (strTemp) (

strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g ,"");

strTemp retorno;

)

Usando este método, puede filtrar los contenidos en el carácter de entrada:

% [] (); Y + - "''()

3. El uso de HTML y la codificación URL

Aunque el uso de filtros y restricciones mencionadas anteriormente, el método de entrada consiste en utilizar un medio de defensa muy importante, pero era mi forma de este tipo de ataques por correo o por poder. Puse los parámetros de URL directamente en el mensaje. En vista de esto tenemos que tomar una medidas de seguridad más robusta. Si usamos ASP, en términos relativos, para resolver mucho más fácil. Mientras el total de páginas generadas dinámicamente HTML y la codificación de URL en la línea. El caso de nuestro ejemplo, entrar en la primera página de la URL de redireccionamiento de hacer los cambios siguientes:

strRedirectUrl strRedirectUrl = & _

Server.URLEncode (Response.Cookies ("username"))

Nos unimos en la aplicación de la página:

strUserName Server.HTMLEncode = (Request.QueryString ("username"))

Y

strUserName Server.HTMLEncode = (Request.Form ("nombre de usuario"))

Microsoft recomienda para todas las entradas y salidas de las páginas dinámicas deben ser codificados. Incluso los datos en la base de datos y eliminar la misma deberá ser veraz. Así que en gran medida puede evitar el ataque de cross-site script.

Para lograr esto hay que añadir en Page1.asp:

% @ Language = VBScript%

% If Request.Cookies ("username") "" Then

''Redirect si detecta la cookie

Dim strRedirectUrl

strRedirectUrl = "page2.asp? userName ="

strRedirectUrl strRedirectUrl = & _

Server.URLEncode (Request.Cookies ("username"))

Response.Redirect (strRedirectUrl)

Otras ventas %

HTML

HEAD

META Http-equiv="Content-Type"content="text/html; charset=ISO-8859-1"

MyNiceSite.com TITLE Home Page / TITLE

/ HEAD

SCRIPT LANGUAGE="avascript"

! -

checkForm función () (

document.forms [0]. userName.value =

RemoveBad (document.forms [0]. UserName.value);

return true;

)

archivo //*********************************************** *******

archivo / / Programador: NO Código original - Viene de MICROSOFT

archivo / / Código Fuente: Microsoft Knowledge Base el artículo Q25z985

archivo / / Descripción: elimina los malos caracteres.

archivo //*********************************************** *******

función RemoveBad (strTemp) (

strTemp = g strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/, "");

strTemp retorno;

)

//-- archivo

/ SCRIPT

BODY

BR

H2 MyNiceSite.com / H2

BR

FORM Method="post"action="page2.asp" checkForm();" onsubmit="return

Introduzca su nombre de usuario MyNiceSite.com:

INPUT Type="text"name="userName" width="10" maxwidth="10"

INPUT Type="submit"name="submit" value="Enviar"

/ Form

/ BODY

/ HTML

% End If%

Page2.asp Canadá tales como:

% @ Language = VBScript%

% Dim strUserName

Si Request.QueryString ("Entonces ") "" userName

strUserName Server.HTMLEncode = (Request.QueryString ("username"))

Más

Response.Cookies ("usuario") = Request.Form ("username")

strUserName Server.HTMLEncode = (Request.Form ("nombre de usuario"))

End If%

HTML

HEAD

META Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"

/ HEAD

BODY

h3 Align="center" Hola: % = strUserName% / H3

/ BODY

/ HTML

Ahora debido a este ataque fue un control efectivo. Que las etiquetas de secuencias de comandos y por código malicioso, están en forma escrita han surgido, como se muestra a continuación:

También aumentar el componente IIS utiliza para filtrar todos los de una entrada dinámica de los caracteres especiales. Para los que tienen buenos sitios web, este enfoque para prevenir ataques de cross-site script es fácil. Podemos bloquear este SOLICITUD objetivos de control de las páginas ASP, puede formar, galleta, el contenido de la cadena de solicitud y los procedimientos para detectar:

También puede escribir archivo de registro a través del método de los datos estadísticos que unen los tubos. Siempre que un cliente ingresa un carácter ilegal, este componente se tome nota de su dirección IP y la hora. Ver detalles en las Doug Decano de Roll su propia aplicación IIS en ASPToday artículo .

Sólo tenemos que tomar algunas simples Buju puede efectivamente prevenir un ataque de cross-site script. Aparte de los mencionados tres métodos, Microsoft y el CERT también recomienda encarecidamente el uso de un proceso que ellos llaman "comprobación de validez" enfoque.例如,假设有个输入窗口只允许输入数字,我们就给它做个限定,只允许0-9数字的输入。微软和CERT所采用的这种对输入的字符进行限定的办法要比单独的采用过滤特殊字符要好得多。采用了这些措施后你就能让那些参观你网站的客户在访问你网站时受到保护。

二、免受黑客攻击我们浏览器方法:

当你在网上漫游的时侯,怎样来避免受到攻击呢?微软和CERT建议不要在网上胡碰乱撞。针对这种情况,PC杂志一个栏目的名叫John Dvorack作者作了一个饶有兴趣的回答。他认为这是微软公司一起有预谋的行为:就是用来恐吓网上冲浪的人到那些安全的站点去浏览,如美国在线和MSN.com网站。

在我们所举的例子中,即使你不在网上胡乱游荡,也不能避免在网上遭到黑客的袭击。具有讽刺意义的是,大多数的危险都来自于我们最信任的网站。如果要让网站一定不出问题,你只好不下载任何动态内容或者任何cookie。预知详情请参阅浏览器的相关资料。

微软也警告你们应把浏览器的Active Script设置成严格限制的状态并把Email也设成严格限制的接收模式。在点击邮件中的链接时,一定要小心。如需进一步了解情况请参阅一本名叫<<Microsoft''s Knowledge Base Article Q253117>>的书。为了以防万一,你最好是多一点上网经验,并且时刻要小心谨慎。

结论

如果你是以前的UNIX程序开发人员,你也许不会知道跨站script意谓着什么。你知道许多站点的管理人员登录的用户名和密码分别为root,root.同样许多数据库管理员的名称和密码分别为sa,password。你也知道Webzine(如Phrack 和 Alt2600),依据他们所提供的方法能让你一步步地知道某台服务器的弱点。在这种硬件上,你也知道许多网站的数据库服务器和web服务器都没有进行自我保护。一但遭遇黑客,机器就得瘫痪。

尽管我们很容易采取防止系统受到黑客的攻击的措施,但我们的系统是一直暴露在黑客面前的。我们完全有理由相信下一年还会出现一些新的安全漏洞。在CERT公司John Howard先生指导下完成的一篇论文中曾提到:"跟据目前的研究显示,每个在英特网上具有域名的网站平均一年被黑客至少攻击一次。"

对服务器来说那怕只是一次这种攻击也是不能承受的。跨站Script攻击是黑客可采用的另一种方法。但我们只要进行以上所说的一些简单的处理就能防止这种形式攻击的发生。