tag:blogger.com,1999:blog-5399811056563385935.post4495093158502312749..comments2023-09-21T14:48:16.670+02:00Comments on Security By Default: Seguridad en PHPYago Jesushttp://www.blogger.com/profile/16830228750771246202noreply@blogger.comBlogger15125tag:blogger.com,1999:blog-5399811056563385935.post-55433636242741826862010-07-07T00:03:22.529+02:002010-07-07T00:03:22.529+02:00estaba leyendo info sobre utf8_decode() y he acaba...estaba leyendo info sobre <b>utf8_decode()</b> y he acabado por aquí otra vez :)<br /><br />acabo de comprobar que el uso de esta función puede <b>perjudicar</b> más que ayudar si no se emplea correctamente...<br /><br />se pueden ver en <a href="http://sirdarckcat.blogspot.com/2009/10/couple-of-unicode-issues-on-php-and.html" rel="nofollow"> este gran artículo de sirdarckcat </a> los problemas.<br /><br />happy hacking!mgesteirohttp://twitter.com/mgesteironoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-21808623792814725092010-05-03T21:15:50.590+02:002010-05-03T21:15:50.590+02:00@globalillo: hablando de petarla con las expresion...@globalillo: hablando de petarla con las expresiones regulares, <br /><br />dejo este link que tiene mas información al respecto.<br /><br />http://go2.wordpress.com/?id=725X1342&site=droope.wordpress.com&url=http%3A%2F%2Fwebsec.wordpress.com%2F2010%2F03%2F19%2Fexploiting-hard-filtered-sql-injections%2F&sref=http%3A%2F%2Fdroope.wordpress.com%2Fdroopehttp://droope.wordpress.comnoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-12892189374954677802010-05-03T06:21:58.979+02:002010-05-03T06:21:58.979+02:00Creo que nadie da el consejo de utilizar algún fra...Creo que nadie da el consejo de utilizar algún framework (como codeIgniter por ejemplo). Suelen solucionarse algunos problemas.<br /><br />Por supuesto, yo aconsejo mantener los máximos archivos posibles fuera del directorio público de nuestro servidor http; por ejemplo, si tenemos la estructura:<br />./publichtml<br />./internal<br />Nuestro apache estaría configurado para leer en ./publichtml, por lo que podríamos tener todos los scripts necesarios en ./internal y sólo un index.php en ./publichtml.<br /><br />Así evitaríamos intentos de accesos no autorizados a determinados scripts.<br /><br />Por supuesto, esto simplemente es un añadido de seguridad. Hay que seguir comprobando en cada momento que datos se reciben, de quien y qué enviar...<br /><br />Si no se confía las llaves de tu casa a un colega de una noche, no confíes en un usuario de unos minutos por muy buenas intenciones que aparente tener...Miguel Carmonahttp://miguelcarmona.namenoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-46586139257138917252010-05-02T20:04:20.568+02:002010-05-02T20:04:20.568+02:00Esta bastante pobre la entrada, los ataques mencio...Esta bastante pobre la entrada, los ataques mencionados no solo aplican en PHP si no en general a toda aplicación web.<br /><br />Creo que les hizo falta mencionar las configuraciones que pudieran asegurar un poco mas PHP, ejemplo en RFI nunca mencionaron sobre la directiva allow_url_include (ni allow_url_fopen que también juega su papel) que si bien no lo evitan si al menos limitan el impacto de un RFI (convirtiéndolo normalmente en un LFI).<br />También que se debe mantener apagado enable_dl para evitar el cargado dinámico de extensiones maliciosas y tampoco se hablo sobre que se debería apagar display_errors en el servidor de producción y es mejor guardarlos en un fichero no-accesible al publico, así como otras directivas que si bien no son muy seguras o bien específicamente para seguridad pero si ayudan a volver difícil una explotación como seria open_basedir.<br /><br />Eso mas las típicas recomendaciones que ya diste y al menos una breve platica sobre Suhosin hubieran sido perfectas con el titulo, así como esta la nota esta muy genérica y si coincido con el primer anónimo, El uso de POST no es una medida mitigatoria se debería quitar como recomendación y solo recomendar/enseñar-sobre una implementación de tokens únicos seguros (por que no olvidemos los problemas relacionados de esta área con la aleatoriedad de los "tokens únicos").<br /><br />Saludosg30rg3_xhttp://www.yashira.org/noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-74349862877540737402010-04-27T23:55:57.170+02:002010-04-27T23:55:57.170+02:00Muy buen post! Me encantan los mensajes enfocados ...Muy buen post! Me encantan los mensajes enfocados a la seguridad PHP y programacion web en general. Se agradece mucho :)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-731776547907463232010-04-27T14:59:27.424+02:002010-04-27T14:59:27.424+02:00@iCesofT: lo tienes en los links que referencio ab...@iCesofT: lo tienes en los links que referencio abajo.<br /><br />Saludos para ti y para todo el equipo ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-48842383005052433212010-04-27T11:00:50.764+02:002010-04-27T11:00:50.764+02:00CSRF..
habéis quitado la parte de ejemplo del cód...CSRF..<br /><br />habéis quitado la parte de ejemplo del código del token único para cada petición para posteriormente verificarlo.Unknownhttps://www.blogger.com/profile/00262245193248897987noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-61493321550410798262010-04-26T21:14:30.884+02:002010-04-26T21:14:30.884+02:00PHP es un lenguaje sólido y cómodo de manejar. A n...PHP es un lenguaje sólido y cómodo de manejar. A nivel de seguridad está muy logrado. El problema es como ya se ha dicho el tema del diseño. Lo que prima hoy día es la rapidez, bueno, bonito y barato. ¿Tan difícil es de entender que si lo haces rápido, mal y que no haya diseño ni análisis previo eso será un coladero de errores, hackers y demás fauna?.<br /><br />La solución suele ser rehacer módulos enteros por ese tipo de motivos. Normalmente los proyectos en los que me ha pasado esto es currando contratado por una empresa a X al mes.<br /><br />Sin embargo si el cliente lo gestiono yo la cosa es distinta, más calidad, mejores proyectos y al mismo precio o menos en algunos casos.Alrikhttps://www.blogger.com/profile/15292732856058844882noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-33759444863076201612010-04-26T13:00:13.531+02:002010-04-26T13:00:13.531+02:00Con demasiada frecuencia, cuando se comprueba que ...Con demasiada frecuencia, cuando se comprueba que el fichero que el usuario "sube" es del tipo adecuado, se lleva a cabo este filtrado en base a la extensión del fichero. Un usuario malintencionado cambiará la extensión del fichero a subir por una de las extensiones permitidas.<br /><br />En algunos casos, incluso se llega a analizar el tipo MIME que se indica en el formulario, pero con un proxy intermedio es fácil modificar este valor. <br /><br />La recomendación más segura sería realizar una verificación en el lado del servidor de que el tipo MIME del fichero subido pertenece a los tipos permitidos.<br /><br />Desde luego, la comprobación previa en el lado del cliente siempre aporta una comodidad para los usuarios, puesto que no han de esperar hasta que el fichero se ha subido completamente para ser informados de que el tipo del fichero no está permitido. Sin embargo, nunca ha de confiarse únicamente en esta comprobación en el navegador del usuario.jandrhttps://www.blogger.com/profile/18118087239564681690noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-35572274569325107142010-04-26T11:46:32.001+02:002010-04-26T11:46:32.001+02:00hola,
En el caso de XSS y el robo de cookies, tal...hola,<br /><br />En el caso de XSS y el robo de cookies, tal vez usar el flag httponly en las cookies podría evitar su robo.<br /><br />http://www.owasp.org/index.php/HTTPOnly<br /><br />Un saludo y gracias por el postadminhttps://www.blogger.com/profile/14501030796361169681noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-32711469368826227432010-04-26T10:28:54.641+02:002010-04-26T10:28:54.641+02:00Alguien de la EUI tecnica (creo) me definio en tre...Alguien de la EUI tecnica (creo) me definio en tres palabras lo que era php. "Podria hacerlo peor" :Prustynoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-874075724100809502010-04-25T19:56:44.982+02:002010-04-25T19:56:44.982+02:00@globalillo: gracias por tu aportación! :)
Salud...@globalillo: gracias por tu aportación! :) <br /><br />SaludosAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-87039748133665169272010-04-25T18:32:19.068+02:002010-04-25T18:32:19.068+02:00Buenas, en temas de SQLi nunca hay que olvidar las...Buenas, en temas de SQLi nunca hay que olvidar las "prepared statements", no sea que la cagues con las regexp... algo muy común. En el apartado sobre RFI -creo que- solo expones la casuística de los includes, para abordar la subida de ficheros mediante formularios html tendríamos que comprobar, sobre todo, las extensiones de ficheros que permitimos subir, el tamaño de los mismos y sobre todo, nunca, nunca, nunca permitir subir ficheros con extensiones php, php4, php5, etc. (A no ser que sepas configurar `bien` el servidor web).<br /><br />Y aunque no es cosa de PHP, en CSFR, algo que antes se usaba mucho pero "no funcionaba" y ahora "funciona", es comprobar la cabezera HTTP referer. Antes desde xmlhttprequest se permitía modificar la cabecera referer, cosa que ahora no sucede. ¿Alguien puede aportar datos más precisos sobre los navegadores actuales? <br /><br />Saludos y gracias por un artículo técnico en Domingo :)globalillohttps://www.blogger.com/profile/00582367354804296097noreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-89390201599591033392010-04-25T15:37:04.975+02:002010-04-25T15:37:04.975+02:00@Anonimo: Olvidé lo del token, gracias por recordá...@Anonimo: Olvidé lo del token, gracias por recordádmelo. Añadido.<br /><br />SaludosAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-5399811056563385935.post-89887400281418867792010-04-25T15:20:14.589+02:002010-04-25T15:20:14.589+02:00Buenas,
El CSRF *no* se soluciona usando peticion...Buenas,<br /><br />El CSRF *no* se soluciona usando peticiones POST, es solo una medida mitigante.<br /><br />La solución es generar un token único para cada petición del navegador. Asi se puede verificar si la peticion es genuina o no.<br /><br />Slds,Anonymousnoreply@blogger.com