sido hackeado, requieren asesoramiento

  • tommya
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: Mar 17, 2004
  • Mensajes: 221
  • Loc: United Kingdom
  • Status: Offline

Nota Diciembre 15th, 2005, 11:45 am

Hola,

Un sitio web que hice fue hackeado más o menos inmediatamente.
Estoy usando PHP / MySQL y estoy básicamente quieren saber cosas sobre lo que puedo hacer para prevenir diversos tipos de ataque.

Yo uso incluyen archivos para mi conexión detalles sobre cada una de las páginas? este es un problema?

Cualquier ayuda que puedo obtener sería grande, incluso si usted me puede apuntar en la dirección de algunos artículos que puedo ahondar en

Gracias

Tommy
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Diciembre 15th, 2005, 11:45 am

  • Nebulous
  • Beginner
  • Beginner
  • No Avatar
  • Registrado: Nov 20, 2004
  • Mensajes: 59
  • Loc: Hampshire, UK
  • Status: Offline

Nota Diciembre 15th, 2005, 11:53 am

puede franja certian charaters de insumos para asegurarse de que no exploten. Esto también puede incluir varifying direcciones de correo electrónico...

¿No está seguro de qué otra cosa para sugerir en este momento.

Nebuloso
  • lioness
  • Mastermind
  • Mastermind
  • Avatar de Usuario
  • Registrado: Jun 23, 2004
  • Mensajes: 1616
  • Status: Offline

Nota Diciembre 15th, 2005, 1:05 pm

si está incluyendo los archivos con php, asegúrese de que los archivos incluidos tienen una extensión. php y no son, por ejemplo, un texto (. txt). También asegúrese de que el archivo PHP a ser incluido comienza con <? y termina con ?> De esta forma, si un usuario encuentre su archivo de inclusión que no pueden leer directamente desde su navegador.

por ejemplo,
PHP Código: [ Select ]
<?php include("mydetails.php"); ?>

donde mydetails. PHP es
PHP Código: [ Select ]
<?php
 
// connection details
 
?>
  1. <?php
  2.  
  3. // connection details
  4.  
  5. ?>


es mucho mejor que

PHP Código: [ Select ]
<?php include("mydetails.txt"); ?>

donde se mydetails.txt
Código: [ Select ]
// connection details
  • tommya
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: Mar 17, 2004
  • Mensajes: 221
  • Loc: United Kingdom
  • Status: Offline

Nota Diciembre 15th, 2005, 1:21 pm

el tipo whos hecho esto, dijo que descargar un archivo - vote.php y presentado de nuevo con una consulta dentro de ella? o algo en ese sentido.
Dijo que sabe prácticamente nada acerca de la piratería pero lo logró, por lo que Im preocupado?

el archivo vote.php parece esto? y esto se llama desde la página principal mediante un incluir como este <? include ( "vote.php");?>

Código: [ Select ]
<?

include("../dbconn_epguides.php");

if ($_POST['submit'])
    {
    $episode = $_POST['episode'];
    $score = $_POST['score'];
    $season = $_POST['season'];
    $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
    header("Location: $season.php?ep=$episode&amp;show=synopsis");
    }
?>
  1. <?
  2. include("../dbconn_epguides.php");
  3. if ($_POST['submit'])
  4.     {
  5.     $episode = $_POST['episode'];
  6.     $score = $_POST['score'];
  7.     $season = $_POST['season'];
  8.     $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
  9.     header("Location: $season.php?ep=$episode&amp;show=synopsis");
  10.     }
  11. ?>
  • mrmagu
  • Student
  • Student
  • No Avatar
  • Registrado: Dic 14, 2004
  • Mensajes: 86
  • Loc: Great White North
  • Status: Offline

Nota Diciembre 15th, 2005, 1:49 pm

tommya escribió:
el tipo whos hecho esto, dijo que descargar un archivo - vote.php y presentado de nuevo con una consulta dentro de ella? o algo en ese sentido.
Dijo que sabe prácticamente nada acerca de la piratería pero lo logró, por lo que Im preocupado?

el archivo vote.php parece esto? y esto se llama desde la página principal mediante un incluir como este <? include ( "vote.php");? >

Código: [ Select ]
<?

include("../dbconn_epguides.php");

if ($_POST['submit'])
    {
    $episode = $_POST['episode'];
    $score = $_POST['score'];
    $season = $_POST['season'];
    $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
    header("Location: $season.php?ep=$episode&amp;show=synopsis");
    }
?>
  1. <?
  2. include("../dbconn_epguides.php");
  3. if ($_POST['submit'])
  4.     {
  5.     $episode = $_POST['episode'];
  6.     $score = $_POST['score'];
  7.     $season = $_POST['season'];
  8.     $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
  9.     header("Location: $season.php?ep=$episode&amp;show=synopsis");
  10.     }
  11. ?>


Sí inyección de SQL sencilla, escapar de tu SQL, mysql_real_escape_string método simple (); (creo)

editar:

por ejemplo:
Código: [ Select ]
$score = isset( $_POST[ 'score' ] ) ? mysql_real_escape_string( $_POST[ 'score' ] ) : '';
  • tommya
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: Mar 17, 2004
  • Mensajes: 221
  • Loc: United Kingdom
  • Status: Offline

Nota Diciembre 15th, 2005, 1:58 pm

Gracias MrMagu, aunque si soy totalmente sincero, no soy demasiado seguro de que sabe lo que está haciendo, pero me gustaría.

He modificado el código de la siguiente manera. ¿Quiere esto poner fin a esta "inyección SQL" cosa?

Código: [ Select ]
<?
include("../dbconn_epguides.php");

if ($_POST['submit'])
    {
    $episode = $_POST['episode'];
    $score = $_POST['score'];
    $score = isset( $_POST[ 'score' ] ) ? mysql_real_escape_string( $_POST[ 'score' ] ) : '';    
    $season = $_POST['season'];
    $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
    header("Location: $season.php?ep=$episode&amp;show=synopsis");
    }
?>
  1. <?
  2. include("../dbconn_epguides.php");
  3. if ($_POST['submit'])
  4.     {
  5.     $episode = $_POST['episode'];
  6.     $score = $_POST['score'];
  7.     $score = isset( $_POST[ 'score' ] ) ? mysql_real_escape_string( $_POST[ 'score' ] ) : '';    
  8.     $season = $_POST['season'];
  9.     $sql = mysql_query("INSERT INTO smv_ep_votes (episode,score) VALUES ('$episode','$score')");
  10.     header("Location: $season.php?ep=$episode&amp;show=synopsis");
  11.     }
  12. ?>
  • tommya
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: Mar 17, 2004
  • Mensajes: 221
  • Loc: United Kingdom
  • Status: Offline

Nota Diciembre 15th, 2005, 2:24 pm

Además, he encontrado estas funciones. ¿Estas de trabajo.
Ive leer algo de información sobre las inyecciones de SQL

http://www.askbee.net/articles/php/SQL_Injection/sql_injection.html

Código: [ Select ]
function anti_inject ($value,$txt=false)
    {
    if (get_magic_quotes_gpc()) $value=stripslashes($value);
    if (!is_numeric($value)) $value="'".mysql_real_escape_string($value)."'";
    if ($txt && is_numeric($value)) $value="'".$value."'";
        return $value;
    }
    

function sql_quote( $value )
{
  if( get_magic_quotes_gpc() )
  {
     $value = stripslashes( $value );
  }
  //check if this function exists
  if( function_exists( "mysql_real_escape_string" ) )
  {
     $value = mysql_real_escape_string( $value );
  }
  //for PHP version < 4.3.0 use addslashes
  else
  {
     $value = addslashes( $value );
  }
  return $value;
}
  1. function anti_inject ($value,$txt=false)
  2.     {
  3.     if (get_magic_quotes_gpc()) $value=stripslashes($value);
  4.     if (!is_numeric($value)) $value="'".mysql_real_escape_string($value)."'";
  5.     if ($txt && is_numeric($value)) $value="'".$value."'";
  6.         return $value;
  7.     }
  8.     
  9. function sql_quote( $value )
  10. {
  11.   if( get_magic_quotes_gpc() )
  12.   {
  13.      $value = stripslashes( $value );
  14.   }
  15.   //check if this function exists
  16.   if( function_exists( "mysql_real_escape_string" ) )
  17.   {
  18.      $value = mysql_real_escape_string( $value );
  19.   }
  20.   //for PHP version < 4.3.0 use addslashes
  21.   else
  22.   {
  23.      $value = addslashes( $value );
  24.   }
  25.   return $value;
  26. }
  • lioness
  • Mastermind
  • Mastermind
  • Avatar de Usuario
  • Registrado: Jun 23, 2004
  • Mensajes: 1616
  • Status: Offline

Nota Diciembre 15th, 2005, 3:34 pm

tommya escribió:
el chico cuyo hecho esto dice que descargar un archivo - vote.php y volvió con una consulta en su interior? o algo en ese sentido.
Dijo que sabe prácticamente nada acerca de la piratería informática, ha logrado todavía, lo que es la razón por la Im preocupado?


Sí parece que él simplemente entró en una inyección de SQL y su guión no tiene defensa contra eso. mysql_real_escape_string () escapa a los caracteres que permiten al usuario introducir más preguntas que las que han creado.
  • tommya
  • Graduate
  • Graduate
  • No Avatar
  • Registrado: Mar 17, 2004
  • Mensajes: 221
  • Loc: United Kingdom
  • Status: Offline

Nota Diciembre 15th, 2005, 3:41 pm

genial, gracias chicos
Im no el mayor en las amenazas a la seguridad, pero esto ha abierto los ojos a éste, tengo un montón de entrada del usuario a ejecutar ahora a través de mi nueva función encontrado :D

¿existen otras importantes amenazas se puede sugerir que estudiar?

Publicar Información

  • Total de mensajes en este tema: 9 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC