CORScanner v1.0 lanza: Escáner de vulnerabilidades de configuración errónea de CORS rápido

Acerca de CORScanner

CORScanner es una herramienta de Python diseñada para descubrir las vulnerabilidades de configuración incorrecta de los sitios web de CORS Ayuda a los administradores de sitios web y a los evaluadores de penetración a verificar si los dominios / urls a los que se dirigen tienen políticas CORS inseguras.
La configuración correcta de la política CORS es crítica para la seguridad del sitio web, pero las configuraciones CORS tienen muchos casos de esquina propensos a errores. Los desarrolladores web que no son conscientes de estos casos de esquina pueden cometer errores. Por lo tanto, resumimos los diferentes tipos comunes de errores de configuración de CORS y los integramos en esta herramienta, para ayudar a los desarrolladores / profesionales de la seguridad a localizar y detectar rápidamente tales problemas de seguridad.
CORScanner

Caracteristicas

  • Rápido . Usa  gevent en lugar de hilos de Python para la concurrencia, que es mucho más rápido para el escaneo en red.
  • Integral . Cubre todos  los tipos comunes de errores de configuración de CORS sabemos.
  • Flexible . Admite varias funciones de autodefinición (por ejemplo, salida de archivo), que son útiles para el escaneo a gran escala.

Tipos de mala configuración

Esta herramienta cubre los siguientes tipos de configuración errónea:
Tipo de configuración incorrectaDescripción
Reflect_any_originRefleja ciegamente el valor del encabezado de origen  Access-Control-Allow-Origin headers en las respuestas, lo que significa que cualquier sitio web puede leer sus secretos mediante el envío de solicitudes de orígenes cruzados.
Prefijo_matchwwww.example.com Fideicomisos  example.com.evil.com, que es el dominio de un atacante.
Sufijo_matchwwww.example.com Fideicomisos  evilexample.com, que pueden ser registrados por un atacante.
Not_escape_dotwwww.example.com Fideicomisos  wwwaexample.com, que pueden ser registrados por un atacante.
Partido de subcadenawwww.example.com Fideicomisos  example.co, que pueden ser registrados por un atacante.
Trust_nullwwww.example.com Fideicomisos  null, que pueden ser forjados por scripts de sandbox de marco.
HTTPS_trust_HTTPDependencia de confianza arriesgada, un atacante MITM puede robar los secretos del sitio HTTPS
Trust_any_subdomainDependencia de confianza arriesgada, un subdominio XSS puede robar sus secretos
custom_third_partiesLos orígenes personalizados de terceros inseguros como  github.io, ver más en origins.json expediente. Gracias  @phackt!

Instalación

git clone https://github.com/chenjj/CORScanner.git 
sudo pip install -r Requirements.txt

Uso

Forma cortaForma largaDescripción
-u–UrlURL / dominio para comprobar su política CORS
-yo-entradaURL / archivo de lista de dominios para verificar su política CORS
-t-traposNúmero de hilos a utilizar para la exploración de CORS
-o-salidaGuarda los resultados en un archivo de texto
-v-verbosoHabilite el modo detallado y visualice los resultados en tiempo real.
-h-ayudamostrar el mensaje de ayuda y salir

Ejemplos

  • Para verificar las configuraciones erróneas de CORS de un dominio específico:
python cors_scan.py -u example.com
  • Para comprobar las configuraciones erróneas de CORS de una URL específica:
python cors_scan.py -u http://example.com/restapi
  • Para verificar las configuraciones erróneas de CORS de múltiples dominios / URL:
python cors_scan.py -i top_100_domains.txt -t 100
  • Para enumerar todas las opciones básicas y los interruptores, use el interruptor -h:
python cors_scan.py -h

Manifestación

Copyright (c) 2018 Jianjun Chen


Comentarios