Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - SrTrp

#231
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?
#232
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 (php) [Seleccionar]

$servername = "server";
$username = "user";
$password = "password";
$dbname = "bd";
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT usernamegames, scores FROM usersgames order by scores desc";
$result = $conn->query($sql);

$number = 1;

<?php
if (
$result->num_rows 0) {
    echo 
"<table CELLSPACING=10 class=tabla><tr><th>TOP</th><th>Usuario</th><th>Score</th></tr>";
    while(
$row $result->fetch_assoc()) {
        echo 
"<tr><td>$number</td><td>".$row["usernamegame"]."</td><td>".$row["scores"]."</td></tr>";
        
$number++;
    }
    echo 
"</table>";
} else {
    echo 
"No se encuentran ningún usuario en el ranking";
}
$conn->close();
?>



#233
Cita de: #!drvy 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
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.
#234
Cita de: engel lex 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...
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

Cita de: gAb1 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 .....
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 (javascript) [Seleccionar]
function sendscore(score){
       var datos= {
               "score" : score
       };
       $.ajax({
               data:  datos,
               url:   'control/sendscore.php',
               type:  'GET',
               beforeSend: function () {
                       $("#resultado").html("Waiting...");
               },
               success:  function (response) {
                       $("#resultado").html(response);
               }
       });
}

el php
Código (php) [Seleccionar]

require("conex.php");
$user = $_SESSION['usuario'];
$SCORES = $_GET['score'];
if($SCORES >= 1){
    $act1 = "UPDATE usersgames SET scores= scores + '$SCORES' WHERE usernamegame='$user'";
$link->query($act1);
$resultado = "TRUE = $SCORES";
echo $resultado;

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.
#235
Desarrollo Web / Cheat engine en html/js/php?
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.
#236
Que tal quisiera saber un sitio donde pueda ver ejercicios de programación ya sea lenguaje C#, c++, visual basic, php, java.
Pues quisiera saber un sitio donde haga una lista de ejercicios que pueda yo resolver ya que estoy por entrar a un concurso de programación.
#237
Que creen que pueda mejorar esta función de colision de enemigos y jugador?  quisiera  saber como puedo hacer que no trasparece el enemigo si detecta cuando se topan.
Código (javascript) [Seleccionar]

//AQUI ESTA CUANDO HAGO LA COLISION ENTRE ENEMIGO Y JUGADOR
if(player.intersects(enemigos[i])&&player.timer<1){
                    player.vida--;
                    player.timer=20;
             
                }


//AQUI ESTA LA FUNCION DE COLISION
Rectangle.prototype.intersects=function(rect){
        if(rect!=null){
            return(this.x<rect.x+rect.width&&
                this.x+this.width>rect.x&&
                this.y<rect.y+rect.height&&
                this.y+this.height>rect.y);
        }
    }
#238
Quiero obtener cada row en .net son numero de una tabla de una base de datos pero me arroja esto, como podría evitar que salieran los <tr y td que solo me estableciera los numeros.
<tr><td>17788481</td></tr><tr><td>5955996</td></tr><tr><td>58585</td></tr>
mi vb.net
Código (vbnet) [Seleccionar]

Dim client As New WebClient()
       client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR1.0.3705;)")
       Dim baseurl As String = "http://dominio.com/Libreria/control/api/test1.php"
       Dim data As Stream = client.OpenRead(baseurl)
       Dim reader As New StreamReader(data)
       Dim s As String = reader.ReadToEnd()
       data.Close()
       reader.Close()

       s = s.Replace("<html><head></head><body><table CELLSPACING=10 class=tabla><tr><th>ALL</th><th>Testo</th></tr>", "").Replace("</table></body></html>", "").ToString()
       RichTextBox1.Text = s.ToString()


Mi php
Código (php) [Seleccionar]
if ($result->num_rows > 0) {
   echo "<html><head></head><body><table CELLSPACING=10 class=tabla><tr><th>ALL</th><th>Testo</th></tr>";
   while($row = $result->fetch_assoc()) {
         $descriptip = Encrypter::decrypt($row['numbers']);
       echo "<tr><td>".$descriptip."</td></tr>";
   
   }
   echo "</table></body></html>";
} else {
   echo "No se encuentran ningún usuario con numero de la suerte";
}
#239
No esa linea la puse en la acción del post de un formulario si este tiene mas o igual de 3000, y selecciono el select de valor 3000 hago las procedentes acciones si este usuario intenta ingresar a esta pagina y no hizo el método post no accionara nada.
Código (php) [Seleccionar]

if($_SESSION['coins'] >= 3000){               
     $user1 = $_SESSION['usuario'];
$PVIP1 = $PTT;
$USER = $user1;
    $RANG = "Premium";
    switch ($PVIP1) {
        case '3000':

$settime1= date('Y-m-d', strtotime('+15 day')) ;
               $sql333 = "UPDATE users SET member_time='$settime1' WHERE usuario='$USER'";
$_SESSION['coins'] -= 3000;
$link->query($sql333);



#240
Cierto ya ha quedado resuelto, gracias.!
Código (php) [Seleccionar]
$_SESSION['coins'] -= 3000;