Estoy tratando de verificar la configuración de CORS de un sitio web usando cURL. El siguiente comando debería permitirme verificar si la configuración de CORS puede considerarse segura o si se pueden realizar solicitudes a través de los orígenes.
Estoy realizando una comprobación de verificación previa, pero lo mismo debería funcionar con la solicitud normal y el encabezado de origen.
Comprobación previa:
curl -H "Origin: https://example.local" \
-H "Access-Control-Request-Method: POST" \
-H "Access-Control-Request-Headers: X-Requested-With" \
-X OPTIONS -D - -o /dev/null\
-x http://127.0.0.1:8080/\
https://example.com
OBTENER con Origen:
curl -H "Origin: https://example.local"\
-D - -o /dev/null\
https://example.com
Ahora lo que no entiendo es que la aplicación de destino simplemente responde con el contenido como de costumbre. No hay encabezados Access-Control-Allow-Origin
, Access-Control-Allow-Methods
y Access-Control-Allow-Headers
.
Así que efectivamente no puedo decidir si la configuración de CORS es segura o no. Intenté enviar las solicitudes a través de Burp (con los dos métodos a continuación), pero algo está mal y la solicitud nunca llega a Burp.
Método 1 cURL:
curl [...] -x http://127.0.0.1:8080/ [...]
Método 2 CLI:
export https_proxy='https://127.0.0.1:8080/'
export http_proxy='http://127.0.0.1:8080/'
curl [...]
export https_proxy=''
export http_proxy=''
Lo que puede causar el comportamiento extraño de la aplicación web con mis solicitudes de Pre-vuelo de OPCIONES y la solicitud GET con el encabezado de origen. ¿Cómo puedo enviar la solicitud a través de Burp para verificar la solicitud en sí?