viernes, 9 de diciembre de 2011

Aprovechando error de Pro-Arcade script

Hola :D
Hace poco encontré un problema (nada de vulnerabilidades) en el script Pro Arcade, en la parte que se insertan los puntos. Los puntos los agrega un archivo llamado game_points.php en AJAX. Al abrirse suma los puntos al usuario que tenga la sesión iniciada. Como no tiene ningún control sobre la cantidad de veces que se abre por IP o cosas por el estilo, podemos aprovecharlo para sumarnos puntitos :P

Hice un código en C que entra de 1 a 50 veces en el archivo y suma los puntos. Es importante que hayamos iniciado sesión y marquemos la opción 'recordarme' usando Internet Explorer.







  • #include <stdio.h>
  • #include <stdlib.h>
  • #include <windows.h>
  • #include <string.h>
  • int a,c;
  • int main() {
  •     printf("Ingresa repeticiones [Mayor a 0 y menor a 50]: ");
  •     do {
  •         scanf("%i", & a);
  •         }while(a<=0 || a > 50);
  •         do{
  •                          printf("[%i] - Procesando...\n", c);
  •                          system("start iexplore.exe -embedding arcade.lapagina.com");
  •                          Sleep(800);
  •                          c++;
  •                          }while(c!=a);
  •                          system("cls");
  •                          system("TASKKILL /F /IM iexplore.exe");
  •                          system("pause");
  •                          system("cls");
  •                          printf("Se han hecho %i repeticiones.\nGracias por usar el programa \a\n", a);
  •                          system("pause");
  •                          }


  • Si te da pachorra, lo puedes descargar desde [aquí] (MediaFire)

    Solución
    Podemos usar la función $_SERVER['REQUEST_URI'] que nos permite saber si se entró al archivo por medio del usuario. Código:

    1. if($_SERVER['REQUEST_URI'] == "/includes/view_game/ajax/game_points.php"){  
    2. header ("Location:../../../index.php");  
    3. }
    Puede que tenga errores, pero es algo :P Éste tramo de código lo agregamos al principio del archivo game_points.php.

    No hay comentarios:

    Publicar un comentario