A continuación dejo un pequeño texto que he escrito más que nada como ayuda memorias a la hora de hacer redirecciones con el mod-rewrite. El mismo comienza explicando la diferencia entre rutas relativas y absolutas, sigue con la importancia de la etiqueta base a la hora de hacer redirecciones y termina analizando el caso de un sitio web multi-idioma. Espero les resulte de utilidad y cualquier cosa comenten.
Redirecciones con mod-rewrite y los problemas para cargar imágenes y estilos
Vulnerabilidades XSS: PHP y $_SERVER[’PHP_SELF’]
Siguiendo un poco con la costumbre hoy vos a dejarles otro pequeño artículo sobre Seguridad en PHP y, más precisamente, sobre ataques y vulnerabilidades XSS. Durante el desarrollo de este texto voy a suponer leído el artículo anterior de Seguridad en PHP: Ataques XSS: el peligro de hacer echo $_GET[’var’] por lo que no voy a explicar nuevamente los peligros que conlleva una vulnerabilidad XSS, los ejemplos para explotarlas, las formas de solucionar este problema ni otras cuestiones mencionadas en aquel texto.
Hoy nos vamos a centrar en el análisis de la variable predefinida de PHP $_SERVER[’PHP_SELF’]. Para los que no están al tanto, esta variable retorna el valor del nombre de archivo del código PHP que se esté ejecutando actualmente, relativo a la raiz del sitio. Entonces si estoy visualizando a http://www.misitio.com/index.php la variable $_SERVER[’PHP_SELF’] me arrojará /index.php. Dadas sus características es muy común su uso dentro de etiquetas de vínculos a o dentro de etiquetas form en atributos action para hacer referencia al mismo script donde nos encontramos actualmente. El problema que muchos desconocen es que la variable $_SERVER[’PHP_SELF’] es fácilmente manipulable por cualquier usuario y su mal uso puede representar un problema grave de seguridad, como veremos a continuación.
Ataques XSS: el peligro de hacer echo $_GET[’var’]
En la red se puede encontrar toneladas de información teórica acerca de que son los ataques XSS (Cross Site Scripting), de que tipos existen, y muchos etcéteras. Pero posiblemente nos demos cuenta de que tan vulnerables pueden resultar nuestros sitios cuando veamos un ejemplo real de un ataque de este tipo; y eso es lo que voy a tratar de mostrarles en este pequeño artículo.
Sobre XSS, no hay mucho que decir que no se haya dicho antes. Yo definiría a XSS como un ataque que se basa en explotar métodos poco correctos de programación para ejecutar script malicioso de cliente (comunmente JavaScript) al momento que un usuario desprevenido ingresa al sitio víctima del ataque. Que yo, atacante, pueda hacer que en el sitio víctima se ejecute un script JavaScript arbitrario, aunque a algunos les pueda parecer inofensivo, resulta realmente peligroso. Un código JavaScript puede redireccionar usuarios a otras URL’s, puede cambiar la información que se muestra en el sitio y, quizá lo más interesante, puede obtener los valores de las cookies que el navegador del usuario posea en ese momento. Obtener el valor de las cookies equivale a obtener el Session ID (SID a partir de ahora), el cual se utiliza para que el servidor reconozca al usuario “Pepe” como “Pepe” y no como ningún otro. Suponiendo que se utiliza sistema de sesiones nativas de PHP (session_start() y sus secuaces), si yo tengo el SID de “Pepe” que se almacena en sus cookies, puedo ingresar como “Pepe” aunque no lo sea.
Clase para generar automáticamente select (combos) dependientes multinivel
Bueno, en realidad la clase la comencé con el objetivo de que sea un generador y validador de formularios sacándome de encima la necesidad de crear el código JavaScript y PHP cada vez que tenía que validar un form diferente. El tema es que genera los select dependientes tan cómodamente que me pareció útil compartirla con ustedes, más teniendo en cuenta la cantidad de correos que me llegan a diario indicandome las dificultades que se presentan en la adaptación de este ejemplo.
Voy a comenzar colocando un ejemplo de uso. Lamentablemente todavía no hice la documentación que debería, pero como mencioné, la idea de la clase es otra y la misma la generaré cuando termine de desarrollarla. Puede que encuentren métodos que no hacen nada, u otros que aparentan no tener sentido; la verdad es que me quedó código colgando para el cual tengo objetivos pensados pero aún no me he puesto a trabajar en ellos. De todas maneras todo funciona perfecto, como debe ser.
Red social
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jun | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||
Ultimas entradas
- Leer el valor de una cookie desde JavaScript
- Intercambio de links: blog y otros sitios de cualquier temática
- Oscurecer el fondo de una página con un DIV
- Redirecciones con mod-rewrite y los problemas para cargar imágenes y estilos
- Sapphire HD3850 (HD 3850) en imágenes: Call Of Duty 4
- Pila y Cola en C/C++ con punteros: un par de ejemplos prácticos
- El sistema de cifrado WEP - segunda parte
- El sistema de cifrado WEP
- Vulnerabilidades XSS: PHP y $_SERVER[’PHP_SELF’]
- Ataques XSS: el peligro de hacer echo $_GET[’var’]
Ultimos comentarios
- cr¡sT¡@nO in Como hacer un scroll en un DIV con …
- felipe in Drag & Drop (arrastrar y soltar) si…
- jony in El sistema de cifrado WEP - segunda…
- nilton in Clase para generar automáticamente…
- B. Sebastian in Clase para generar automáticamente…
- Diseño Web Per… in Clase para generar automáticamente…
- Daniel in Como hacer un scroll en un DIV con …
- Albert in Como hacer un scroll en un DIV con …
- chik aprendiz in Pila y Cola en C/C++ con punteros: …
- Foley in Pila y Cola en C/C++ con punteros: …
Categorias
- AJAX
- Apache
- C/C++
- Desarrollo de Escritorio
- Desarrollo Web
- General
- Hardware
- JavaScript
- Otros
- PHP
- Redes
- Seguridad
- XSS
Archivos
Paginas
Blogroll
- AquiLoEncuentras
- Blog[nbsp]
- Cabeza de Ratón
- Club Desarrolladores
- Ejemplos de AJAX
- El hombre Virtual
- R4 Revolution (R4DS)