¿Cuáles son las prácticas generales para descubrir vulnerabilidades XSS?
En cuanto al momento del descubrimiento, este dependerá del objetivo que se detecte. El momento en que se descubrió la vulnerabilidad de Google fue definitivamente diferente del momento en que se descubrió la vulnerabilidad de Tencent. En cuanto a "¿Cómo se encuentran generalmente las vulnerabilidades XSS?" Los diferentes tipos de vulnerabilidades XSS pueden ser diferentes.
1. Para XSS reflejado y algunos DOM XSS, generalmente se recomienda desarrollar algunas herramientas de escaneo automático para escanear, complementadas con análisis manual. Por otro lado, los motores de búsqueda también son una excelente manera de encontrar rápidamente parámetros defectuosos.
2. Para XSS almacenado,
① Para entrada-gt simple; almacenamiento-gt (la relación entre el punto de entrada y el punto de salida: una entrada, habrá Salida; en múltiples lugares; entrada en diferentes lugares, salida en el mismo punto final T T...). El método de prueba convencional es reenviar directamente el contenido y luego verificar si no está filtrado en el punto de salida. Por supuesto, también puede asumir audazmente que el punto de salida no está filtrado y, a la inversa, encontrar dónde se realizó la entrada y luego. prueba.
2) Para texto enriquecido, el filtro debe ser difuso (automatización del cerebro humano). Dio la casualidad de que uuu publicó un artículo en Wuyun Didi: filtro XSS difuso.
3) La tercera categoría es el XSS almacenado en DOM que aparece en algunas aplicaciones WEB, es decir, contenido inofensivo en el punto de salida, que se volverá peligroso a través de algunas operaciones DOM de js (esencialmente la misma causa de DOM XSS en el punto 1). Personalmente creo que es difícil resumir este tipo de método de minería. En primer lugar, debe estar familiarizado con las funciones de la aplicación WEB. En segundo lugar, debe saber qué códigos JS corresponden a las funciones. En tercer lugar, debe adivinar intuitivamente qué funciones utilizarán los programadores que pueden hacer que se olvide o se olvide el filtrado XSS. filtrado incorrectamente (la intuición es un farol, de hecho, usted sabe que algunas funciones requerirán algún código para implementarse y estos códigos a menudo son propensos a errores). Cuarto, ¡debe tener buenas habilidades de lectura y seguimiento de códigos! (Hay mucho JS. Todavía es bastante difícil de leer... Parte del código está confuso y es muy difícil de leer, e implica habilidades de depuración sobre cómo colocar puntos de interrupción). Creo que el requisito previo para un estudio en profundidad de este tipo de problemas puede ser tener bastante experiencia en desarrollo front-end y escribir mucho para tener un olfato lo suficientemente bueno.
De hecho, a veces buscar lagunas puede resultar muy agotador. Hay grandes beneficios y pequeñas desventajas. También podemos codificar, escuchar música y esperar esas cosas interesantes en la vida. Estas ganancias a menudo provienen de cosas que te dan las personas que te rodean.
Finalmente, pase lo que pase, la base es muy importante. Si la fuerza interna no es suficiente, por muchos movimientos que tengas, será inútil. Por el contrario, cualquier hierba, madera, bambú. , o la piedra se puede utilizar como espada.