Foros del Web » Programando para Internet » PHP »

Códigos maliciosos en url, miedo, ayuda!

Estas en el tema de Códigos maliciosos en url, miedo, ayuda! en el foro de PHP en Foros del Web. Hola foreros! Saben, hace unos días una persona a ingresado código extraño a la url de mi sitio web, el cual esta hecho en php ...
  #1 (permalink)  
Antiguo 22/06/2009, 13:02
 
Fecha de Ingreso: junio-2008
Ubicación: Porto Alegre
Mensajes: 67
Antigüedad: 15 años, 9 meses
Puntos: 0
Códigos maliciosos en url, miedo, ayuda!

Hola foreros!

Saben, hace unos días una persona a ingresado código extraño a la url de mi sitio web, el cual esta hecho en php + Mysql para una sección de noticias, el código que coloca entre otros similares a este:

noticias.php?id=-1+union+select+0,group_concat(column_name),2,3,4,5 +from+Information_Schema.columns+where(table_name= 0x7573756172696f73)-

Esto es conocido como inyección sql verdad?
Que busca esta persona colocando este código en mis url?
Tengo alguna manera de saber quien coloca esto códigos o evitar que lo haga o las dos cosas?

Gracias por el tiempo!

Abrazos!
  #2 (permalink)  
Antiguo 22/06/2009, 13:29
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 2 meses
Puntos: 46
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Sí, es una inyección SQL, su intención es extraer datos de tu base de datos o si tiene permisos modificar alguna noticia con una consulta por ejemplo.

Para saber quien ha colocado eso puedes revisar los logs del servidor que suele traer la URL abierta y la IP.

Y para evitarlo pues filtra la variable ID, pasale alguna función antisql.

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #3 (permalink)  
Antiguo 22/06/2009, 13:36
 
Fecha de Ingreso: abril-2003
Mensajes: 1.129
Antigüedad: 21 años
Puntos: 34
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Cita:
Iniciado por newboy_master Ver Mensaje
Sí, es una inyección SQL, su intención es extraer datos de tu base de datos o si tiene permisos modificar alguna noticia con una consulta por ejemplo.

Para saber quien ha colocado eso puedes revisar los logs del servidor que suele traer la URL abierta y la IP.

Y para evitarlo pues filtra la variable ID, pasale alguna función antisql.

Salu2.
Me interesa esto, tenés alguna guía de como se debe hacer ese tipo de protección que decis...

Gracias...
__________________
elGastronomo
  #4 (permalink)  
Antiguo 22/06/2009, 13:43
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Cita:
Iniciado por American2010 Ver Mensaje
Me interesa esto, tenés alguna guía de como se debe hacer ese tipo de protección que decis...

Gracias...
Si usas MySQL, esta la funcion mysql_real_escape_string()

También revisar que el id sea un numero, y en todo caso, castearlo a tipo entero.

casting = (int) $variable
  #5 (permalink)  
Antiguo 22/06/2009, 13:57
Avatar de newboy_master  
Fecha de Ingreso: enero-2008
Ubicación: Granada
Mensajes: 882
Antigüedad: 16 años, 2 meses
Puntos: 46
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Yo por ejemplo al validar una variable que solo contiene caracteres alfanuméricos utilizo la función ctype_alnum(), verifico que los valores recibidos son así, en caso contrario mando un mensaje de error.

Salu2.
__________________
@jslirola - Programador Web Freelance.
  #6 (permalink)  
Antiguo 22/06/2009, 14:31
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Segun en un foro
puedes verificar si tu servidor podria sufrir de este tipo de problema con este codigo.
Código PHP:

if(!isset( $_GET "inyeccion" ])){ 
header "location: ?inyeccion='" ); 
} else { 
    echo 
'Tu servidor ' 
    if( 
$_GET "inyeccion" ] != "'" )echo 'no ' 
    echo 
'tiene problemas de inyección' 

y en caso de que tengas el problema

inyeccion.php

Código PHP:
<? 
// Evitamos la inyeccion SQL 

// Modificamos las variables pasadas por URL 
foreach( $_GET as $variable => $valor ){ 
$_GET $variable ] = str_replace "'" "'" $_GET $variable ]); 

// Modificamos las variables de formularios 
foreach( $_POST as $variable => $valor ){ 
$_POST $variable ] = str_replace "'" "'" $_POST $variable ]); 

?>
Y incluiremos este script en todas las páginas en las que realizemos consultas a la base de datos:

Código PHP:
<? 
// Evitamos la inyeccion SQL 
include 'inyeccion.php' 
// 
// Contenido de la página PHP 
// 
?>
  #7 (permalink)  
Antiguo 06/09/2009, 14:40
 
Fecha de Ingreso: junio-2008
Ubicación: Porto Alegre
Mensajes: 67
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Códigos maliciosos en url, miedo, ayuda!

Gracias a todos por las ayudas!....

Fue de mucha utilidad!!...

Abrazos!
  #8 (permalink)  
Antiguo 06/09/2009, 16:42
Avatar de zerpico_01  
Fecha de Ingreso: enero-2008
Ubicación: Wilde - Avellaneda -
Mensajes: 421
Antigüedad: 16 años, 3 meses
Puntos: 13
Respuesta: Códigos maliciosos en url, miedo, ayuda!

evitar ataques DoS, inyecciones de SQL, XSS, Robots malignos, evitar que se listen los directorios de la web:

editamos el archivo .htaccess

Código PHP:
## Seguridad extra para PHP
php_flag safe_mode on
php_flag expose_php off
php_flag display_errors off

## tomamamos pagina errores , redirigimos a una pagina especial desarrollada por nosotros.
ErrorDocument 401 /error401.html
ErrorDocument 403 
/error403.html
ErrorDocument 404 
/error404.html
 
 
RewriteEngine On
 
Options 
+FollowSymLinks
# Evitar escaneos y cualquier intento de manipulación malintencionada
# de la URL. Con esta regla es imposible lanzar ataques de inyección (SQL, XSS, etc)
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^(-|.|') [OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(<|>|%3C|%3E)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(java|curl|wget)(.*) [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)(libwww-perl|libwwwperl|snoopy|curl|wget|winhttp|python|nikto|scan|clshttp|archiver|loader|email|harvest|fetch|extract|grab|miner|suck|reaper|leach)(.*) [NC,OR]
 
RewriteCond %{REQUEST_URI} ^(/,|/;|/<|/>|/'
|/`|/%2C|/%3C|/%3E|/%27|/////) [NC,OR]
RewriteCond %{HTTP_REFERER} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|<|>|'|%3C|%3E|%26%23|%27|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)(%00|%08|%09|%0A|%0B|%0C|%0D|%0E|%0F|%2C|%3C|%3E|%27|%26%23|%60)(.*) [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)('|-|<|>|,|/|\\|\.a|\.c|\.t|\.d|\.p|\.i|\.e|\.j)(.*) [NC,OR]
RewriteCond %{HTTP_COOKIE} ^(.*)(<|>|'|%3C|%3E|%27)(.*) [NC]
 
RewriteRule ^(.*)$ error.php [NC]
## No permitir acceso al .htaccess
order allow,deny
deny from all
 
## Evitar que se liste el contenido de los directorios
Options All -Indexes
 
## Lo mismo que lo anterior
IndexIgnore *
 
## Denegar el acceso a robots dañinos, browsers offline, etc
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^Anarchie [OR]
RewriteCond %{HTTP_USER_AGENT} ^ASPSeek [OR]
RewriteCond %{HTTP_USER_AGENT} ^attach [OR]
RewriteCond %{HTTP_USER_AGENT} ^autoemailspider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xenu [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus.*Webster [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
##redireccionar a los robots a otra web
RewriteRule ^.*$ http://www.otraweb.com [R,L]
 
# Protegerse contra los ataques DOS limitando el tamaño de subida de archivos
LimitRequestBody 10240000 
saludos!!
  #9 (permalink)  
Antiguo 06/09/2009, 21:43
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: Códigos maliciosos en url, miedo, ayuda!

buenas!!

muy interesante el codigo, casualmente buscaba algo asi

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:25.