Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas-5281

ID na url, site vulnerável

Recommended Posts

Olá amigos bom dia, criei uma pagina para mostrar os dados do usuário e esta perfeito o único problema é que esta muito vulnerável os dados do usuário:

 

EX: dadosdousuario.com?id=50

 

Se o outro usuário logado colocar --> dadosdousuario.com?id=51, ele consegue ver os dados do outro, como posso resolver isso? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia cara,

 

 

Para ver este dados o usuario precisa fazer o Login? se sim, é só gravar na $_SESSION o ID do usuario na hora da validação e fazer a consulta a partir dessa sessão...dessa forma nao vai precisar passar variavel pelo link

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for preenchido algum formulario antes de exibir os dados, pode passar pelo campo por input typ= hidden.

 

 

mas acho que a melhor opção é gravar os dados na session. desconheço outra forma de fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

campo tipo hidden é um campo oculto, ou seja nao aparece para o usuario, nele voce pode gravar o ID do usuario e ao clicar no botao vai para a pagina e la voce faz a consulta.

 

segue exemplo

<form action="dadosusuario.php" method="POST">

<input type="hidden" name="id" value="<?php echo $id ?>">

<button type="submit">Exibir dados</button>

</form>

basicamente é isso...

 

na pagina dadosusuario.php voce puxa os dados do id do usuario com $_POST['id']

 

 

se tiver dificuldade poste seu codigo ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao...

 

no jeito que voce estava fazendo para pegar o ID ele passava ela url e na pagina de destino vc usava $_GET['id'] certo? agora o id nao vai aparecer na URL e voce vai usar $_POST['id'] na pagina de destino.

 

só nao esqueca de colocar no FORM o method="POST"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu usava assim -->

<a href='pagina.php?id=<?php echo $id; ?>'> 
<img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/>
</a>

Mas esta dando um erro quando coloco assim -->

<a href='pagina.php?id=<?php echo $_POST['id']; ?>'> 
<img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/>
</a>

O que esta de errado? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao esta usando um formulario...tente assim:

<form action="pagina.php" method="POST">

<input type="hidden" name="id" value="<?php echo $id ?>">

<button type="submit"><img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/></button>

</form>

na pagina de destino, somente na pagina de destino voce substitui onde tiver $_GET['id'] por $_POST['id']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei assim na primeiro pagina -->

<form action="dadosusuario.php" method="POST">

<input type="hidden" name="id" value="">

<button type="submit">Exibir dados</button>

</form>

E assim na segunda pagina -->

<form action="pagina.php" method="POST">

<input type="hidden" name="id" value="<?php echo $id ?>">

<button type="submit"><img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/></button>

</form>

Mas não esta exibindo os dados o que pode estar de errado? Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok.

 

agora esta melhor de entender. consegue voltar o codigo da sua segunda pagina como estava funcionando antes?

 

 

vamos do inicio, poste o codigo funcionando da primeira e da segunda pagina como estava no comeco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeira pagina -->

<form action="<?php echo $loginFormAction; ?>" method="POST" name="form1" id="form1">




  <p>Insira seu nome e endereço de e-mail para fazer o teste 24 horas</p>
  <table width="640" align="center">
    <tr valign="baseline">
      <td width="110" align="right" nowrap="nowrap">Nome completo:</td>
      <td width="10"> </td>
      <td width="455"><span id="sprytextfield1">
      <input type="text" name="nome" value="" size="32" />
      <span class="textfieldRequiredMsg">Insira seu nome completo.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right">E-mail:</td>
      <td> </td>
      <td><span id="sprytextfield2">
      <input type="text" name="email" value="" size="32" />
      <span class="textfieldRequiredMsg">Insira seu e-mail.</span><span class="textfieldInvalidFormatMsg">E-mail inválido.</span></span></td>
    </tr>
    <tr valign="baseline">
      <td nowrap="nowrap" align="right"> </td>
      <td> </td>
      <td><input type="submit" value="Concluído" />
      
      
      
      <div id="apDiv1"><img src="http://nsae02.casimages.net/img/2014/12/02/141202042852939847.png" width="700px" /></div></td>
      
      
      
      
    </tr>
  </table>
  <input type="hidden" name="MM_insert" value="form1" />
</form>

Segunda pagina -->

<?php


$sql = mysql_query("SELECT * FROM user");
while ($linha = mysql_fetch_array($sql)){

$id = $linha['id'];

	
}


?>
<title>Parceiros do az CS</title>

<a href='gfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQdgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQfgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQsgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQ.php?id=<?php echo $id; ?>'> 
<img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/>
</a>




Compartilhar este post


Link para o post
Compartilhar em outros sites

sim esta logo abaixo -->

<?php require_once('Connections/config.php'); ?>

<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "testecs.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_GET['id'])) {
  $colname_Recordset1 = $_GET['id'];
}
mysql_select_db($database_config, $config);
$query_Recordset1 = sprintf("SELECT * FROM teste_cs WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

//$hostname_config = "mysql.hostinger.com.br";
//$database_config = "u619603006_teste";
//$username_config = "u619603006_root";
//$password_config = "abc528167823427";
//$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

<style type="text/css">
.as {
	color: #090;
}
#apDiv1 {
	position: absolute;
	width: 514px;
	height: 210px;
	z-index: 1;
	left: 506px;
	top: 259px;
}
#apDiv2 {
	position: absolute;
	width: 200px;
	height: 115px;
	z-index: 2;
	left: 1144px;
	top: 10px;
}
</style>
<title>Parceiros do az CS</title>
<div id="apDiv2">

<a href="index.php"><img src="http://macmagazine.com.br/wp-content/uploads/2011/07/25-paraonde_icon.png?cda6c1" style="width:100px;" /></a>


<?php do { ?>
</div>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px">Obrigado pela sua preferência, esperamos muito em breve tê-lo como nosso cliente.<br/>Para sua comodidade, os dados do login esta logo abaixo, para configuraçao do seu receptor.</p></p>
<p style="font-family:Arial, Helvetica, sans-serif; color:#F00; font-weight:bold; font-size:15px;">O TESTE ENCERRA <?php echo $row_Recordset1['valido_ate']; ?>.<br />EFETUE O PAGAMENTO E EVITE O BLOQUEIO.</p>

<p style="font-family:Arial, Helvetica, sans-serif; color:#F00; font-size:15px;">Oferecemos suporte de domingo a domingo por e-mail, skype ou nosso site.</p>

<p>==============================================================================</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#F00;">IMPORTANTE: Desligue o IKS, SDS ou SKS para o cs rodar liso sem travas.</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#F00;">Observação: Os HD não esta pegando em nenhum servidor CS do mercado.</p>

<p>==============================================================================</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Server: <span class="as"><?php echo $row_Recordset1['server']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Porta: <span class="as"><?php echo $row_Recordset1['porta']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">User: <span class="as"><?php echo $row_Recordset1['user']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Senha: <span class="as"><?php echo $row_Recordset1['senha']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Chave deskey: <span class="as">01 02 03 04 05 06 07 08 09 10 11 12 13 14</span>
<p>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Profile: <span class="as">Claro, Sky e Vivo</span><p>
 <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
===============================================================================<p>
<div id="apDiv1"><img src="http://nsae02.casimages.net/img/2014/12/01/14120109210346815.png" width="400px;" /></div>

  
  
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Nossos pagamentos é por deposito da caixa econimica federal, o valor é R$20,00 reais mensais, assim que o pagamento for depositado a duração do login é de 30 dias.<br />O deposito pode ser feito na lotérica mais próxima.<p>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Suporte e ajuda de domingo a domingo.<p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">E-mail: lucasadaltonguedes@hotmail.com</p>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Skype: lucas_ag1500</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Site: <a href="http://www.parceirosdoaz.tk/" style="text-decoration:none; color:#090">www.parceirosdoaz.tk</a></p>
          
            

<style type="text/css">

body {
	background-color: #d8d8d8;
}
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	font-style:italic;
}
</style>
<?php
mysql_free_result($Recordset1);
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim:

 

Primeira pagina -> mantem igual

 

Segunda pagina ->

<?php


$sql = mysql_query("SELECT * FROM user");
while ($linha = mysql_fetch_array($sql)){

$id = $linha['id'];

	
}


?>
<title>Parceiros do az CS</title>

<form action="gfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQdgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQfgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQsgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQgfe_rd=cr&ei=Aql8VNfgBKOX8QfslIGYBQ.php" method="POST">

<input type="hidden" name="id" value="<?php echo $id ?>">

<button type="submit"><img src='http://nsae02.casimages.net/img/2014/12/01/141201083700969306.png' style='margin-left:210px;'""/></button>

</form>

terceira pagina ->

<?php require_once('Connections/config.php'); ?>

<?php
if (!isset($_SESSION)) {
  session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";

// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
  // For security, start by assuming the visitor is NOT authorized. 
  $isValid = False; 

  // When a visitor has logged into this site, the Session variable MM_Username set equal to their username. 
  // Therefore, we know that a user is NOT logged in if that Session variable is blank. 
  if (!empty($UserName)) { 
    // Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
    // Parse the strings into arrays. 
    $arrUsers = Explode(",", $strUsers); 
    $arrGroups = Explode(",", $strGroups); 
    if (in_array($UserName, $arrUsers)) { 
      $isValid = true; 
    } 
    // Or, you may restrict access to only certain users based on their username. 
    if (in_array($UserGroup, $arrGroups)) { 
      $isValid = true; 
    } 
    if (($strUsers == "") && true) { 
      $isValid = true; 
    } 
  } 
  return $isValid; 
}

$MM_restrictGoTo = "testecs.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {   
  $MM_qsChar = "?";
  $MM_referrer = $_SERVER['PHP_SELF'];
  if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
  if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
  $MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
  $MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
  header("Location: ". $MM_restrictGoTo); 
  exit;
}
?>

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_POST['id'])) {
  $colname_Recordset1 = $_POST['id'];
}
mysql_select_db($database_config, $config);
$query_Recordset1 = sprintf("SELECT * FROM teste_cs WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

//$hostname_config = "mysql.hostinger.com.br";
//$database_config = "u619603006_teste";
//$username_config = "u619603006_root";
//$password_config = "abc528167823427";
//$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR); 
?>

<style type="text/css">
.as {
	color: #090;
}
#apDiv1 {
	position: absolute;
	width: 514px;
	height: 210px;
	z-index: 1;
	left: 506px;
	top: 259px;
}
#apDiv2 {
	position: absolute;
	width: 200px;
	height: 115px;
	z-index: 2;
	left: 1144px;
	top: 10px;
}
</style>
<title>Parceiros do az CS</title>
<div id="apDiv2">

<a href="index.php"><img src="http://macmagazine.com.br/wp-content/uploads/2011/07/25-paraonde_icon.png?cda6c1" style="width:100px;" /></a>


<?php do { ?>
</div>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px">Obrigado pela sua preferência, esperamos muito em breve tê-lo como nosso cliente.<br/>Para sua comodidade, os dados do login esta logo abaixo, para configuraçao do seu receptor.</p></p>
<p style="font-family:Arial, Helvetica, sans-serif; color:#F00; font-weight:bold; font-size:15px;">O TESTE ENCERRA <?php echo $row_Recordset1['valido_ate']; ?>.<br />EFETUE O PAGAMENTO E EVITE O BLOQUEIO.</p>

<p style="font-family:Arial, Helvetica, sans-serif; color:#F00; font-size:15px;">Oferecemos suporte de domingo a domingo por e-mail, skype ou nosso site.</p>

<p>==============================================================================</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#F00;">IMPORTANTE: Desligue o IKS, SDS ou SKS para o cs rodar liso sem travas.</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:15px; color:#F00;">Observação: Os HD não esta pegando em nenhum servidor CS do mercado.</p>

<p>==============================================================================</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Server: <span class="as"><?php echo $row_Recordset1['server']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Porta: <span class="as"><?php echo $row_Recordset1['porta']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">User: <span class="as"><?php echo $row_Recordset1['user']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Senha: <span class="as"><?php echo $row_Recordset1['senha']; ?></span><br>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Chave deskey: <span class="as">01 02 03 04 05 06 07 08 09 10 11 12 13 14</span>
<p>

<p style="font-family:Arial, Helvetica, sans-serif; font-weight:bold">Profile: <span class="as">Claro, Sky e Vivo</span><p>
 <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
===============================================================================<p>
<div id="apDiv1"><img src="http://nsae02.casimages.net/img/2014/12/01/14120109210346815.png" width="400px;" /></div>

  
  
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Nossos pagamentos é por deposito da caixa econimica federal, o valor é R$20,00 reais mensais, assim que o pagamento for depositado a duração do login é de 30 dias.<br />O deposito pode ser feito na lotérica mais próxima.<p>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Suporte e ajuda de domingo a domingo.<p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">E-mail: lucasadaltonguedes@hotmail.com</p>
<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Skype: lucas_ag1500</p>

<p style="font-family:Arial, Helvetica, sans-serif; font-size:13px;">Site: <a href="http://www.parceirosdoaz.tk/" style="text-decoration:none; color:#090">www.parceirosdoaz.tk</a></p>
          
            

<style type="text/css">

body {
	background-color: #d8d8d8;
}
body,td,th {
	font-family: Arial, Helvetica, sans-serif;
	font-style:italic;
}
</style>
<?php
mysql_free_result($Recordset1);
?>

teste e diga se deu certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.