Files
los-vecinos-de-cisco/no/test_special_chars.sh
T
2025-12-09 12:45:15 +01:00

71 lines
2.7 KiB
Bash

#!/bin/bash
# Script para probar manejo de contraseñas con caracteres especiales
# Uso: ./test_special_chars.sh
echo "🔧 PRUEBA DE MANEJO DE CARACTERES ESPECIALES EN CONTRASEÑAS"
echo "============================================================"
# URL del servicio
URL="https://localhost:8443/mac-monitor"
HEADERS="Content-Type: application/json"
echo ""
echo "1. 📝 Probando contraseña con ! (sin escape)"
echo " Password: Tr4!D0r3s"
RESPONSE1=$(curl -s -k -X POST "$URL" -H "$HEADERS" -d '{"host": "10.150.226.19", "username": "itops", "password": "Tr4!D0r3s", "use_legacy_ssh": true}')
if [[ $RESPONSE1 == *"JSON inválido"* ]]; then
echo " ❌ ERROR: $RESPONSE1"
else
echo " ✅ JSON válido - Conectando..."
fi
echo ""
echo "2. 📝 Probando contraseña con @ y # y $"
echo " Password: P@ssw0rd#123$"
RESPONSE2=$(curl -s -k -X POST "$URL" -H "$HEADERS" -d '{"host": "10.150.226.19", "username": "itops", "password": "P@ssw0rd#123$", "use_legacy_ssh": true}')
if [[ $RESPONSE2 == *"JSON inválido"* ]]; then
echo " ❌ ERROR: $RESPONSE2"
else
echo " ✅ JSON válido - Conectando..."
fi
echo ""
echo "3. 📝 Probando contraseña con espacios"
echo " Password: 'Mi Contraseña 123!'"
RESPONSE3=$(curl -s -k -X POST "$URL" -H "$HEADERS" -d '{"host": "10.150.226.19", "username": "itops", "password": "Mi Contraseña 123!", "use_legacy_ssh": true}')
if [[ $RESPONSE3 == *"JSON inválido"* ]]; then
echo " ❌ ERROR: $RESPONSE3"
else
echo " ✅ JSON válido - Conectando..."
fi
echo ""
echo "4. 📝 Probando contraseña con comillas (usando archivo temporal)"
echo " Password: Pass\"word"
echo '{"host": "10.150.226.19", "username": "itops", "password": "Pass\"word", "use_legacy_ssh": true}' > /tmp/test_payload.json
RESPONSE4=$(curl -s -k -X POST "$URL" -H "$HEADERS" -d @/tmp/test_payload.json)
rm -f /tmp/test_payload.json
if [[ $RESPONSE4 == *"JSON inválido"* ]]; then
echo " ❌ ERROR: $RESPONSE4"
else
echo " ✅ JSON válido - Conectando..."
fi
echo ""
echo "5. ❌ Probando escape incorrecto de !"
echo " Password: Tr4\\!D0r3s (incorrecto)"
RESPONSE5=$(curl -s -k -X POST "$URL" -H "$HEADERS" -d '{"host": "10.150.226.19", "username": "itops", "password": "Tr4\!D0r3s", "use_legacy_ssh": true}')
if [[ $RESPONSE5 == *"JSON inválido"* ]]; then
echo " ✅ Error esperado: $RESPONSE5"
else
echo " ❌ No debería funcionar: $RESPONSE5"
fi
echo ""
echo "📋 RESUMEN:"
echo " - Los caracteres ! @ # $ % & * + = funcionan sin escape en JSON"
echo " - Los espacios funcionan normalmente dentro de comillas"
echo " - Solo necesitan escape: \" \\ y caracteres de control \\n \\t \\r"
echo " - NO usar \\! para escapar exclamación en JSON"
echo ""
echo "✅ Pruebas completadas"