me han comentado que el Human Check
http://horobey.com/demos/codegen/index.html
es vulnerable, saben algo del tema, es seguro 99%?
| |||
el Human Check es vulnerable? (los numeritos en pantalla) me han comentado que el Human Check http://horobey.com/demos/codegen/index.html es vulnerable, saben algo del tema, es seguro 99%? Última edición por rrufo; 18/01/2005 a las 05:46 |
| |||
aqui tiene una muestra de llamada http://www.conquistamorella.com/cm_h...892a19c7f0411f Cita:
Iniciado por rrufo este es parte del codigo fuente: <?PHP ############################################# # Project: HumanCheck 2.1 # file: humancheck_config.php # company: SmiledSoft.com (SmiledSoft.com) # author: Yuriy Horobey ([email protected]) # purpose: outputs picture with secret code # date: 24.08.2004 # ############################################# error_reporting(85);//serious error only require(dirname(__FILE__)."/humancheck_config.php"); $sid=trim($HTTP_GET_VARS["sid"]); session_id($sid); session_start(); $noautomationcode = $HTTP_SESSION_VARS["noautomationcode"]; $img_path = dirname(__FILE__)."/$config_back_image"; $img = ImageCreateFromJpeg($img_path ); $img_size = getimagesize($img_path ); $fw = imagefontwidth ( $config_font ); $fh = imagefontheight ( $config_font ); $x = ($img_size[0] - strlen($noautomationcode) * $fw )/2; $y = ($img_size[1] - $fh) / 2; // middle of the code string will be in middle of the background image $color = imagecolorallocate($img, hexdec(substr($config_code_color,1,2)), hexdec(substr($config_code_color,3,2)), hexdec(substr($config_code_color,5,2)) ); imagestring ( $img, $config_font, $x, $y, $noautomationcode, $color); header("Content-Type: image/jpeg"); imagejpeg($img); ?> |
| |||
Bueno .. si el "código" a generar viene propagado por una sesión como es el caso del ejemplo que indicas .. no debería tener problemas de seguridad "básicos" .. ahora, que exista algún "algoritmo" tipo un software de OCR para reconocer tus tipografías y de ahí obtener tu código .. puede existir . para eso debes "complicarlo" más usando diferentes tipografías .. rotandolas? .. poniendolo dificil en resumen. Un saludo, |
| |||
Hola, Quizas el problema este en el otro codigo, el que comprueba que el valor introducido en el formulario corresponde con el de la imagen. O en el formulario que pide los datos, que da mas informacion de la debida. Por cierto, ¿vulnerable por que es inseguro, o por que se puede pasar sin problemas? Espera, acabo de hacer una prueba. Crea una pagina en local con este codigo Código HTML: <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html> <head> <title>Title here!</title> </head> <body> <!-- the secret image --> <img src='http://horobey.com/demos/codegen/v2/humancheck_showcode.php?sid=8631125607bb94b0a7703b86445eeac6'> <!-- the form --> <form action='http://horobey.com/demos/codegen/v2/humancheck_check.php' method='post'> <input type='hidden' name='sid' value='8631125607bb94b0a7703b86445eeac6'> <input type='text' name='code'> <input type='Submit' name='Submit'> </form> </body> </html> A mi me sale Cita: ¿Por que? Parece que si le pasas un id de sesion inexistente te crea una con un valor de codigo de cadena vacia. Solo con poner en sid valores de sesiones no existentes ya vale para que un soft automatico se lo salte.Code is OK you are allowd to see my page. From here you can redirect visitor, or allow him to download something or insert registration data to the database. etc. Saludos. PD: Supongo que añadiendo condiciones de que la longitud de la contraseña no puede ser 0, o que en el codigo que genera la imagen si no existe la sesion que genere un nuevo codigo, podria solucionarse.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
mm En ese caso .. la "técnica" del "Human Check" mas bien no es tan vulnerable ... sino esa implementación concreta de dicha técnica .. En esta FAQ se implementó otro sistema similar .. http://www.forosdelweb.com/showpost....&postcount=123 En ese caso .. habría que probar el sistema propagando el SID en el URL .. de todas formas mas o menos se vé que tiene el mismo problema, pero como comenta josemi .. con un ese tipo de validaciones estaría resuelto el problema en principio. Un saludo, |