Categories
Recursos Varios

Recursos de fin de semana (III)

Más recursos para este fin de semana largo, y de paso deseando Felices Fiestas Patrias a mis paisanos peruanos:

Buen fin de semana 😉

Categories
Varios

IE7 será distribuido mediante actualizaciones automáticas

Los desarrolladores de Internet Explorer, acaban de anunciar que la nueva versión de éste navegador será distribuida mediante actualizaciones automáticas como una actualización de máxima seguridad.

Mirándolo desde el lado malo, para todos los desarrolladores será difícil "testear" sus aplicaciones en otros navegadores antiguos (léase IE6), ya que todo será desarrolado basándose en IE7.

Otro problemita sería para los usuarios que usan Windows "Bamba" (aproximádamente el 90%) no podrán instalar esta actualización.

La actualización está planeada para fines de este año, pero veremos que sucede en estos días.

Categories
PHP Varios

Hot Capcha: el único captcha a prueba de bots

Ningún CAPTCHA es realmente efectivo, siempre tienen alguna vulnerabilidad que permite a los spammers "romper" el código que se muestra.

Para esto ha salido el ¿único? e infalible Hot Captcha, en el que para identificarnos como humanos sólo nos hace una sencilla pregunta:

"In order to prove to us you are not a robot, select the three hot people"

A ver si tienen suerte y les reconocen como seres humanos.

Enlace: Hot Capcha.

Categories
AJAX PHP Seguridad Varios

Problema de seguridad en Relay

Hoy, mientras intentaba personalizar Relay -que es un gestor de archivos basado en Ajax- para hacer que funcione como un navegador de código fuente, encontré un bug en la función getFileInfo (relay.php) que permite hacer SQL Injection.

La porción donde se encuentra la falla es: (~ línea 763)

php:

$fileid=mysql_escape_string($fileid);
$query = "select * fr0m $GLOBALS[tablePrefix]filesystem where id=$fileid";

El problema radica en que mysql_escape_string o mysql_real_escape_string sólo escapan los caracteres \x00, \n, \r, \, ', " y \x1a.; por tanto, si $fileid tendría el valor 0 or 1=1 u otra sentencia que no incluya los caracteres mencionados, ya se imaginarán que puede pasar.

Una propuesta para solucionar este problema es hacer un cast explícito de $fileid o encerrar entre comillas el valor de este parámetro en la consulta SQL (digo esto porque se hace uso de mysql_escape_string)

php:

$fileid=intval($fileid);
$query = "select * fr0m $GLOBALS[tablePrefix]filesystem where id=$fileid";

// o   
$fileid=mysql_real_escape_string($fileid);
$query = "select * fr0m $GLOBALS[tablePrefix]filesystem where id='$fileid'";

Si están utilizando Relay, es recomendable que corrijan este error, para evitar molestias por pérdida de datos :-P.

Categories
.NET ASP.NET CSS

Controles Personalizados en ASP.NET – Parte 2

En la entrada anterior, vimos como extender el control TextBox (del .NET Framework) para restringir la entrada a sólo ciertos caracteres definidos en una expresión regular. Pues bien, en esta ocasión vamos a crear un control que ayudará a medir la popularidad de algún artículo o comentario.

Para la apariencia del control, tomé como base "CSS Star Rating", el cuál incluye una hoja de estilos y una imagen. Como ya había comentado en la entrada anterior, para hacer uso de estos elementos es necesario registrarlos y compilarlos, a continuación se muestra la forma de hacerlo: