Autor
|
Tema: Captcha oculto. ¿Puede resolverlo un bot? (Leído 7,049 veces)
|
MA40
Desconectado
Mensajes: 254
--- I ❤ Ƀ ---
|
Hola. Utilizando un javascript que encontré en Internet para poner un Captcha en una web, lo que he hecho es ponerlo oculto. Para que aparezca hay que deslizar la barra de desplazamiento hacia abajo. Según tengo entendido, los bots no pueden deslizar con el puntero como hace un humano con el ratón. ¿Creéis que este Captcha puede resolverlo algún bot? Puede verse en esta dirección: http://www.edicionesma40.com/downloads/captcha.htm¿Qué opináis? Un saludo.
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.853
🔵🔵🔵🔵🔵🔵🔵
|
Hola, sí claro que un bot puede resolver tu captcha, en el mismo código fuente está la función que crea el captcha que ni siquiera está ofuscado: function createCaptcha() { //clear the contents of captcha div first document.getElementById('captcha').innerHTML = ""; var charsArray = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@!#$%^&*"; var lengthOtp = 6; var captcha = []; for (var i = 0; i < lengthOtp; i++) { //below code will not allow Repetition of Characters var index = Math.floor(Math.random() * charsArray.length + 1); //get the next character from the array if (captcha.indexOf(charsArray[index]) == -1) captcha.push(charsArray[index]); else i--; } var canv = document.createElement("canvas"); canv.id = "captcha"; canv.width = 200; canv.height = 50; var ctx = canv.getContext("2d"); ctx.font = "25px Georgia"; ctx.strokeText(captcha.join(""), 0, 30); //storing captcha so that can validate you can save it somewhere else according to your specific requirements code = captcha.join(""); document.getElementById("captcha").appendChild(canv); //adds the canvas to the body element }
Todo lo que haga un navegador, puede hacer un bot, incluso hay muchas librerías para leer y ejecutar javascript en otros lenguajes. Saludos
|
|
|
En línea
|
|
|
|
MinusFour
|
Hola. Utilizando un javascript que encontré en Internet para poner un Captcha en una web, lo que he hecho es ponerlo oculto. Para que aparezca hay que deslizar la barra de desplazamiento hacia abajo. Según tengo entendido, los bots no pueden deslizar con el puntero como hace un humano con el ratón. ¿Creéis que este Captcha puede resolverlo algún bot? Puede verse en esta dirección: http://www.edicionesma40.com/downloads/captcha.htm¿Qué opináis? Un saludo. El bot si que puede scrollear: $('div.centrado-marco-captcha').scrollTop = 200
|
|
|
En línea
|
|
|
|
engel lex
|
por otro lado, asumes que el bot navega como un humano, pero incluso si usa sistemas como selenium, lo que uno hace cuando crea bots es que vas leyendo codigo fuente...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
#!drvy
|
Al margen de si puede hacerlo un bot o no (que la respuesta es sí), la pregunta realmente es como pretendes validar que la respuesta es correcta sin dejárselo al cliente. Ahora mismo toda tu validación se puede bypasear ya sea leyendo la variable code o directamente asignando el valor de code al input: document.getElementById("captchaTextBox").value = code;
Estas cosas se generan y validan serverside para que el cliente no tenga la posibilidad de trastear con ello. Saludos
|
|
|
En línea
|
|
|
|
Danielㅤ
Desconectado
Mensajes: 1.853
🔵🔵🔵🔵🔵🔵🔵
|
Correcto lo que dicen los compañeros, engel lex tiene razón un bot usando selenium es como si usara un navegador.
También es muy cierto lo que dice #!drvy, esas operaciones se generan y validan desde el servidor nunca del cliente, porque el cliente tranquilamente puede modificar/bypassear/falsear esos valores o simplemente verlos cuando no debería, por eso esas operaciones nunca se deben hacer por medio del cliente (por ejemplo desde javascript), sinó desde el servidor (por ejemplo usando PHP).
En resumen podes hacer las mismas operaciones y validaciones usando PHP, que el cliente no pueda modificar ni saber como está creado el captcha, es decir el algoritmo que usas, nunca tenés que permitirle al cliente que maneje las operaciones y validaciones porque las puede alterar y sería muy vulnerable.
Saludos
|
|
|
En línea
|
|
|
|
MA40
Desconectado
Mensajes: 254
--- I ❤ Ƀ ---
|
Al margen de si puede hacerlo un bot o no (que la respuesta es sí), la pregunta realmente es como pretendes validar que la respuesta es correcta sin dejárselo al cliente. Ahora mismo toda tu validación se puede bypasear ya sea leyendo la variable code o directamente asignando el valor de code al input: document.getElementById("captchaTextBox").value = code;
Estas cosas se generan y validan serverside para que el cliente no tenga la posibilidad de trastear con ello. Saludos ¡Joooooderrrrr! Nunca oí a nadie con tanta razón. El caso es que ese javascript está por todo Internet como si sirviera para algo, y ahora me doy cuenta que es sólo KK. En fin… de los errores se aprende 100 veces más que de los aciertos. Un saludo y muchas gracias a todos.
|
|
|
En línea
|
|
|
|
engel lex
|
El caso es que ese javascript está por todo Internet como si sirviera para algo, y ahora me doy cuenta que es sólo KK. es que estás interpretandolo mal... js está para hacer que las paginas se comporten de una manera específica ante el cliente... es parte de ese trio html+css+js , es como que digas que html no sirve para nada porque sin css es feo, pero tienes que entender que en el codigo que tiene el cliente no hay nada seguro, aplica desde web, hasta aplicaciones en c... lo que cambia es la dificultad para explotarlo
|
|
« Última modificación: 23 Agosto 2021, 17:16 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
MA40
Desconectado
Mensajes: 254
--- I ❤ Ƀ ---
|
No, no, @engel lex, creo que no me expliqué bien (o no me entendiste).
No me refiero a que javascript no sirve para nada, NO, ya sé lo importante que es para la programación web, IMPRESCINDIBLE.
Me refiero a que yo cogí el javascript del Captcha de una web de programación, y está en muchas otras webs parecidas, y ESE javascript (el del Captcha) no sirve para nada. ¿No?
Un saludo.
|
|
|
En línea
|
|
|
|
engel lex
|
ahhh! es que me insultaste al js y me pongo agresivo! puede que tal vez haya un esquema de seguridad no contemplado en ese código
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
¿se puede averiguar un número oculto en un movil?
Dudas Generales
|
hiddenotebook
|
6
|
9,517
|
27 Septiembre 2010, 14:48 pm
por [L]ord [R]NA
|
|
|
¿Se puede solucionar el captcha?
Dudas Generales
|
unai20120
|
0
|
1,926
|
23 Junio 2014, 10:54 am
por unai20120
|
|
|
Un Captcha sin Captcha: Google ya sabe cuándo no eres un robot
Noticias
|
wolfbcn
|
0
|
2,235
|
3 Diciembre 2014, 18:04 pm
por wolfbcn
|
|
|
¿Puede resolverlo? Juego matemático con cocos, bananas y manzanas causa polémica
Noticias
|
wolfbcn
|
1
|
1,576
|
18 Febrero 2016, 02:44 am
por simorg
|
|
|
[Pregunta]¿Se puede visualizar contenido oculto?
Hacking
|
jafoxx
|
1
|
2,231
|
8 Mayo 2019, 01:14 am
por Serapis
|
|