O analista de sistemas Henrique desenvolveu a aplicação...
O analista de sistemas Henrique desenvolveu a aplicação WebServiceTJDFT – um webservice REST – utilizando Java com Spring Boot e JPA (Java Persistence API).
Considere o recorte do código-fonte do WebServiceTJDFT descrito a seguir e que todas as declarações obrigatórias e não exibidas estão presentes e corretas.
interface DocumentoUsuarioRepository extends JpaRepository<DocumentoUsuario, int>{}
@RestController class MicroServiçoB extends MicroServiçoA {
@Autowired DocumentoUsuarioRepository docUserRepo;
@PutMapping("/
public ResponseEntity<?> associaDocumento(@PathVariable int idUsuario, @RequestParam int idDoc) {
docUserRepo.save(new DocumentoUsuario(idDoc, idUsuario));
return null;
}
@PostConstruct public void run() { System.err.println("microserviço B instanciado!"); }
}
@Service class MicroServiçoA implements Runnable {
String idDocumento; private int numPagina;
public void run() { System.err.println("microserviço A instanciado!"); }
}
@Component class WebServiceRunner implements CommandLineRunner {
@Autowired MicroServiçoA microServiçoA;
@Autowired MicroServiçoB microServiçoB;
MicroServiçoA microServiçoA_2 = new MicroServiçoB();
@Override public void run(String... args) throws Exception {
((Runnable) microServiçoA).run();
microServiçoB.run();
}
}
@SpringBootApplication public class WebServiceTJDFT{
public static void main(String args[]) {
SpringApplication.run(WebServiceTJDFT.class, args);
}
}
Em relação ao recorte do código-fonte do WebServiceTJDFT acima:
a) Cite 4 classes concretas definidas ou referenciadas diretamente.
b) Cite 2 polimorfismos ocorridos.
O analista de sistemas Henrique se esqueceu de aplicar os mecanismos de controle de acesso – já implementados em outras partes do WebServiceTJDFT – no recorte do código-fonte acima, possibilitando que um usuário associe documentos a si mesmo e a outros usuários sem a devida permissão. O OWASP (Open Web Application Security Project) Top Ten 2021 relaciona, em 10 categorias distintas, os mais sérios riscos de segurança para aplicações web e elenca recomendações para mitigar esses riscos. O risco nº 1 do OWASP Top Ten é a Quebra de Controle de Acesso. Com base no OWASP Top Ten:
c) Cite, de forma específica, o trecho do código-fonte acima que permite a Quebra de Controle de Acesso na associação do usuário a um documento.
d) Cite 2 recomendações elencadas na categoria Quebra de Controle de Acesso que podem mitigar de forma direta a falha citada no item C).
Esta é uma questão discursiva. Assine um de nossos planos para desbloqueá-la.
As questões discursivas ajudam você a treinar a construção da resposta, organizar ideias e desenvolver uma argumentação mais próxima do que a banca espera.
-
Entenda como a banca formula o problema e o que espera como resposta
-
Aprenda a estruturar seu texto com introdução, desenvolvimento e conclusão
-
Prepare-se para uma das etapas mais decisivas da prova.