Anti Hack Inyeccion SQL

Topic created · 7 Mensajes · 2706 Visitas
  • No le entiendo esto se pone en la web este script o que pedo o en el bsd???

  • Protéjase de la inyección de SQL con GreenSQL
    La inyección SQL es una técnica de hacking que tiene como objetivo golpear a las aplicaciones web que dependen de una base de datos como SQL.

    Las consecuencias son imprevisibles para el programador: la inyección SQL permite al atacante para autenticarse con amplios privilegios en las áreas protegidas del sitio (por supuesto, aun sin estar en posesión de credenciales para el acceso) y ver y / o modificar los datos sensibles.
    La estructuración de las consultas SQL en una forma particular, en este caso integrado en una dirección web (URL incrustadas), si se pasa a una base de datos SQL con poco control sobre la estructuración de la entrada quesy, que actúa estrechando el servidor para devolver un mensaje error de que el hacker experimentado puede entender como la propia base de datos está estructurado y claro de cómo reformular la consulta para insertar los datos (en lugar de leer ... escribir corto) en la base de datos.

    El objetivo final será la de insertar un enlace a una página web que contenga código malicioso: cada vez que la base de datos se carga en un navegador el usuario será redirigido a la página web maliciosa!

    Uno de los muchos métodos

    GreenSQL es una interesante aplicación que se compromete a proteger una base de datos de cualquier ataque malicioso. Básicamente se trata de un firewall de código abierto que actúa como un filtro entre la red y database.Funziona ll'applicazione como un proxy, la aplicación en lugar de conectarse a la base de datos se conecta a GreenSQL que luego administra la conexión con la propia base de datos.
    Básicamente funciona así: si la consulta enviada por la aplicación se considera riesgoso por GreeSQL que no se envía a la base de datos y la GreenSQL aplicación devuelve un resultado nulo. Por otra parte, si la consulta no presenta problemas, fue invitada al servidor y luego responde a trata de aplicaciones web.
    La aplicación soporta tres modos:

    1.Simulation modo
    Comandos sospechoso 2.Blocking
    3.Learning modo
    Si la solicitud se encuentra en el modo de simulación funciona básicamente como un IDS (Intrusion Detection System). Todas las consultas consideradas dañinas son simplemente registrados y notificados el administrador puede consultar a través de la consola para los administradores.
    El bloqueo de comandos sospechosas modo que el sistema funciona como un IPS (Intrusion Prevention System). En este modo, las consultas que no están en la lista blanca se bloquean automáticamente y el programa, el programa devuelve un resultado de la aplicación web nulo. De lo contrario, si la consulta no se considera maligno, se lleva a cabo. Durante este modo, sin embargo, pueden generar falsos positivos o falsos negativos.
    Para evitar problemas debido a los dos modos anteriores modo se ha desarrollado el modo de aprendizaje durante el cual el programa se aprenden todas las consultas que la aplicación web puede enviar y los agrega a la lista blanca. Una vez más el modo de aprendizaje que debe ir a uno de los dos métodos mencionados anteriormente, con el fin de tener un mayor nivel de protección.
    También puede activar la protección de las consultas desconocido, esta opción le permite bloquear automáticamente los comandos que vienen GreenSQL desconocido.
    Para calcular si un comando es ilegal o no utiliza un motor de comparación de patrones que funciona en dos modos. El primero comprueba que la consulta no debe ser enviado para ejecutar comandos administrativos (como GRANT y REVOKE, o los comandos que iba a cambiar la estructura de la base de datos). Pero el otro calcula el riesgo de una consulta basada en métodos heurísticos, por ejemplo, controles de acceso a datos sensibles, los comentarios enviados en la consulta, la cadena debe contener la contraseña vacía tautología (la expresión siempre devuelve true (por ejemplo, 1 = 1)). Si el riesgo es suficientemente alto, la consulta se bloquean automáticamente.
    Leer más GreenSQL.net Os dejo con el sitio web oficial.

    Otro método

    Al leer datos de un formulario como el de un registro, que están en riesgo de inyección de SQL.
    La inyección SQL es un procedimiento mediante el cual se puede "inyectar" código SQL de manera ilegal.

    Ejemplo

    Veamos un ejemplo concreto. Suponga que tiene una tabla de usuarios tiene este aspecto:

    Esta es la forma de conexión:

                    Username: [br].[/br]
                    Password: [br].[/br][br].[/br]
    

    autenticación

    Para leer los siguientes parámetros:

    Aquí viene la inyección de SQL. si el nombre de usuario y contraseña por favor, introduzca el código: a 'o' a '=' a la consulta eso es lo que está escrito que dice el usuario

    select * from utenti 
                    where 
                    [username] ='a' or 'a'='a' and
                    [password]                 ='a' or 'a'='a'
    

    Esto es porque el personaje es interpretado por ASP es el final de la cadena.

    En este punto, está claro que la consulta devuelve un conjunto de registros completos de todos los usuarios de bases de datos (que en el ocurrido alguna vez) y nos lleva a ...

    Evitar la inyección de SQL

    Hay varios métodos para evitar la inyección SQL, te muestran el más inmediato, y en un cierto efecto.
    Cuando leemos los valores de la cadena de consulta, basta con sustituir el "carácter de la educación characters''through dos Reemplazar

    El resto del código debe ser ajustado.

    OTRA MANERA

    // Anti-SQL Injection 
    function check_inject() 
      { 
        $badchars = array(";", "'", "\"", "*", "DROP", "SELECT", "UPDATE", "DELETE", "-"); 
       
        foreach($_POST as $value) 
        { 
          if(in_array($value, $badchars)) 
          { 
            die("SQL Injection Detected\n[br].[/br]\nIP: ".$_SERVER['REMOTE_ADDR']); 
          ** 
          else 
          { 
            $check = preg_split("//", $value, -1, PREG_SPLIT_OFFSET_CAPTURE); 
            foreach($check as $char) 
            { 
              if(in_array($char, $badchars)) 
              { 
                die("SQL Injection Detected\n[br].[/br]\nIP: ".$_SERVER['REMOTE_ADDR']); 
    

    TAMBIEN

    ANTIDOOS

    #!/bin/sh
    MAX_CONN=90
    mkdir /tmp/stizzo
    TMP_PREFISSO='/tmp/stizzo'
    TMP_FILE='ip-abusi'
    netstat -ntu -f inet| awk '{if(NR>2 && NF=6) print $5}' | cut -d. -f1-4 | grep '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}$' | sort | uniq -c | sort -nr > $TMP_FILE
    while read line; do
    COR_LINEA_CONN=$(echo $line | cut -d" " -f1)
    COR_LINEA_IP=$(echo $line | cut -d" " -f2)
    if [ $COR_LINEA_CONN -lt $MAX_CONN ]; then
    break
    fi
    echo $COR_LINEA_IP > $TMP_PREFISSO/abusi
    awk '{$1="/sbin/route add -net "$0}1{$2=" 127.0.0.1 -blackhole"}2' $TMP_PREFISSO/abusi > $TMP_PREFISSO/nullr.sh ; sh $TMP_PREFISSO/nullr.sh
    done < $TMP_FILE
    rm -rf $TMP_PREFISSO
    

    Bueno al que le sirva espero me diga ajjaja si anda no lo e probado aun pero como me paresio importante la comparti sip saludos

    Fuente :www.inforge.net

  • @diper said:

    No le entiendo esto se pone en la web este script o que pedo o en el bsd???

    por loq ue puedo apreciar lo estoi estudiando bien ai que crear tablas para ejecutar el mismo i hay una query pero tiene errores poreso presiso ayudita ademas tengan en cuenta si ejecutan este abti inyecctor pararan muchos hack conosidos i inrastiables lla que son todos con el sistema que este previene saludos i mandame mp si quieres te paso mi skype :wiii:

  • la cosa es mucho mas sencilla, si tu web tiene las funciones sql correctas es mas dificil que inyecten,

    aun asi, hay hostings que dan proteccion contra inyecciones, que apartir de cierta consulta da un error 403 xD

    es mas facil pillarse una web de esas con proteccion que meter un script cualquiera

  • @Collado said:

    la cosa es mucho mas sencilla, si tu web tiene las funciones sql correctas es mas dificil que inyecten,

    aun asi, hay hostings que dan proteccion contra inyecciones, que apartir de cierta consulta da un error 403 xD

    es mas facil pillarse una web de esas con proteccion que meter un script cualquiera

    pos esto no es lo que tu dices tu tienes un metin? dime si tienes te muestro como te lo apago en 1 minuto sin mas cualquier server para que veas

  • Esta buena a guia, como dice el amigo de arcangeles, es importante proteger todos los input de texto escapando los caracteres usados para realizar consultas sql, como select, update, delete, ' ' , etc. antes de ejecutar cualquier formulario que comprometa tu Base de datos.
    El Script que creaste antidos, no lo he probado, y en si deberia funcionar por que limita a 90 conexiones. segun ip
    pero hay veces que el ataque ddos es masivo y no hay como defenderse ya que te envian millones de query que llegan a bloquear tu cpu y memoria colapsando el sistema.

    Como consejo, hagan lo posible por proteger sus datos y lo de sus usuarios.
    Saludos
    Mtnz

  • Amm no es por joderte tu "guia",

    pero no es necesario usar GreenSQL..

    además esta guia sólo es: inforge -> copy paste a google -> google copy paste a universojuegos :facepalm:

    fácilmente te puedes proteger de la siguiente forma con mysql o mysqli.

    ejemplo mysql:

    mysql_query('SELECT * FROM tabla  WHERE celda name = "'.mysql_real_escape_string($variable).'"') or die(mysql_error());
    

    ejemplo mysqli:

    mysqli_query('SELECT * FROM tu tabla  WHERE celda name = "'.mysqli_real_escape_string($variable).'"') or die(mysqli_error());
    

    es más sencillo de este modo y proporciona la misma seguridad..

    Regards.