Вы находитесь на странице: 1из 9

SEGURIDAD EN LOS

FORMULARIOS

Como se debe llevar la seguridad en los formularios.

SERVICIO NACIONAL DE APRENDIZAJE (SENA)


BASES DE DATOS II
(instructora)
GUACANEME M. (aprendiz)- 955779

GENERAR
TATIANA TOVAR
DANEY VICTORIA

dvguacaneme@misena.edu.co

CONTENIDO

SEGURIDAD EN LOS FORMILARIOS ........................................................................................ 2


INYECCIN DE CDIGO SQL Y LOS ATAQUES XSS ........................................................... 2
COMO EVITAR LA INYECCIN DE CDIGO SQL Y LOS ATAQUES XSS ....................... 2

Usar captchas en los formularios para validar las peticiones de los usuarios: 2

Crear limitaciones y reglas en los formularios: ................................................................. 4


Proteger formularios de XSS: ................................................................................................. 4
Convertir caracteres especiales con htmlspecialchars: ................................................. 4
SEGURIDAD EN ACCES ............................................................................................................... 5
TIPS DE SEGURIDAD .................................................................................................................... 7
1.

POST: ..................................................................................................................................... 7

2.

TOKEN: .................................................................................................................................. 7

3.

PROTECCIN CSRF: ......................................................................................................... 7

4.

VALIDACIONES JAVASCRIPT: ....................................................................................... 7

5.

VALIDACIONES INTERNAS: ............................................................................................ 7

6.

CAPTCHA: ............................................................................................................................ 8

CIBERGRAFIA .................................................................................................................................. 8

SEGURIDAD EN LOS FORMILARIOS


En las pginas de internet son empleados los formularios en varios usos, para
autentificarse, contactar, enviar correos, agregar comentarios, hacer bsquedas,
etc. De esta forma hacen las pginas ms atractivas, tiles e interactivas, pero con
esto traen un riesgo enorme para la seguridad.

INYECCIN DE CDIGO SQL Y LOS ATAQUES XSS


Son los ataques ms peligrosos en la actualidad que atentan contra la seguridad
de un sitio web son dos: La Inyeccin de cdigo SQL y XSS, abreviaturas de
Cross-site scripting.
*Inyeccin SQL es la infiltracin de un cdigo intruso dentro del cdigo SQL de las
bases de datos generalmente usando las entradas de los formularios. Su objetivo
es alterar el funcionamiento del programa y lograr que se ejecute el cdigo
"invasor" incrustado.
XSS es la inyeccin de cdigo JavaScript en aplicaciones web. Ataca
principalmente las aplicaciones que procesan datos obtenidos de una entrada sin
ningn tipo de chequeo o validacin.

COMO EVITAR LA INYECCIN DE CDIGO SQL Y LOS ATAQUES XSS


Principalmente proteger todas las puertas que abrimos en nuestras pginas con la
mejor de las intenciones, que son las entradas en los formularios o cualquier
elemento que utilice la etiqueta <input>.
Se pueden utilizar los siguientes mtodos

Usar captchas en los formularios para validar las peticiones de los


usuarios:

Es una prueba para comprobar que quien introduce la informacin es una persona
y no una mquina. Para eso se emplean pequeas imgenes que representan
caracteres, en ocasiones distorsionados, los que el usuario tiene que introducir en
un cuadro manualmente y de coincidir, se ejecuta la funcin solicitada. Estas
imgenes se escriben mediante PHP, creando un pequeo archivo con solo unas
lneas de cdigo y vincularlo al formulario y viceversa.

Ejemplo de un captcha

El cdigo del formulario con un captcha es el siguiente:


<?php
$consulta = $_POST['consulta'] ;
echo '<form action="" method="post"><div>
Introduce tu nombre:<br>
<input class="entr" type="text" name="consulta" id="consulta" value=""><br>
Introduce los caracteres que ves en la imagen<br>
<img alt="Numeros aleatorios" src="image.php">
<input class="campos" type="text" name="num"><br>
<input class="campos" type="submit" value="GENERAR"></div>
</form><br>';
session_start();
if($_SESSION['img_number'] != $_POST['num']){
echo'<div style="color:red;">Los caracteres no se corresponden.<br>
Trate de nuevo por favor</div>';
}else{
echo '<div class="result">Tu nombre es: '.$consulta.'</div>';
}
?>

Crear limitaciones y reglas en los formularios:


En cualquier formulario es necesario usar ciertas reglas para limitar las acciones
de acuerdo a su uso.

Se debe utilizar como mtodo en los formularios POST en vez de GET.


En las entradas para introducir contraseas, en ver de <input type="text">
se debe emplear: <input type="password">
En las entradas de texto se puede limitar la cantidad de caracteres usando
el atributo "maxlength".
En los formularios usados para subir archivos como imgenes, fotos, etc.
puede limitarse el tipo de archivo a subir, basado en su extensin, as como
regular su tamao.

Proteger formularios de XSS:


La direccin URL en el atributo "action" de los formularios, cuando conduce a la
misma pgina donde se ejecuta, puede ser manipulada para inyectar cdigo
maligno usando Javascript. Es uno de los mtodos de XSS (Cross-site scripting).
Se evita usando "htmlspecialchars()" de la siguiente forma:
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>"><br>

Convertir caracteres especiales con htmlspecialchars:


Htmlspecialchars() es una funcin de PHP que convierte los caracteres
especiales en entidades HTML.
Convierte los siguientes caracteres:

& (ampersand) - &amp;


" (comillas dobles) - &quot;
' (comilla simple) - &#039;
< (menor que) - &lt;
> (mayor que) - &gt;

Se utiliza de la siguiente forma:


htmlspecialchars('texto a escapar')

SEGURIDAD EN ACCES
Primero hay que dividir la base de datos en dos: aplicacin (BE) y datos (FE).
Se divide el proyecto en un archivo para datos (que estar en el servidor) y la
aplicacin (que estar en cada equipo cliente).Hay un apartado en Herramientas
de la base de datos que realiza todo el proceso.

Con esto podramos empezar a funcionar instalando el FE en cada uno de los


equipos cliente pero nuestros datos estaran sin cifrar y sin proteger, se podra
acceder directamente al BE.
a partir de Access 2007, podemos proteger el BE con contrasea a la vez que
ciframos los datos simplemente abriendo la base de datos en modo exclusivo y
utilizando la funcionalidad Cifrar con contrasea del men archivo.

Una vez protegidos los datos con cifrado y contrasea, se observa que ahora no
se puede abrir las tablas vinculadas desde el FE. La solucin que se tiende a

utilizar es volver a vincular las tablas. Con esto, Access nos vuelve a pedir la
contrasea y la guarda en la propiedad Connect del objeto TableDef.
Hay un mtodo eficaz para conectar FE con el BE sin necesidad de almacenar la
contrasea de la base de datos. Se vinculan las tablas antes de proteger el BE
con contrasea (que en principio producira un error al intentar manejarlas) pero al
inicio de nuestra aplicacin abriremos un recordset mediante cdigo que
permanecer abierto durante la ejecucin de la aplicacin, dejando as abierta la
conexin al BE, lo que nos permitir no introducir la contrasea desde el FE.

Vincular las tablas antes de proteger el BE con contrasea.


Proteger y cifrar el BE
Crear una tabla sin datos en el BE (la llamaremos FALSA) y dejarla sin
vincular.
Abrirla por cdigo al inicio de la aplicacin cargando un formulario.
Cargar en el recordset del formulario los datos.
Ocultar el formulario e iniciar la aplicacin.

El cdigo que debe tener el formulario a cargarse es el siguiente:

Private Sub Form_Load()


Dim MiBD As DAO.Database
Dim rs_seguridad As DAO.Recordset
Set MiBD = CurrentDb
Set rs_seguridad = MiBD.OpenRecordset("SELECT * from FALSA IN '' [MS
Access;PWD=Contrasea;DATABASE=RUTA
SERVIDOR\Prueba_Seguridad_be], dbOpenDynaset)
Set Me.Recordset = rs_seguridad
End Sub

TIPS DE SEGURIDAD
1. POST:
Cualquier formulario debe siempre enviar la informacin de su contenido usando el
mtodo POST. Con POST los valores del formulario viajan ocultos hacia el script
de destino. Si un formulario utiliza el mtodo GET, toda la informacin del mismo
ser desplegada en la barra de direcciones del browser.
2. TOKEN:
Es necesario que el script que va a procesar la informacin del formulario tenga
algn modo de reconocer que efectivamente la informacin proviene de el
formulario para el cul fue diseado. Para ello, normalmente se utiliza un token o
cdigo encriptado que se enva como un campo oculto en el formulario y que el
script puede desencriptar para validar si procesa o rechaza el formulario.
3. PROTECCIN CSRF:
CSRF significa Cross Site Request Forgery o Falsificacin de Peticin en Sitios
Cruzados en espaol. Este tipo de vulnerabilidad trata de enviar datos de un
formulario a un script ubicado en un sitio web distinto. Para evitar este ataque se
debe chequear el sitio web del que proviene el formulario. Por ejemplo, en PHP se
puede usar la variable $_SERVER[HTTP_REFERER] para validar desde dnde
viene la informacin. No obstante, esta variable puede ser modificable o no
provista, por lo cual una manera ms confiable de validar que el formulario haya
sido enviado desde el dominio correspondiente es utilizando Cookies.
4. VALIDACIONES JAVASCRIPT:
Se debe verificar que los campos del formulario permitan una cantidad razonable
de caracteres y que respeten el formato pedido. Por ejemplo, usando Javascript,
se puede limitar un campo para que solamente admita nmeros.
5. VALIDACIONES INTERNAS:
Es importante validacin de los campos y de su formato desde el script final. Esto
es importante ya que los ataques maliciosos podran intentar enviar cdigo por un
formulario, que al ser ledo o desplegado podra ejecutarse y causar serios
problemas. Este tipo de ataque es conocido como XSS o Cross Site Scripting. En
PHP, por ejemplo, una simple lnea de cdigo permitira filtrar una entrada
dependiendo de si queremos recibir texto o cdigo html.

6. CAPTCHA:
Un captcha es una imagen distorsionada que contiene un cdigo que el usuario
debe leer e ingresar en un campo del formulario. La idea es que el hecho de ser
una imagen y de que est distorsionada evitar que cdigos maliciosos puedan
enviar ataques en el formulario.
Son pasos sencillos, validaciones simples que pueden llegar a ahorrarle dinero y
muchos dolores de cabeza.

CIBERGRAFIA
http://www.programadordepalo.com/medidas-basicas-de-seguridad-paraaplicaciones-access-dividir-el-proyecto/
http://www.intergraphicdesigns.com/blog/6-tips-para-mejorar-la-seguridad-de-tusformularios-web/
https://norfipc.com/inf/como-proteger-formularios-web-evitar-inyeccion-codigosql.php

Вам также может понравиться