Zaid: Ahora hablemos
de cómo podemos prevenir las vulnerabilidades XSS.
La forma en que ocurren estas vulnerabilidades
es porque cada vez que un usuario ingresa
algo en
un cuadro de texto o
en un parámetro, esa entrada se muestra en el HTML.
Por lo tanto, se trata como si fuera parte de
la página y, por lo tanto, si contiene JavaScript,
el código se está ejecutando.
Por lo tanto, para evitar este exploit, lo mejor
que puede hacer es
intentar minimizar el uso de entradas que no sean de confianza.
Entonces, cada vez que un usuario
ingresa algo o en cualquier momento la entrada de
algo desde los parámetros, intente minimizar eso.
Además, asegúrese
de escapar siempre de lo que
se mostrará o usará en
la página HTML, porque XSS no
solo se puede inyectar en los lugares
donde se muestran las cosas en la página,
sino que también se puede inyectar en los parámetros
de ciertos elementos de la página HTML.
Entonces, lo que quiero decir
con escapar es convertir cada uno
de estos caracteres a lo que estarían representados en HTML.
Puede hacerlo usando scripts
y puede hacerlo usando su propio script.
Ahora, déjame mostrarte cómo sucede esto.
Ahora estoy aquí en mi página web vulnerable que
estábamos usando, y
voy a ir a la de almacenamiento.
Y, obviamente, puede
ver que cada vez que hacemos clic en eso, el XSS se ejecuta.
Así que inspeccionemos este elemento.
Ahora este elemento es donde inyectamos nuestra alerta.
Y si hacemos
clic derecho y seguimos inspeccionando elemento,
nos mostrará el HTML de esta página, o el HTML
de este elemento en particular aquí mismo,
resaltado.
Así que haré esto más grande.
Y si lo miramos aquí mismo, verá que
tenemos el nombre, y
ese es Zaid.
Y luego la otra entrada, que es el mensaje, es un
guión, y el
guión lo que hace el guión
hace un ejercicio de alerta.
Así que es exactamente lo que le inyectamos cuando
hicimos el comentario.
Entonces, cada vez que estamos en
esta página, se ejecuta este fragmento de código.Entonces, lo que
debemos hacer es
asegurarnos cada vez que un usuario ingresa algo y
que algo se mostrará en una página, o
que algo se usará en algún lugar. en los elementos.
Entonces, incluso la ID aquí
o incluso la H, la ID es solo, por
ejemplo, es un parámetro
del div, no se muestra, nunca ve
esta ID, pero esto puede ser inyectable, también puede inyectarse.
Entonces, los piratas informáticos pueden intentar inyectar cosas en
los parámetros, pueden intentar inyectar cosas en los
atributos de la imagen, por ejemplo, pueden
hacer una imagen
e inyectar cosas en la fuente
o en la URL.
Así que este es solo un ejemplo aquí.
Y cada vez que la entrada de los usuarios se utilizará en
cualquier lugar de la página, por lo que
incluso si no la ve, si normalmente no la ve,
debe asegurarse de escapar de esa
entrada y
asegurarse de que sí. no contiene
ningún código, y si
contiene algún código que se convierte en un equivalente,
el código no se ejecutará.
Por lo tanto, se convierte a su equivalente HTTP,
de modo que, en realidad, una vez que escape de
esto, verá esto en el mensaje.
Entonces verá el mensaje como una alerta de secuencia
de comandos XSS, pero nunca se ejecutará.
Este script nunca se ejecutará realmente en la
persona de destino cuando lo ejecute.
Ahora como usuario, para evitar
que te utilicen en un ataque XSS.
Ahora, la URL que le llega probablemente
se verá como la URL de un sitio web de confianza,
por ejemplo,
supongamos que trabaja en una empresa
y había un XSS en su empresa, y
está iniciando sesión en su empresa y
el código se ejecuta. en ti, entonces
no hay mucho que puedas hacer tú mismo.
Pero tienes que tener cuidado.
Entonces, con BeEF, vimos que para explotar
las vulnerabilidades, estábamos mostrando, por ejemplo,
una actualización falsa.
Así que asegúrese de que cuando reciba un mensaje
siempre que
haya una actualización, asegúrese de ir al sitio
web que proporciona esa aplicación.
Entonces, si
Firefox dijo que hay una actualización, vaya al sitio web de Firefox
y vea si realmente hay una actualización.
Y si lo hay, descárguelo de ese sitio
web, no lo descargue de la notificación que recibió.
También asegúrese de descargarlo de un sitio web HTTPS.
Y una vez que lo descargue, puede inspeccionarlo y verificarlo
de la misma manera
que lo hemos visto antes para asegurarse
de que no haya puertas traseras ni nada en él.
También puede verificar el md5sum, para asegurarse de
que el archivo no haya
sido manipulado mientras se estaba descargando.
Lo mismo cuando hicimos el inicio de
sesión falso de Facebook cuando estás con BeEF, así que lo que
puedes hacer es
cuando te digan que te desconectaste, vuelve a
iniciar sesión, nuevamente, ignora eso.
Ir a Facebook. com, asegúrese de que esté pasando por HTTPS
y luego inicie sesión en Facebook.
Por lo tanto, siempre trate de tener cuidado con las notificaciones que le
dicen que debe hacer algo.
Sea siempre cauteloso
y nunca confíe en ellos.