Comandos cURL para Pentesting
En esta hoja de trucos, aprenderás los 15 comandos Curl más comunes para realizar pruebas de seguridad de la aplicación web.
Curl permite a los testers interactuar con aplicaciones web y APIs modificando los campos de cabecera HTTP que son esenciales para las pruebas de API, pruebas de Autenticación, manejo de cookies, etc.
- Solicitud GET básica
curl http://example.com
- Guardar la salida en un archivo
curl -o output.html http://example.com
- Seguir redireccionamientos
curl -L http://example.com
- Especificar User-Agent
curl -A "User-Agent: MyBot" http://example.com
- Establecer cabeceras
curl -H "Authorization: Bearer token" http://example.com
- Enviar datos POST
curl -X POST -d "key=value" http://example.com
- Enviar datos JSON
curl -X POST -H "Content-Type: application/json" -d '{"key": "value"}' http://example.com
- Subir un archivo
curl -X POST -F "file=@localfile.txt" http://example.com/upload
- Autenticación básica
curl -u username:password http://example.com
- Ignorar la verificación del certificado SSL
curl -k https://example.com
- Mostrar sólo las cabeceras de respuesta
curl -I http://example.com
- Mostrar las cabeceras de solicitud y respuesta
curl -i http://example.com
- Limitar el tiempo máximo de la petición
curl --max-time 10 http://example.com
- Utilizar un proxy SOCKS5
curl --socks5 localhost:1080 http://example.com
- Mostrar tiempos
curl -w "Connect time: %{time_connect}, Total time: %{time_total}\n" http://example.com
- Seguir enlaces en un sitio web (web crawling)
curl -s http://example.com | grep -o 'href="[^"]*"' | sed -e 's/^href="//' -e 's/"$//' | grep 'http' | sort -u