elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Cheat engine en html/js/php?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Cheat engine en html/js/php?  (Leído 6,430 veces)
SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Cheat engine en html/js/php?
« en: 28 Agosto 2017, 02:34 am »

Bueno resulta que tengo un ranking de puntajes en una web y pues un tester que tengo ha podido cambiar el valor de ese puntaje que se aloja en una bd de sql solo con una dll y el cheat engine como puedo bloquear que se hagan estos tipos de "hackeo" o cambio?
este ranking lo tengo en una pagina php puro
en cuanto lo de javascript también quisiera saber como bloquearlo ya que tengo esa duda por que también puedo editarlo sin dll.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #1 en: 28 Agosto 2017, 02:41 am »

no entiendo como cambiaste desde cliente un valor en una DB con cheat engine, eso claramente indica que la pagina es vulnerable por donde se mire...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #2 en: 29 Agosto 2017, 01:07 am »

Primero que nada, para estar seguros, ¿estás diciendo que un tester ha podido cambiar el valor de un puntaje en la base de datos y no solo en su navegador? ¿Si entras a la base de datos lo ves cambiado?

No entiendo, ¿que tiene que ver una librería dll con todo esto?

El hecho de que haya sido con Cheat Engine es algo bastante desconcertante pero porque no es lógico (es complicar innecesariamente algo sencillo, a menos que haya sido alguien que no tiene ni idea pero que usa este programa en juegos y haya decidido usarlo en una web...). CE no hace requests a servidores, solamente cambia valores de la memoria RAM del cliente... Lo mismo puede hacerse fácilmente desde las herramientas de desarrollador del navegador, cambiando los parámetros y simplemente reenviando el paquete. Esto último no lo puede hacer CE, tienes que usar javascript o un formulario o botón, etc de la página que envíe una petición con los parámetros modificados... Sinceramente, no le veo el sentido a usar CE por ninguna parte.

El problema está claramente en el script PHP que está aceptando guardar datos incondicionalmente o a través de un descuido del programador...

¿Has escrito tú la aplicación PHP?

No tienes que preguntar como bloquear CE, CE con DLL o javascript, si no compartir el código fuente para que podamos ver donde está el fallo.

javascript es un lenguaje de cliente, ¿sabes lo que significa esto? Solo afecta al ordenador desde el que se accede a la web por lo que es imposible cambiar nada en el servidor si la aplicación web está bien escrita. Tu puedes desactivar JS en tu navegador y ninguna página podrá ejecutar sus scripts cuando las visites. El servidor web envía estos scripts al cliente y estos podrán ser ejecutados o no (depende de la configuración del usuario). No depende de nadie que un usuario ejecute (o no) scripts en su navegador, ya sean los que vienen del servidor o los que él quiera. Esto es muy importante entenderlo bien a la hora de desarrollar aplicaciones web. Ya que un usuario tiene control total con lo que pasa en su ordenador/navegador, por lo que el servidor tiene que desconfiar de todo lo que llega de fuera, en cualquier casos. Por lo que para guardar datos, primero deben de cumplirse una serie de condiciones.
En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #3 en: 29 Agosto 2017, 04:10 am »

no entiendo como cambiaste desde cliente un valor en una DB con cheat engine, eso claramente indica que la pagina es vulnerable por donde se mire...
Ni siquiera yo sigo sin entender como pudo hacer esto eh intentado yo mismo intentar cambiar valores con el CE pero nada según yo la DB la tenia toda prevenida para inyecciones sql, pero ahora me estoy informando con mi tester que me explique que ha echo para tomar preventivas :s

Primero que nada, para estar seguros, ¿estás diciendo que un tester ha podido cambiar el valor de un puntaje en la base de datos y no solo en su navegador? ¿Si entras a la base de datos lo ves cambiado?

No entiendo, ¿que tiene que ver una librería dll con todo esto?

El hecho de que haya sido con Cheat Engine es algo bastante desconcertante pero porque no es lógico (es complicar innecesariamente algo sencillo, a menos que haya sido alguien que no tiene .....
Para la primera pregunta si ha echo eso claramente el me lo ha comentado de 1 momento de tener 30 de score paso a tener 300.000..

Según antes de hacerlo me dijo que probaría inyectandole una dll que trae por defecto el CE y después de eso fue cuando sucedió el cambio de valor drástico

Si eh echo yo la aplicación php y js te muestro la parte de ajax para mandar el score
Código
  1. function sendscore(score){
  2.        var datos= {
  3.                "score" : score
  4.        };
  5.        $.ajax({
  6.                data:  datos,
  7.                url:   'control/sendscore.php',
  8.                type:  'GET',
  9.                beforeSend: function () {
  10.                        $("#resultado").html("Waiting...");
  11.                },
  12.                success:  function (response) {
  13.                        $("#resultado").html(response);
  14.                }
  15.        });
  16. }
el php
Código
  1. require("conex.php");
  2. $user = $_SESSION['usuario'];
  3. $SCORES = $_GET['score'];
  4. if($SCORES >= 1){
  5.     $act1 = "UPDATE usersgames SET scores= scores + '$SCORES' WHERE usernamegame='$user'";
  6. $link->query($act1);
  7. $resultado = "TRUE = $SCORES";
  8. echo $resultado;
  9.  
Lo se no entiendo como pudo hacer eso, ya se que el CE se supene que actua en la parte del cliente o sea solo es visual y por otra parte es el servidor que no debería de afectar esto.

Y pues para terminar este tester que me dijo esto la verdad no tiene conocimientos sobre que pudiera hacer una inyeccion sql.
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Cheat engine en html/js/php?
« Respuesta #4 en: 29 Agosto 2017, 04:40 am »

Bueno, ese codigo es super vulnerable y es posible que lo haga con cheat engine o incluso simplemente mandando una petición GET al archivo PHP con el score de por si.

Vamos, que el amigo tuyo se ha complicado la vida innecesariamente porque con tener sesión iniciada y poner en el navegador control/sendscore.php?score=999999 habria funcionado. Que como lo ha hecho con cheat engine ? Facil, solo ha modificado la memoria del navegador para que en vez de 30, relfleje 30000 pero ya te digo, no es que su CE haya accedido a la BD, es que el script permite de por si ese tipo de valores y cambios.

Saludos
En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #5 en: 29 Agosto 2017, 04:45 am »

Bueno, ese codigo es super vulnerable y es posible que lo haga con cheat engine o incluso simplemente mandando una petición GET al archivo PHP con el score de por si.

Vamos, que el amigo tuyo se ha complicado la vida innecesariamente porque con tener sesión iniciada y poner en el navegador control/sendscore.php?score=999999 habria funcionado. Que como lo ha hecho con cheat engine ? Facil, solo ha modificado la memoria del navegador para que en vez de 30, relfleje 30000 pero ya te digo, no es que su CE haya accedido a la BD, es que el script permite de por si ese tipo de valores y cambios.

Saludos
Oohh gracias, tengo también otra duda también ha logrado hacerlo desde una pagina "puntajes" donde desgloso una tabla mostrando los scores de cada usuario ahi solo creo llamada para la conexion a base de datos y luego hago la instrucción de mostrar los usuarios de mayor a menor con los puntajes.
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #6 en: 29 Agosto 2017, 11:33 am »

Lo que yo dije, tu script PHP está aceptando incondicionalmente cualquier valor que venga de fuera y guardándolo en la base de datos...

Tienes que tener en cuenta que es difícil (o imposible, depende, no sé como funciona tu sistema de rankings) impedir que hagan trampas si el valor del puntaje es enviado desde el cliente, ya que es muy fácil modificar ese valor y ponerse lo que uno quiera.

El script PHP es el encargado de decidir si ese puntaje es aceptado y guardado o descartado si no se cumplen las condiciones (trampas o algún fallo, etc), aquí es donde tienes que implementar la seguridad e integridad de tu sistema de ranking.

Si nos dices sobre que trata el ranking y como funciona, podremos darte soluciones. Si es posible puede moverse al servidor.
En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #7 en: 29 Agosto 2017, 16:59 pm »

Entonces como podria hacer que estos valores no pasaran se lidiar con lo del "control/sendscore.php?score=999999" pero como puedo hacer que no pase cualquier valor que venga fuera?
Este el codigo del ranking no se si tenga algo que ver que este conectando desde aquí la bd igualmente si afecta esto
Código
  1. $servername = "server";
  2. $username = "user";
  3. $password = "password";
  4. $dbname = "bd";
  5. $conn = new mysqli($servername, $username, $password, $dbname);
  6. $sql = "SELECT usernamegames, scores FROM usersgames order by scores desc";
  7. $result = $conn->query($sql);
  8.  
  9. $number = 1;
  10.  
  11. <?php
  12. if ($result->num_rows > 0) {
  13.    echo "<table CELLSPACING=10 class=tabla><tr><th>TOP</th><th>Usuario</th><th>Score</th></tr>";
  14.    while($row = $result->fetch_assoc()) {
  15.        echo "<tr><td>$number</td><td>".$row["usernamegame"]."</td><td>".$row["scores"]."</td></tr>";
  16.        $number++;
  17.    }
  18.    echo "</table>";
  19. } else {
  20.    echo "No se encuentran ningún usuario en el ranking";
  21. }
  22. $conn->close();
  23. ?>
  24.  
  25.  
  26.  
En línea

gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #8 en: 30 Agosto 2017, 01:58 am »

No necesitamos más código, ya sabemos donde está el problema.

Lo que necesitamos ahora es que nos digas que tipo de ranking es y como funciona, para saber como implementarlo de forma decente, o mejor aún, enseñarte como hacerlo. ¿Es un juego no? Explícanos un poco de que va, para hacernos una idea. Si no, no vamos a poder ayudarte...
En línea

SrTrp


Desconectado Desconectado

Mensajes: 325


Script/C#


Ver Perfil
Re: Cheat engine en html/js/php?
« Respuesta #9 en: 30 Agosto 2017, 02:48 am »

El juego va de matar enemigos por cada enemigo matar dan +2 scores, consta de 3 variables principales las cuales son el "score" la "vida" y la "munición" como que otra cosa mas tendrías la duda?
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cheat Engine
Juegos y Consolas
UTU 1 5,108 Último mensaje 12 Marzo 2006, 20:47 pm
por SmopuiM
Cheat engine V5.3
Juegos y Consolas
yukigon 0 6,712 Último mensaje 22 Marzo 2008, 04:36 am
por yukigon
cheat engine
Juegos y Consolas
CaZ4d0R 3 7,198 Último mensaje 6 Agosto 2010, 14:04 pm
por Castiblanco
[CE] Cheat Engine
Ingeniería Inversa
N30h} 3 5,848 Último mensaje 14 Septiembre 2012, 04:50 am
por Иōҳ
cheat engine
Juegos y Consolas
asturengal 1 3,314 Último mensaje 15 Septiembre 2012, 05:47 am
por noookiever
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines