elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad (Moderador: r32)
| | |-+  ¿Protegerme ante posibles ataques de SQLi?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Protegerme ante posibles ataques de SQLi?  (Leído 1,747 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.584


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
¿Protegerme ante posibles ataques de SQLi?
« en: 9 Septiembre 2014, 14:38 pm »

Hola buenas, pues he decido hacer una API para un servicio un tanto especial, tan especial que no me deja manejar ni MySQL ni PHP, por tanto tengo que mandar todas las peticiones a mi página usando JS...

Entonces, ahora mismo lo hago de la siguiente manera:

File.js
====

Código
  1. var key = "md5 string";
  2.  
  3. function sendToDB(data) {
  4. accedo al php con un post => sendpost("file.php?key=key&domain="+location.hostname+"&data=data");
  5. }

File.php
=====

Código
  1. $domain = @$_GET['domain'];
  2. $credentials = mysqli_fetch_array(mysqli_query("SELECT * FROM clientes WHERE domain = $domain", $conn));
  3.  
  4. if($key == $credentials['key']) {
  5. //Allow access and send data...
  6. $data = @$_GET['data'];
  7. mysqli_query("ENVIAR INFO A LA DB");
  8. }

Entonces eso va genial para las injections ya que si paso la "data" tal como viene, pues apaga y vámonos...

Y como no lo puedo hacer de otra manera, lo único que se me ha ocurrido es enviar la información ("data") de forma cifrada o bien en Base64 o serializando...

No se os ocurre nada más seguro que eso? Quizás por la parte de PHP me puedo proteger más y a parte de usar un mysqli_real_escape_string no se me ocurre nada más... Qué me recomendáis?

Un saludo.


En línea


Interesados hablad por Discord.
#!drvy


Desconectado Desconectado

Mensajes: 5.780



Ver Perfil WWW
Re: ¿Protegerme ante posibles ataques de SQLi?
« Respuesta #1 en: 9 Septiembre 2014, 16:18 pm »

Usas mysqli_ como si fuese mysql_.  Tienes sentencias preparadas..

http://php.net/manual/es/mysqli.quickstart.prepared-statements.php

Cifrar no te va a servir de nada, tienes que proteger el receptor (file.php) no el emisor(file.js).

Saludos


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Protegerme ante posibles ataques de SQLi?
« Respuesta #2 en: 10 Septiembre 2014, 00:42 am »

si es algo que requiere seguridad puedes hacer lo siguiente por seguridad a costo de memoria y tiempo de procesamiento (si no tienes 100 peticiones simultaneas no hay problema por lo menos a mi en una tabla con 720 valores me tarda "0.0020 segundos" la búsqueda)

Código
  1. $domain = @$_GET['domain'];
  2. $md5_domain = md5($domain);
  3. $credentials = mysqli_fetch_array(mysqli_query("SELECT * FROM clientes WHERE MD5(domain) = $md5_domain", $conn));

y si quieres agilizar el proceso solo guardas la tabla con los valores listos en MD5 y le quitas al mysql el peso de convertirlos...

el asúnto es que allí ya no hay ataque que pase ya que cualquier cosa rara fue destruida y reducida a un md5...

por cierto, cuidado con ese fetch_array directo sin comprobar si hubo resultado o no, porque va a tirar un error...
« Última modificación: 10 Septiembre 2014, 00:46 am por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Graphixx


Desconectado Desconectado

Mensajes: 1.336


Full Stack Developer


Ver Perfil WWW
Re: ¿Protegerme ante posibles ataques de SQLi?
« Respuesta #3 en: 10 Septiembre 2014, 02:05 am »

A mi se me ocurre que en el php puedes saber cuando es data oficial, filtrando la peticion por HTTP_REFERER.
Código
  1. <?php
  2. $url=$_SERVER['HTTP_REFERER'];
  3. echo '<strong>'."viene de(ruta completa): ".'</strong>'.$_SERVER['HTTP_REFERER'].'<br />';
  4.  
  5. preg_match( '@^(?:http://)?([^/]+)@i', $_SERVER['HTTP_REFERER'], $matches );
  6. $host = $matches[1];
  7.  
  8. echo '<strong>'."viene de(dominio): ".'</strong>'.$host;
  9. ?>
  10.  
Es solo una idea, no se que tan falsificable sea el HTTP_REFERER.
En línea

Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx
Mi blog
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Protegerme ante posibles ataques de SQLi?
« Respuesta #4 en: 10 Septiembre 2014, 02:10 am »

A mi se me ocurre que en el php puedes saber cuando es data oficial, filtrando la peticion por HTTP_REFERER.

Es solo una idea, no se que tan falsificable sea el HTTP_REFERER.
falsificable? XD si! lo es y mucho... pero el asunto aquí no es el enlazamiento externo... es que sea victima de un ataque de inyección
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ataques posibles con la pass del vecino
Hacking Wireless
GADUARD2 2 1,991 Último mensaje 25 Diciembre 2011, 15:28 pm
por Uxio
Rusia se blinda ante posibles ciber-ataques
Noticias
The_Mushrr00m 0 1,216 Último mensaje 22 Enero 2013, 07:13 am
por The_Mushrr00m
Twitter lanzará un botón de 'reportar abuso' ante posibles amenazas
Noticias
Mister12 0 902 Último mensaje 30 Julio 2013, 03:21 am
por Mister12
Identificar posibles fallos en una web (SQLi o Exploit)
Bugs y Exploits
alkage 4 3,986 Último mensaje 3 Agosto 2014, 21:03 pm
por alkage
Como protegerme ante ataques por programas
Wireless en Windows
yuiasascura 2 3,443 Último mensaje 30 Julio 2017, 07:55 am
por yuiasascura
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines