O caso da Planetacraft_BR

O que era a Planetacraft_BR

Um servidor de minecraft brasileiro, que já foi do modo sobrevivência, guerra, construção e minigames.

Site memorial

Fotos

O surgimento

Capito sobre o surgimento de pessoas com muito dinheiro do nada.

Antes disso

Precisamos saber como era o sistema do servidor!

O sistema

O sistema

O sistema

O sistema

O surgimento

Como o ataque aconteceu?

Por meio de request na API?

<?php
if ($_SERVER['REMOTE_ADDR'] == "192.99.3.96") {
	
$modo = $_GET['modo'];
$nick = strtolower($_GET['nick']);
$quantidade = $_GET['quantidade'];

$connect = mysql_connect("localhost","root","ib8yg87g9jkop");
$db = mysql_select_db('planeta_servidor');

$query_select = "SELECT * FROM contas WHERE nome = '".$nick."'";
$select = mysql_query($query_select,$connect);
$REGrow = mysql_fetch_array($select);

if ($REGrow['nome'] == $nick){

if ($modo == "ADD"){
$calcularpreco = $REGrow['planets']+$quantidade;

$ADDsqlinsert = "UPDATE contas  SET planets = '".$calcularpreco."' WHERE nome = '".$nick."' ";
$ADDinsirirdados = mysql_query($ADDsqlinsert,$connect);
if (!$ADDinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado ".$calcularpreco." !"), JSON_FORCE_OBJECT);

}

if ($modo == "REMOVE"){
		if ($REGrow['planets'] >= $quantidade){
$calcularpreco = $REGrow['planets']-$quantidade;

$REMOVEsqlinsert = "UPDATE contas  SET planets = '".$calcularpreco."' WHERE nome = '".$nick."'";
$REMOVEinsirirdados = mysql_query($REMOVEsqlinsert,$connect);
if (!$REMOVEinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado ".$calcularpreco." !"), JSON_FORCE_OBJECT);
    }else{
$REMOVEsqlinsert = "UPDATE contas  SET planets = '0.00' WHERE nome = '".$nick."'";
$REMOVEinsirirdados = mysql_query($REMOVEsqlinsert,$connect);
if (!$REMOVEinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado 0.00 !"), JSON_FORCE_OBJECT);
}
}

if ($modo == "VENDA"){
	if ($REGrow['planets'] >= $quantidade){
$calcularpreco = $REGrow['planets']-$quantidade;

$REMOVEsqlinsert = "UPDATE contas  SET planets = '".$calcularpreco."' WHERE nome = '".$nick."'";
$REMOVEinsirirdados = mysql_query($REMOVEsqlinsert,$connect);
if (!$REMOVEinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado ".$calcularpreco." !"), JSON_FORCE_OBJECT);
	}else{
echo json_encode(array('ERRO' => "Jogador nao tem saldo suficiente !"), JSON_FORCE_OBJECT);
	}
}

if ($modo == "RESET"){
$REMOVEsqlinsert = "UPDATE contas  SET planets = '0.00' WHERE nome = '".$nick."'";
$REMOVEinsirirdados = mysql_query($REMOVEsqlinsert,$connect);
if (!$REMOVEinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado 0.00 !"), JSON_FORCE_OBJECT);
}
}else{
echo json_encode(array('ERRO' => "O jogador não esta registrado !"), JSON_FORCE_OBJECT);
}
}else{
echo json_encode(array('ERRO' => "Apenas o servidor planetaraft_BR poder ver essa pagina !"), JSON_FORCE_OBJECT);
}
?>

Por meio de SQL Inject?

<?php
<?php
if ($_SERVER['REMOTE_ADDR'] == "192.99.3.96") {
	
$modo = $_GET['modo'];
$nick = strtolower($_GET['nick']);

if ($modo == "ADD"){
$calcularpreco = $REGrow['planets']+$quantidade;

$ADDsqlinsert = "UPDATE contas  SET planets = '".$calcularpreco."' WHERE nome = '".$nick."' ";
$ADDinsirirdados = mysql_query($ADDsqlinsert,$connect);
if (!$ADDinsirirdados){
echo json_encode(array('ERRO' => "Nao conseguimos atualizar os planets !"), JSON_FORCE_OBJECT);
}
echo json_encode(array('OK' => "Novo saldo de planets atualizado ".$calcularpreco." !"), JSON_FORCE_OBJECT);

}
}

?>

Yess, achamos o erro!

Obrigado a todos pela atenção!

PlanetsWEB - Segurança de Banco De Dados | Webinar Semanal | O caso da Planetacraft_BR

By Rubens Flinco

PlanetsWEB - Segurança de Banco De Dados | Webinar Semanal | O caso da Planetacraft_BR

  • 142