DWS banco de preguntas
![]() |
![]() |
![]() |
Título del Test:![]() DWS banco de preguntas Descripción: Tests Ordinaria y Extraordinaria |




Comentarios |
---|
NO HAY REGISTROS |
¿Cuál de las siguientes afirmaciones NO es un mecanismo de prevención válido para una vulnerabilidad del tipo Broken Access Control?. Los tokens sin estado (stateless) deben tener un tiempo de vida largo o, si ha de ser corto por necesidades de la aplicación, deben seguir los estándares de OAuth para revocar los accesos. Los Identificadores de sesión stateful (con estado) se deben Invalidar en el servidor después de hacer logout. Los tokes sin estado como JWT deben tener un tiempo de vida corto, de forma que la ventana de oportunidad de un atacante se minimice. Si tienen un tiempo de vida largo por necesidades de la aplicación, hay que seguir los estándares OAuth para revocar accesos. Limitar el número de peticiones que se permiten a la API y el acceso a los controladores para minimizar el uso de herramientas automatizadas. Indica cuál de las siguientes formas es más apropiada para almacenar las contraseñas de los usuarios en la base de datos. SHA1 o MD5. En texto plano, porque si no luego no podemos verificar si la contraseña es correcta. No es necesario almacenar la contraseña del usuario para autenticarle posteriormente. BCrypt. ¿Cómo se implementa la Inyección de dependencias en Spring?. Cuando un componente necesita usar otro componente se puede anotar un atributo suyo con @Autowired. Los componentes se pueden definir con anotaciones en una clase o en la clase de configuración de la app con métodos anotados con @Bean. No se puede usar un constructor para inyectar las dependencias. Spring no permite usar este patrón de diseño. En la clase principal de la aplicación se crean los componentes con new y se asignan a los atributos de los otros componentes. Es decir, como objetos Java normales. Por defecto, si creamos y ejecutamos un contenedor Docker con un usuario con bajos privilegios, ¿qué usuario ejecuta los procesos dentro del contenedor?. Un usuario temporal creado por Docker, con los mismos privilegios que nuestro usuario actual. Nuestro usuario, con los mismos privilegios. root. Un usuario temporal creado por Docker, con los mínimos privilegios necesarios para ejecutar los procesos del contenedor. Atendiendo a la terminología que utiliza OWASP en su TOPIO, ¿qué vulnerabilidad potencial contiene esta URL? www.site-example.com/userzone?user=richicavolichi. Security Misconfiguration. Server-Side Request Forgery. Broken Access Control. Selecciona en cuál de los siguientes casos es más probable que aparezca un error en el navegador al conectarnos a una página HTTPS, en función del tipo de certificado utilizado. Cuando pagamos por el certificado a una CA. Cuando el servidor usa la librería Spring Security. Cuando utilizamos Lets Encrypt. Cuando usamos directamente un certificado generado por keytool. La [...] sirve para verificar que una entidad es quien dice ser, mientras que la [...] sirve para discernir si una entidad tiene acceso a un recurso. Autenticación / Autorización. Integridad / Confidencialidad. Confidencialidad / Integridad. Autorización / Autenticación. En un ataque de XSRF, el uso del token CSRF... Las peticiones pueden validarse en el cliente porque el token CSRF se transmite como un campo hidden de un formulario. Es obligatorio en todas las peticiones. Es obligatorio en todas las peticiones que cambian el estado de la aplicación. ¿Cómo se puede guardar un objeto de tipo imagen en la base de datos en una aplicación Java con Spring?. Guardando la imagen como un objeto serializado en una columna de tipo Serializable. Utilizando un tipo de dato String para almacenar la ruta de la imagen y cargándola desde el sistema de archivos. Almacenando solo el nombre de la imagen y el tipo de archivo, mientras que la imagen se guarda en un servidor externo. Almacenando la imagen como un blob (Binary Large Object) en un campo de tipo BLOB en la base de datos. La seguridad de aplicaciones web en Spring Boot se basa en... Un conjunto de filtros que protegen las solicitudes HTTP y gestionan autenticación y autorización. La autenticación solo a través de usuarios en memoria. La protección automática de todas las rutas sin necesidad de configuración adicional. La encriptación automática de todo el tráfico sin necesidad de configuración. EI uso de los parámetros filename y mimetype en un controlador, al recibir un fichero subido por un usuario, ¿tiene implicaciones de seguridad?. Podemos usar el mimetype para verificar el tipo de fichero de forma segura y rechazar los ficheros que sean de un tipo diferente al que esperamos. No, son valores generados o sanitizados por Spring, que podríamos usar directamente, por ejemplo, para guardar el fichero en disco. EI parámetro filename está controlado por el usuario pero el mimetype define el tipo de fichero y es seguro de utilizar. Son dos parámetros controlados por el usuario, y por lo tanto, no deben usarse sin sanitizar o verificar. Una API REST de nivel 2 según el nivel de madurez de Fowler... Usa todos los recursos disponibles en el protocolo http. Identifica los recursos en la URL, usa los métodos http para las operaciones GET, PUT, POST... usa el código de estado http para indicar el estado de la petición, etc... Es el nivel más alto de la escala y asume que los recursos contienen controles hipermedia y sistemas de autodescubrimiento. Puede usar cualquier tipo de transporte porque las operaciones se codifican en mensajes JSON. Es la que usa HTTP para la comunicación y codifica las operaciones en la propia URL. Por ejemplo, para crear un elemento se usa una URL de la forma http://server/user/create. Para protegernos contra ataques de tipo CSRF, indica cuál de las siguientes opciones NO sería efectiva: Confirmar todas las operaciones de forma interactiva con el usuario, por ejemplo pidiéndole un código TOTP. Utilizar un token CSRF en todos los formularlos de nuestra página web. Utilizar un token de autenticación a través de cabeceras personalizadas o la cabecera Authorization, en vez de autenticación basada en Cookies. Utilizar el método POST en vez de GET en todos los formularios de nuestra página web. Una aplicación es vulnerable a un ataque de Inyección cuando: Se aprovechan vulnerabilidades de los ORM para conseguir inyecciones. Las queries dinámicas o las llamadas no parametrizadas se interpretan o ejecutan directamente. No se validan, filtran o sanitizan los datos proporcionados por el usuario. Todas son correctas. Si Bob y Alice usan la misma clave para cifrar y descifrar mensajes en su canal de comunicaciones, estamos ante un cifrado de tipo: Cifrado de sustitución. Cifrado asimétrico de sustitución. Cifrado asimétrico. Cifrado simétrico. ¿Es posible crear múltiples filtros de seguridad (SecurityFilterChain) en la misma aplicación utilizando Spring Security?. No, no se puede. Solo se puede declarar un SecurityFllterChaln por aplicación. Se puede, pero no tiene sentido. Lo más lógico es poner toda la configuración en el mismo SecurityFilterChain. Se puede, pero solo si tenemos una API de tipo REST. Se puede, por ejemplo declarando un orden y un patrón en la URL para dividir de qué URLs sería responsable cada filtro. En un XSS Persistente, cualquier usuario que acceda al recurso que contiene almacenado el código malicioso lo ejecutará en su navegador. Verdadero. Falso. Cuando accedemos a recursos almacenados en disco, hay que hacerlo con la ruta completa y nunca con el nombre del recurso. Verdadero. Falso. Para resolver los problemas de XSS basta con utilizar una de las técnicas que propone OWASP. Verdadero. Falso. Una vulnerabilidad SSRF se da cuando la aplicación obtiene un recurso remoto sin validar la URL proporcionada por el usuario. Verdadero. Falso. Explica una de las ventajas de utilizar DTOs en una aplicación Spring. ¿Cómo funciona la arquitectura MVC en Spring cuando se utilizan plantillas con Mustache?. El controlador recibe la petición, la procesa modificando el modelo, y genera una página web que guarda en disco, devolviendo el nombre del fichero para que el servidor web lo pueda servir al cliente. El servidor recibe la petición, carga el modelo con los datos de la base de datos y le pide al controlador la página web donde debe cargar los datos del modelo, añade a la página los datos del modelo y la devuelve. El controlador recibe la petición, la procesa y devuelve el nombre de un documento HTML que spring devuelve al cliente que realizó la petición sin realizar ningún procesamiento adicional. El controlador recibe la petición, modifica el modelo, y devuelve el nombre de una plantilla que es renderizada por Mustache usando los datos del modelo para generar un HTML de forma dinamica. ¿Para qué sirve la anotación @PostMapping en Spring?. Para ejecutar una consulta SQL de tipo INSERT en la base de datos manualmente. Para indicar que un método del controlador debe ejecutarse al recibir una petición HTTP de cualquier tipo (GET, POST, PUT, etc.). Para definir un método que maneje peticiones HTTP de tipo GET. Para definir la URL a la que debe hacerse una petición que permita enviar datos al servidor para su procesamiento. Si se tiene un formulario en HTML, ¿cómo se reciben los datos del formulario en el controlador?. Se reciben como parte del objeto Model recibido como parámetro por el método del controlador que procesa la petición. Se reciben como atributos de la clase controlador que procesa la petición. Se reciben como parámetros del método del controlador que procesa la petición, anotados con @RequestParam. Se reciben como variables locales que deben ser declaradas anotadas con @RequestParam. ¿Cómo se define una consulta personalizada en un repositorio de Spring Data JPA?. Usando @Query con JPQL o SQL nativo. Creando una clase de servicio con métodos que ejecutan JDBC. No se pueden hacer consultas personalizadas en Spring Data JPA. Implementando la interfaz Repository manualmente, sin hacer nada más. Utilizando Spring Security, ¿es posible autenticar a los usuarios utilizando una tabla en nuestra base de datos?. No, Spring Security solo permite autenticar contra una lista de usuarios que se encuentren en memoria, dada una lista generada por nosotros (InMemoryUserDetailsManager). Sí, Spring Security detecta automáticamente nuestro repositorio de usuarios y lanza las queries necesarias para extraer los datos y proceder a la autenticación. Sí, a Spring Security le da igual dónde se almacenen los usuarios, mientras implementemos alguna forma de darle los datos que necesita (por ejemplo, a través del UserDetailsService). No, Spring Security solo permite implementar mecanismos de autenticación contra un directorio de usuarios, como por ejemplo OpenLDAP. En un XSS Reflejado, cualquier usuario que acceda al recurso que contiene almacenado el código malicioso lo ejecutará en su navegador. Verdadero. Falso. |