[Anti Hack] SQL Injections in php Y muchos mas

Tema en 'Servidores de Mu Online' iniciado por marcobk, 22 May 2011.

  1. mar

    marcobk
    Expand Collapse
    Recluta

    Mensajes:
    13
    Me Gusta recibidos:
    2
    [​IMG]

    :::..Proteccion para tu servidor..:::

    Bueno algunos habran escuchado hablar del famoso SQL Injections , y mas de uno se pregunta que quiere decir eso (?)

    Bien comenzare con un poco de información la inyeccion de sql son codigo mejor dicho son SCRIPS que ultilizan los "hacker" si podemos llamarlo asi para modificar , extraer o manipular tablas en nuestra base de datos.
    Como lo hacen (?) , muy facil si ustedes se ponen a pensar cuando creamos una cuenta por pagina web , nuestros datos viajan en .php atraves de variables hacia la .DB ( data base = base de datos )esa es la coneccion que tiene la pagina web a nuestra base de datos que por defecto todos llaman MuOnline.
    Los inyectores se ejecutan de esa manera en vez de enviar los datos de la cuenta envian scrips.


    mssql_connect(..);
    mssql_select_db(..);
    $account = $_POST['acc']; // account field
    $password = $_POST['pass']; // password field
    // other vars bla bla..
    // Now here is the base query
    // First we check if this acc exists
    $query = mssql_query("select count(*) from [memb_info] where [memb___id]='$account'"); // This is where the 'hacker" (lame kiddie) will hit you
    //other code does not matter
    ?>

    Ese es un ejemplo claro de envio de datos

    Claro yo explico pero sino tenes una basica idea de lo que estoy hablando no sigas leyendo.
    En la primera linea se conecta a la base de datos y en la segunda linea seleciona
    por defecto tenemos preestablecidas las variables $cuenta $ password.

    Bien una solucion a esto es :

    Injections can be done in $_POST, $_GET or $_REQUEST, $_COOKIE or every value that the user has access to, so i suggest you addslashes() to all (addslashes changes ' to \' and " to "\ - this way user cannot end ur current query)

    Es decir retringir comandos tipicos para el acceso del sql , afortunadamente los que inyectan en nuestras web usan unos codigos prediseñados los cuales necesitan utilizar simbolos como estos !"#$%&/()=? , entonces nosotros podemos restingir esos simbolos utilizando el INJECCION SQL y una FUNCION llamada CHEK_SQL que viene en todas las web-mu. Esos dos archivos se encargan de verificar que si alguien quiere introducir algun comando "malicioso" se lo cancelen.
    A nosotros mucho no nos afecta , solo que en la creacion de cuentas y utilizacion de nuestras herramientas ( cambiar password , agregar stats , etc )los persojes que tengan en su nombre alguno de estos simbolos seran rechazados.

    Bueno eso fue una breve explicacion acerca del SQL INJECTIONS y la posible solucion.
    Espero que les halla sido util y sigan investigando saludos a todos asd*.

    PD: Tambien existen hoy en dia los denominados PAQUETES , los paquetes ingresan como datos en el server , llegan al SQL y extraer informacion por los cuales estan programados.
    Antes de enviar un paquete nuestro "hacker" se encarga de programarlo y darle una mision estos paquetes ingresan y extraen ( claves , numeros , celdas ) y regresar a su punto de origen.
    Algunos CS detectan y sale una leyenda que dice INVALID PAQUET y un IP , lo que les puedo decir es que no vallan corriendo y le bloquen el ip , ese seria un error de NOVATO es hora de aplicar nuestros conocimientos ( mejor dicho los mios :p ) que haremos una vez que tenemos el ip de nuestro enemigo , ingresamos a SQL y buscamos la tabla donde quedan registrados todos los ips de quienes entran a nuestro server, luego lo comparamos con el que tiene la cuentas y comenzamos una tarea de "DETECTIVE" buscamos su cuenta , vemos su mail , tratemos de acercarnos pero no como ADMIN sino como usuario , averiguen datos de el , pidan ayuda a gente de confianza nose inventenlo ustedes.
    Cuando tienen un usuario asi en nuestro server es muy dificil de defenderse asique traten de hacer las cosas por las buenas.

    [​IMG]

    ::..Proteccion Anti Hack II..::
    Bueno..para aquellos que sufren el hack en su server a travez de una pagina o programa (te alteran los stats o level de un pj, le ponen los items que quieren a su pj o lo convierten Muse, Blade or soul master,etc)...... hay 3 posibles soluciones(por ahora):

    (Primera) Esta es la mas RAPIDA en cuanto solucion para este hack!!!!!!. Aunque te cueste y no te salga en la primera, te recomiendo que cambies los puertos del link 1, 2, 4 y 8.
    Mini-Guia: Lo volteas al server vas a la carpeta link y vos tenes asi:

    1- D:\muserver\DataServer1\Dataserver.exe 55960
    2- D:\muserver\DataServer2\Dataserver.exe 55962
    4- D:\muserver\JoinServer\JoinServer.exe /p55970 /ca192.189.0.1 /cp55557
    8- D:\muserver\GameServer\Gameserver.exe 192.189.0.1 55970 192.189.0.1 55960 55901

    El cambio quedaria algo asi (recorda poner tus propios puertos):

    1- D:\muserver\DataServer1\Dataserver.exe 52234 -->"puerto nuevo 1"
    2- D:\muserver\DataServer2\Dataserver.exe 52236 -->"puerto nuevo 2"
    4- D:\muserver\JoinServer\JoinServer.exe /p52321 /ca 192.189.0.1/cp55557
    8- D:\muserver\GameServer\Gameserver.exe 192.189.0.1 52321 192.189.0.1 52234 55901
    P.D: El "puerto nuevo 2" tiene que tener 2 cifras mas que "puerto nuevo 1"


    [​IMG]

    ::..Proteccion Anti Hack III..::

    Ingresamos a nuestro firewall de windows

    Vamos a inicio=> Connfiguracion => Panel de Control => Centro de Seguridad

    Luego nos desplazamos hacia abajo y hacemos click en donde dice

    Firewall de Windows

    Si esta desactiva , lo activamos

    Vamos a la solapa del medio EXCEPCIONES

    y solamente dejamos tildado al GAMASERVER Y CS

    (tambien dejamos abierto el port 80 si es que tiene una web )

    Los demas programas le sacamos el tilde. [ Principalmente a los dataserver y al joinServer]

    En el caso que necesiten tener el port del SQL abierto para utilizar el editor
    en otra pc , hacemos click sobre el nombre que le pusieron a ese port y ponen modificar y luego en cambiar ambito.
    Finalmente seleccionan la opcion de lista personalizada y ponen el ip de quien ustedes consideren de confianza para que se conecte

    Con esta opcion nos aseguramos que solo puedan entrar a ese puerto aquellos ip a los que nosotros le dimos autoridad.

    Recuerden que una vez que ponen el ip deben poner tambien la mascara de subred
    por ejemplo 201.220.12.14/255.255.255.0 y si quieren agregar dos deben separarlos por una coma ","

    [​IMG]

    ::..Proteccion Anti Hack IV..::


    Lo que debemos hacer para evitar hack o que se nos editen en el server es bloquiar los dataserver de tu firewall de windows.
    Para lograr eso lo que tenemos que hace es ir a nuestro firewall de windows
    1)Vamos a panel de control=>centro de seguridad y si tenemos la vista clasica de ventanas vamos a pandel de control=>Firewall de windows. ( eso depende de como tengas comfigurado tu xp )

    [​IMG]


    2)Nuestro siguiente paso sera ingresar a la pestaña que se encuentra en el medio de la ventana llamada Excepciones

    [​IMG]


    3)Ahora simplemente lo que tenemos que haces es destildar a los dataserver de las excepciones de nuestro firewall de windows.

    [​IMG]


    Listo ya tenemos el server seguro.
    PD: Tambien destilden el JoinServer ( para evitar el hack PNKmu , es que usan para hablar como admin)

    ::::.Saludos amigos recuerden cada parte es para proteger tu servidor de las malicias.::::
     

Compartir esta página