¿Cómo podemos bloquear ataques web común y proteger nuestro sitio web?
-> Tipos
Formulario de acceso Anulación
de inyección SQL UNION
B: Cross Site Scripting
-> Cross Site Request Falsificación
C: File Inclusion
Tipos-> Inclusión de archivos remotos y ejecución remota de código
En este post les digo unos cinco tipos de ataques web comunes, que se utilizan en la mayoría de tipos de desfiguraciones o vertederos de bases de datos.
Los cinco vulnerabilidades mencionadas anteriormente son la inyección de SQL, XSS, RCE, RFI y LFI. La mayoría de las veces, nos perdimos algunas etiquetas de código de página web ..
coz de este obtenemos ataques de sitios web y permite al hacker para el ataque en el sitio web vulnerables.
R: Inyección SQL
-> INICIO DE FORMA ANULACIÓN
Este es un ejemplo del código vulnerable que podemos pasar por alto fácilmente:
archivo index.html:
<form action = método de”login.php” =”POST” />
<p> Contraseña: <input type = nombre de “pase””texto” = /> <br />
<input type =”submit ”value =” Autenticar”/> </ p>
</ form>
login.php archivo:
<? php
// EJEMPLO DE CÓDIGO
$ ejecutar = “SELECT * desde la base de datos donde password = '{$ _POST [' pass'])”;
$ resultado = mysql_query ($ ejecutar);
?>
Simplemente podemos evitar esto mediante el uso 'o '1 = 1', que ejecutará ‘password =’ o' 1 = 1” ;”.
Alternativamente, el usuario también puede eliminar la base de datos ejecutando “' gota base de datos de la tabla; - “.
PREVENCIÓN:
Utilizar mysql_real_escape_string en el código php.
Ejemplo:
<? php
$ badword = “ 'OR 1'”;
$ badword = mysql_real_escape_string ($ badword);
$ mensaje = “SELECT * desde la base de datos donde password =‘ '$ badword'’;
echo “bloqueados”. $ mensaje. “;
?>
-> UNION SQL Injection
inyección SQL UNION es cuando el usuario utiliza el comando UNION. Los controles de usuario para la vulnerabilidad mediante la adición de una garrapata al final de un “= .php? Id” archivo. Si se vuelve con un error de MySQL, el sitio más probable es vulnerable a la inyección SQL UNION. Se procede a utilizar ORDER BY para encontrar las columnas, y al final, utilizan la UNION ALL comando SELECT. Un ejemplo se muestra a continuación.
http://www.site.com/website.php?id=1 '
Usted tiene un error en su sintaxis SQL cerca”en la línea 1 SELECT SUM (cantidad)
como el tipo de las órdenes de donde (estado = 'completado' O estado = 'confirmados' O estado = 'pendiente') Y user_id = 1 '
Sin error-> http://www.site.com/website.php?id=1 ORDER BY 1-
Dos columnas, y se vuelve con un error! Esto significa que hay una columna.
http://www.site.com/website.php?id=1 ORDER BY 2-
Selecciona las todas las columnas y ejecuta el comando version () en la única columna.
http://www.site.com/website.php?id=-1 versión UNION SELECT ALL () -
SOLUCIÓN:
Añadir algo parecido a continuación para evitar la inyección SQL UNION.
$ = malo “(eliminar) | (actualización) | (unión) | (inserto) | (gota) | (http) | (-) | (/ *) | (seleccionar)”;
$ parche = eregi_replace ($ mal “”, $ parche);
B: Cross Site Scripting
Cross site scripting es un tipo de vulnerabilidad utilizada por los hackers para inyectar código en páginas web vulnerables.
Si un sitio es vulnerable a este tipo de ataque, más probables los usuarios tratan de inyectar el sitio con javascript malicioso o tratan de usuarios de estafa mediante la creación de un formulario donde los usuarios tienen que escribir su información en.
Dos tipos de XSS (cross site scripting) son XSS persistente y no persistente XSS.
Ejemplo:
http://www.site.com/search.php?q=”>
SOLUCIÓN
(JavaScript) (Gracias, Microsoft!):
function RemoveBad(strTemp) {
strTemp = strTemp.replace(/\<|\>|\”|\’|\%|\;|\(|\)|\&|\+|\-/g,””);
return strTemp;
}
C: File Inclusion
Tipos: de inclusión remota de archivos / Inclusión de archivos locales, y la ejecución remota de código
La inclusión de archivos remoto permite a un hacker para incluir un archivo remoto a través de un script (por lo general de PHP). Este código está parcheado sobre todo en los sitios web, pero algunos sitios web siguen siendo vulnerables a la vulnerabilidad. RFI generalmente conduce a la ejecución remota de código Javascript o ejecución.
Ejemplo del código vulnerable:
<? php
include ($ _ [ 'page'] GET);
?>
Explotando sería algo como esto:
http://www.site.com/page.php?page=../../../../../etc/passwd o
http://www.site .com / page.php page = http: //www.site.com/xyz.txt?
SOLUCIÓN:
Validar la entrada.
$ page = $ _GET [ 'página'];
$ permitido = array ( 'index.php', 'games.php' 'ip.php');
$ iplogger = ( 'ip.php');
si (in_array página $, $ páginas)) {
incluir la página $ {
demás
{
incluir $ iplogger
die ( “IP registrada.”);
}
Para la ejecución remota de código, el sitio tendría que tener un php ejecutar comandos. Se podría arreglar esto de hacer la misma cosa.
0 comentarios:
Publicar un comentario