Muchos de Ustedes han escuchado hablar del famoso SQL Injections , y más de uno se pregunta ¿Qué quiere decir eso?
La inyección de sql son códigos, mejor dicho son script que ultilizan los "hackers" para modificar , extraer o manipular datos almacenados.
¿Como lo hacen?, muy fácil si ustedes se ponen a pensar cuando creamos una cuenta por la página de nuestro juego, los datos viajan por .php a traves de variables hacía la .DB (Base de Datos) esa es la conexión que tiene la página web a nuestra Base de Datos que por defecto todos llamamos MuOnline.
Los inyectores se ejecutan de esa manera, en vez de enviar los datos de la cuenta envian otros.
mssql_connect(..);Ese es un ejemplo claro de envio de datos de un sitio a una base de datos
mssql_select_db(..);
$account = $_POST['acc']; // Usuario
$password = $_POST['pass']; //Password
// Otras variables
$query = mssql_query("select count(*) from [memb_info] where [memb___id]='$account'");
?>
En la primera linea se conecta a la base de datos y en la segunda linea, luego tenemos las variables $cuenta $ password.
Las inyecciones pueden ser hechas en un $_POST, $_GET , $_REQUEST, $_COOKIE o a cada valor que el usuario puede tener acceso.
Una forma a esto es utilizar "addslashes()" que devuelve una cadena con barras invertidas delante de los carácteres que necesitan escaparse en situaciones como consultas de bases de datos, etc.
Los carácteres que se escapan son la comilla simple ('), comilla doble ("), barra invertida (\) y NUL (el byte NULL)