Anuncia aquí

Categoría: Quiz

Pequeños quiz sobre diferentes lenguajes

PHP: Uso adecuado de parse_str

Pregunta sobre el uso adecuado de parse_str para evitar ataques XSS y SQL Injection (Inyección de SQL)
También publicada en PHP, Seguridad, Web, Wordpress |

WordPress, XSS y CSRF – Parte 2

En la primera parte vimos un poco de los problemas que tiene usar $_SERVER['PHP_SELF'] sin ningún tipo de validación. Para esta segunda parte, he preparado un pequeño quiz que básicamente refleja los problemas reportados en WordPress. La siguiente porción de código es una versión resumida del contenido de los archivos wp-includes/vars.php y wp-includes/functions.php (función wp_nonce_ays): [...]
También publicada en PHP, Seguridad, Web, Wordpress, XSS |

Ejercicio de la Semana: Visualización de perfiles

Continuando con la serie, pongo otro script para que se diviertan. php:<?php include_once './config.php'; if ( empty($_REQUEST['id']) && empty($_REQUEST['nick']) ) {     die('No user selected'); } if ( isset($_REQUEST['nick']) ) {     if ( preg_match('/^[a-z0-9]{3,20}$/i', $_REQUEST['nick']) ) {         $where = "WHERE nick='" . $bcdb->escape($_REQUEST['nick']) . "'";     } [...]
También publicada en Seguridad |

Ejercicio de la Semana: Login de usuarios y actualización de datos

A partir de ahora, cada semana haré el intento de poner los quiz los días lunes o martes, así tendremos más tiempo para comentar estos pequeños ejercicios. Esta vez, se trata de dos páginas: la primera que se encarga de realizar el login de los usuarios y la segunda se encarga de mostrar y actualizar [...]
También publicada en PHP, Seguridad |

Un bug interesante en WordPress

El presente quiz está basado en un reciente bug de WordPress que fue corregido en la versión 2.0.6 de este CMS php:<?php header('Content-type: text/plain; charset=utf-8;'); if ( empty($_POST['title']) ) {         die('Parámetros no válidos'); } // Conexión a la base de datos test mysql_connect('localhost', 'root', '1234'); mysql_select_db('test'); // Escapar los valores $title [...]
También publicada en Seguridad, Web, Wordpress |

Filtro de datos – Solución

El código mostrado en el último quiz, en realidad es una función de WordPress que era vulnerable a XSS. Pongo la solución en una nueva entrada porque intentaré describir algunos de los errores que cometí al intentar explotar el bug mencionado en una entrada anterior.
También publicada en JavaScript, Seguridad, Web, Wordpress, XSS |

Filtro de datos

Volviendo a los quiz: php:<?php function clean_url( $url ) {         if ('' == $url) return $url;         $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%]|i', '', $url);         $strip = array('%0d', '%0a');         $url = str_replace($strip, '', $url);         $url = str_replace(';//', '://', $url); [...]
También publicada en Seguridad, Web, XSS |

Validación de datos – Solución

Continuando con la serie, ¿qué cosas se tienen que cumplir para que el siguiente código sea vulnerable a XSS? php:< ?php /* Evitar XSS a través de otros formatos */ header('Content-type: text/html; charset=utf-8;'); $color = '000'; if ( !empty($_GET['color']) ) {         $color = htmlentities(strip_tags($_GET['color'])); } ?> <html> <head>       [...]
También publicada en CSS, Seguridad, XSS |

Cuando los filtros no hacen lo que deberían – Parte 2

La siguiente función era utilizada para validar los datos en una aplicación web -es una versión modificada del método que trae ezSQL php:function escape($text) {         return mysql_real_escape_string(stripslashes(strip_tags($text)), $this->connection); } Se usaba de la siguiente manera: php: // agregar.php <?php if (!empty($_POST['url']) && !empty($_POST['title'])) {         $sql = "INSERT [...]
También publicada en PHP, Seguridad |

Cuando los filtros no hacen lo que deberían

El código que se muestra a continuación, es un ejemplo simplificado del comportamiento que ofrece en una de sus secciones, un -importante- diario español.
También publicada en PHP, Seguridad, XSS |
Pages: 1 2 3 Next