sábado, 23 de agosto de 2014

¿Cómo ganar en Game of Hacks?

¿Ya vieron éste juego? http://www.gameofhacks.com/game

Yo me animé a probarlo y estuve un rato respondiendo preguntas contra reloj lo más rápido que podía para alcanzar un buen ranking. Después de intentar varias veces me di cuenta que las preguntas eran repetitivas y que las alternativas no cambiaban ni siquiera de orden. Y, puesto que a esas alturas yo ya respondía de forma mecánica, me propuse otro tipo de reto: automatizar la resolución del cuestionario.

Usando el inspector de Firefox y algo de código javascript (JQuery) he llegado a estar en el primer puesto xD

Fig. 1 - Top 10 de Game of Hacks (23/08/2014 21:30 GMT -5)

Lo único que tengo que hacer es copiar el siguiente código en la consola del inspector y luego llamar a la función "resolve()" cada vez que me aparece una pregunta.

function resolve() {
    var ans = $('.answer');
    var code = $('.board-quest-body > pre:nth-child(1) > code:nth-child(2)').html();    
    if (code.search('disp\\.forward\\(request, response\\);') >= 0) {ans[0].click();}
    if (code.search('knockout\\.js') >= 0) { ans[2].click(); }
    if (code.search('SQLCHAR') >= 0) { ans[2].click(); }
    if (code.search('int  isAdmin = 0;') >= 0) { ans[1].click(); }
    if (code.search('writeToFile\\(path\\);') >= 0) { ans[0].click(); }
    if (code.search('unserialize\\(base64_decode') >= 0) { ans[0].click(); }
    if (code.search('creditCardNumberFextField') >= 0) { ans[3].click(); }
    if (code.search('char name\\[64\\];') >= 0) { ans[2].click(); }
    if (code.search('ldap_search\\(\\$ds, \\$dn, \\$dn, \\$justthese\\);') >= 0) { ans[0].click(); }
}

Ahora puedes decirme tramposo si quieres, pero es un reto de hacking así que en mi opinión todo se vale xD

Un saludo.

sábado, 16 de agosto de 2014

Identificar ataques desde el log de Apache con PHPIDS

Pues eso... ¿Quién no ha revisado los logs de Apache después de un ataque web? Yo suelo tirar de "grep" como comenté en algún post anterior. Lo malo es que ¿Y si no "grepeo" el string correcto? A veces hecho de menos alguna herramienta sencilla que revise los logs, reconozca ataques y me de la info necesaria para seguir tirando de la madeja... Algo como la fusión entre un parser de logs y un IDS. Y sí, de eso es lo que va esta entrada...