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?
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ú
$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();
?>
Cita de: #!drvy en 29 Agosto 2017, 04:40 AMOohh 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.
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
Cita de: engel lex en 28 Agosto 2017, 02:41 AMNi 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
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...
Cita de: gAb1 en 29 Agosto 2017, 01:07 AMPara 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..
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 .....
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);
}
});
}
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;
//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);
}
}
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()
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";
}
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);
$_SESSION['coins'] -= 3000;