Un reto: crackear mi plugin

Crackear está bien. Sobre todo si se hace para aprender y los conocimientos se aplican para hacer el bien. Os propongo un mini-reto. Hace un tiempo desarrollé un plugin anti-spam para Wordpress (WP-Morph). No es porque lo haya hecho yo, pero es la caña :). El resultado: ni un spam desde que lo puse. Incluso mostré en mi weblog el código fuente y también lo discutieron en BloggingPro. El único requisito del plugin es tener activo javascript para enviar comentarios. Las ventajas: ni un spam, por lo que no hace falta moderar los comentarios.

¿Cómo se consigue eso? Pues muy sencillo. El plugin genera para cáda página un código JavaScript aleatorio que el browser tiene que interpretar para conseguir un resultado. El browser entonces tiene que devolver el resultado de ejecutar el javascript como un campo más del formulario de comentario. Por ejemplo, un código al azar generado es el siguiente:


function go_anti_spam()
{
eElement = document.getElementById("chk");
if(!eElement){ return false; }
else
{
v0=1368;v1=1581;v2=927;v3=802;v4=1280;v5=968;v6=1745;v7=1147;v8=661;v9=1376;v10=2086;v11=1539;v12=165;v13=1380;v14=1407;v15=114;if ( v15 > 2059)
{ v7 = v15; }if ( v15 > 1735)
{ v10 = v12; }if ( v11 > 1503)
{ v12 = v8; }v10=(v13-v5)%2514;v4=Math.abs(v4);
v4%=26; while (v4--) {
v0++; }v0=(v8+v12)%2514;eElement.value = (v0+v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12+v13+v14+v15)%2514;
return true;
}
}


El gran problema que les plantea esto a los spammers es que tendrían que hacer que sus programas de envío de comentarios automáticos supieran interpretar JavaScript... Hasta este punto de sofisticación no llegan. Sin embargo, aquí viene el reto:

Pensando se me han ocurrido al menos tres formas de saltarse el plugin de una forma más o menos sencilla (o al menos, en teoría). Una de ellas ya os la he dicho: Que los spammers tengan un programa que interprete también el javascript de la página (harto improbable).

¿Cuáles son las otras dos formas? Grandes premios para los acertantes. :D

blog comments powered by Disqus