professor keller escribió: ↑01 Feb 2020 16:20
Muchas gracias por el trabajo,
droid.
Alekhine escribió: ↑01 Feb 2020 16:05Ciértamente publiqué la doble incidencia con la esperanza de poder comprobar lo que quería comprobar y que he comprobado... y por si no le fuera suficiente al troll,
antes de ayer volvió a intentarlo...,
así que cada vez lo tengo más claro.
De ser posible, creo que sería bueno que la persona a cargo de los asuntos técnicos del foro pudiera ofrecer alguna explicación a estos sucesos, dejando así menos espacio para la especulación. Me parece que para los usuarios es importante tener un reaseguro en este sentido, en lugar de alimentar una sensación de acoso o vulnerabilidad permanente.
Hola
Keller…
Por favor, permíteme que salga
al corte de tu propuesta aunque, si bien es cierto que no formo parte del
Área de Temás Técnicos, sí que en cambio resulta que tengo algunos conocimientos sobre la materia.
Así pues, voy a intentar relatar el
proceso de actuación del código PHP de un Foro en los intentos de conexión a las cuentas de usuarios.
Cuando un usuario pretende acceder al Foro, ya sabéis que éste ingresa su
nombre de usuario y a su vez teclea su
password.
Tras ello, el sistema tomará nota del
nombre de usuario y el
password indicado, para acto seguido y tras codificar en MD5 dicho
password, buscar dicho
nombre de usuario en el campo “
username” de la tabla “
phpbb_USERS” la cual
recoge los datos identificativos de los usuarios.
Localizado el registro, obtendrá el
código de usuario que aparece en el campo “
user_id” y a continuación hará la comparación
del pasword tecleado y codificado en MD5, con el
password (también encriptado en MD5) que se conserva dentro del campo “
user_password” de dicha tabla.
A continuación va a la tabla “
phpbb_LOGIN_ATTEMPS” la cual
recoge los intentos de acceso infructuosos realizados. Dicha tabla es la siguiente:
Así pues, en el campo “
user_id” de la misma, buscará el
código de usuario en cuestión,
pudiéndose dar tres casos:
Caso A) No encuentra ningún registro. En este caso verificará sí la comparativa “
pasword tecleado y codificado en MD5“ versus “
password encriptado en MD5 conservado en el campo ‘user_password’ es
cierta o
falsa, de modo que
se abren dos vías:
+
Caso A1.- Cierta ==> Permitirá el acceso al Foro al usuario.
+
Caso A2.- Falsa ==> No permitirá el acceso al Foro, pasando a escribir un registro en los campos de la tabla “
phpbb_LOGIN_ATTEMPS” con la siguiente información:
- En el campo “
attemp_ip” la
dirección IP del atacante.
- En el campo “
attemp_browser” el tipo de navegador del mismo.
- En el campo “
attemp_time” y bajo una codificación de 10 dígitos el día y la hora del ataque.
- En el campo “
user_id” el “
código de usuario” del atacado.
- En el campo “
username” el “
nombre de usuario” del atacado.
- En el campo “
username_clean” el “
nombre de usuario”, en minusculas, del atacado
Una vez escrita esa información presentará una ventana por la que sugiere que se vuelva a introducir el
nombre de usuario y el
password.
Caso B) Encuentra un número de registros inferior al límite de conexiones fallidas concertado en la configuración del Foro. En este caso verificará sí la comparativa “
pasword tecleado y codificado en MD5“ versus
“password encriptado en MD5 conservado en el campo ‘user_password’ es
cierta o
falsa, de modo que
se abren de nuevo dos vías:
+
Caso B1.- Cierta ==> Permitirá el acceso al Foro al usuario y borrará de la tabla “
phpbb_LOGIN_ATTEMPS” los registros de intentos de conexión fallida correspondientes a dicho usuario existentes en la misma.
+
Caso B2.- Falsa ==> No permitirá el acceso al Foro, pasando a escribir un nuevo registro en los campos de la tabla “
phpbb_LOGIN_ATTEMPS” con la siguiente información:
- En el campo “
attemp_ip” la
dirección IP del atacante.
- En el campo “
attemp_browser” el tipo de navegador del mismo.
- En el campo “
attemp_time” y bajo una codificación de 10 dígitos el día y la hora del ataque.
- En el campo “
user_id” el “
código de usuario” del atacado.
- En el campo “
username” el “
nombre de usuario” del atacado.
- En el campo “
username_clean” el “
nombre de usuario”, en minusculas, del atacado
Una vez escrita esa información presentará una ventana por la que sugiere que se vuelva a introducir el
nombre de usuario y el
password.
Caso C) Encuentra un número de registros igual o superior al límite de conexiones fallidas concertado en la configuración del Foro. En este caso independientemente de que la comparativa “
pasword tecleado y codificado en MD5“ versus “
password encriptado en MD5 conservado en el campo ‘user_password’ haya sido
cierta,
presentará una nueva ventana en la que volverá a pedir el
nombre de usuario y el
password, así como
la resolución de un captcha.
Sí en este caso todo fuera bien, se borrarían de la tabla “
phpbb_LOGIN_ATTEMPS” los registros de intentos de conexión fallida correspondientes a dicho usuario existentes en la misma; y sí no se hubiera resuelto bién, se volverían a escribir en la misma los nuevos datos de este nuevo ataque en los campos ya indicados.
ooo000ooo
Bien,
dicho esto,
lo que el usuario atacado puede hacer, nada mas ver que le sale la pantalla donde se le indica que se ha superado el límite de conexiones (razón por la cual deberá volver a introducir sus datos y resolver además un
captcha de seguridad) es
NO ACCEDER al foro de momento, de modo que los datos referentes a su cuenta en la tabla “
phpbb_LOGIN_ATTEMPS” NO se borren,
y ponerse en contacto con la Administración, para comunicarles este hecho y que ellos puedan investigarlo.
De ser así,
la Administración podrá consultar, desde
phpMyAdmin o desde el gestor de bases de datos habilitado por el server, la tabla “
phpbb_LOGIN_ATTEMPS” de modo que obtenga la
dirección IP que aparezca en el campo “
attemp_ip”.
Con el dato obtenido, deberá ir a la tabla “
phpbb_POST” la cual recoge los posts escritos por los usuarios. En ella deberá buscar la
dirección IP en el campo “
poster_ip”.
Una vez que lo encuentre, del registro o registros en cuestión, tomará nota del valor existente en el campo “
poster_id”, el cual recoge el
código de usuario que escribió el post de dicho registro.
Con este dato “
poster_id” correspondiente al
código de usuario encontrado, deberá ir a la tabla “
phpbb_USERS”, que como ya he dicho
recoge los datos identificativos de los usuarios, y buscar en el campo “
user_id” dicho dato.
Como consecuencia de ello
obtendrá un registro en el cual en el campo “
username” encontrará el
nombre del usuario atacante.
Y hecho esto, fin de la historia.
ooo000ooo
Bien, por otra parte, y
cambiando de tema; de lo que no cabe duda es de lo siguiente:
Hace casi dos años identifiqué, en un post, al troll que, con varias identidades, estuvo divirtiéndose a costa de la buena voluntad de algunos.
Al poco de haber publicado el mismo, recibí un intento de intrusión infructuosa en mi cuenta de usuario; cosa que denuncié en el primer post de este hilo, constituyendo dicho ataque una mas que evidente relación causa-efecto de mi escrito de identificación del troll.
Desde aquel entonces poco, muy poco, he participado en el Foro; lo hago cuando considero que tengo algo que quizás pueda aportar: una película más o menos interesante o un tutorial que resuelva alguna duda.
Recientemente y con la intención de resolver una duda a un forero, intervine en varias ocasiones publicando además un tutorial; y es en esta otro ocasión cuando vuelvo a recibir los intentos de intrusión en mi cuenta, cosa ésta que vuelvo a denunciar aquí mismo.
Para mí, la cosa está clara, así como desde quien viene el ataque. Pero bueno,
quizás YO deba comprender el mensaje de aquél y no volver a aparecer por aquí, aunque sea a costa de no aportar ninguna película más, o de no aportar la solución a un posible problema.
Pero por el momento,
denuncio la situación, pues al que intentan acceder a su cuenta, y de forma reiterada, ha sido a mí y está ocurriendo conmigo.
Y la verdad... siento tener que decirlo; pero es lo que ocurre.