Secure Developer Java (Inc OWASP) Training Course
This course explores secure coding principles and concepts for Java, applying the testing methodologies of the Open Web Application Security Project (OWASP). The Open Web Application Security Project is a global community dedicated to providing freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.
This course is available as onsite live training in South Africa or online live training.Course Outline
- Understand web threats and attack vectors.
- Grasp secure design principles.
- Understand the OWASP Top 10 risks.
- Comprehend authentication and authorisation challenges.
- Learn how to prevent Cross-Site Scripting (XSS).
- Learn how to prevent Cross-Site Request Forgery (CSRF).
- Understand the secure development lifecycle.
- Know how to prevent injection attacks.
- Understand the security protections offered by JDBC and JPA.
- Understand penetration testing methodologies.
- Know how to secure Java applications.
Requirements
- Experience with Java.
- Experience in creating web applications.
Need help picking the right course?
southafrica@nobleprog.co.za or +27 (0)10 005 5793
Secure Developer Java (Inc OWASP) Training Course - Enquiry
Testimonials (3)
The topic is current and I needed to be updated
Damilano Marco - SIAP s.r.l.
Course - Secure Developer Java (Inc OWASP)
It was quite comprehensive, the information was clear and succinct.
Sebastian-Daniel - BRD
Course - Secure Developer Java (Inc OWASP)
Multiple examples for each module and great knowledge of the trainer.
Sebastian - BRD
Course - Secure Developer Java (Inc OWASP)
Upcoming Courses
Related Courses
Comprehensive C# and .NET Application Security
21 HoursToday, a variety of programming languages can be utilised to compile code for the .NET and ASP.NET frameworks. While this environment offers robust mechanisms for security development, developers must understand how to apply architecture- and coding-level programming techniques to implement desired security functions, thereby avoiding vulnerabilities or mitigating their exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions, protect resources via strong authentication and authorisation, manage remote procedure calls and sessions, and explore various functional implementations, all through numerous hands-on exercises. A dedicated section covers the configuration and hardening of the .NET and ASP.NET environments for enhanced security.
A concise introduction to cryptographic foundations establishes a practical baseline for understanding the purpose and operation of various algorithms. Building on this, the course outlines cryptographic features available in .NET before discussing recent cryptographic vulnerabilities, including those affecting specific algorithms and protocols, as well as side-channel attacks.
The course then introduces various vulnerabilities, beginning with typical programming issues inherent to .NET use, such as input validation errors, error handling flaws, and race conditions. XML security receives particular attention, while the segment on ASP.NET-specific vulnerabilities addresses distinct issues and attack vectors, such as ViewState attacks and string termination exploits.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding
- Acquire the ability to utilise various security features within the .NET development environment
- Develop a practical understanding of cryptography
- Comprehend recent attacks targeting cryptographic systems
- Gain insight into recent vulnerabilities affecting .NET and ASP.NET
- Learn to identify and avoid common coding mistakes
- Obtain hands-on experience with security testing tools
- Access sources and further readings on secure coding practices
Audience
Developers
Network Security and Secure Communication
21 HoursImplementing a secure networked application can be challenging, even for developers who have previously worked with cryptographic building blocks such as encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, the course begins by establishing a solid foundation on the core requirements of secure communication – including secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common issues that can undermine these requirements, alongside practical real-world solutions.
Given that cryptography is a critical aspect of network security, the course covers the most important algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than diving into deep mathematical theory, these concepts are presented from a developer’s perspective, featuring typical use-case examples and practical considerations such as public key infrastructures. Security protocols used across various areas of secure communication are introduced, with an in-depth focus on widely adopted protocol families like IPSEC and SSL/TLS.
The course examines typical crypto vulnerabilities related to specific cryptographic algorithms and protocols, such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and the RSA timing attack. For each issue, the practical implications and potential consequences are clearly described, avoiding complex mathematical derivations.
Finally, since XML technology is central to data exchange for networked applications, the security aspects of XML are thoroughly explored. This includes the use of XML within web services and SOAP messages, alongside protection mechanisms like XML Signature and XML Encryption. The discussion also covers weaknesses in these protection measures and XML-specific security issues, such as XML injection, XML external entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Grasp the requirements of secure communication
- Learn about network attacks and defences across different OSI layers
- Develop a practical understanding of cryptography
- Comprehend essential security protocols
- Gain insight into recent attacks targeting cryptosystems
- Learn about some recent related vulnerabilities
- Understand the security concepts underpinning web services
- Access resources and further reading materials on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursDeveloping secure C and C++ code demands rigorous defence against malicious exploitation, memory corruption, and input validation bypasses. This programme explores vulnerability patterns such as buffer overflows, use-after-free errors, integer overflows, and type confusion. Participants apply secure coding guidelines, static analysis tools, and defensive programming techniques to eliminate weaknesses, enforce input sanitization, and deliver hardened software resilient against cyberattacks.
Groovy Programming
21 HoursApache Groovy is a dynamic programming language for the Java Virtual Machine (JVM). Key features include scripting capabilities, Domain-Specific Language authoring, runtime and compile-time meta-programming, and functional programming. Groovy is frequently used as a complement to Java.
In this instructor-led live training, participants will learn how to program in Groovy by working through the creation of a sample application.
Audience
- Developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Groovy Programming for Beginners
14 HoursThis instructor-led, live training in South Africa (online or onsite) is designed for beginner-level developers who wish to grasp the fundamentals of Groovy Programming.
Upon completion of this training, participants will be able to:
- Comprehend fundamental programming concepts.
- Compose simple Groovy scripts and leverage Groovy core features.
- Understand and apply basic principles of object-oriented programming using Groovy.
- Acquire basic error-handling techniques to manage common programming errors and exceptions in Groovy.
Java Microservices
21 HoursThis instructor-led, live training in South Africa (online or onsite) is aimed at intermediate-level Java developers who wish to design, develop, deploy, and maintain microservices-based applications using Java frameworks like Spring Boot and Spring Cloud.
By the end of this training, participants will be able to:
- Grasp the principles and advantages of microservices architecture.
- Construct and deploy microservices using Java and Spring Boot.
- Implement service discovery, configuration management, and API gateways.
- Effectively secure, monitor, and scale microservices.
- Deploy microservices utilizing Docker and Kubernetes.
Building Microservices with Spring Boot, Docker, and Kubernetes
21 HoursThis instructor-led, live training in South Africa (available online or onsite) is tailored for intermediate to advanced developers seeking to master the development of microservices using Spring Boot, Docker, and Kubernetes.
By the end of this training, participants will be able to:
- Comprehend microservices architecture principles.
- Build production-ready microservices using Spring Boot.
- Understand the critical role of Docker in containerizing microservices.
- Configure Kubernetes clusters to deploy and orchestrate microservices.
Quarkus for Developers
14 HoursThis instructor-led live training in South Africa (online or onsite) is aimed at developers who wish to use Quarkus to build, test, and deploy applications, fully-powered with Java, but with less resource utilization.
By the end of this training, participants will be able to:
- Set up the necessary development environment to start developing applications with Quarkus.
- Build, compile, and run applications in native mode using GraalVM.
- Utilize Quarkus tooling and extensions for building native applications using Maven.
- Containerize, execute, and deploy applications with Docker.
Quarkus for Java Native and Microservice Development
40 HoursThis instructor-led, live training in South Africa (online or onsite) is aimed at intermediate-level to advanced-level developers and architects who wish to develop Java native applications and microservices using Quarkus with optimized memory usage and startup time.
By the end of this training, participants will be able to:
- Develop high-performance, lightweight Java native applications using Quarkus.
- Build and deploy RESTful services and microservices architectures.
- Use GraalVM for native compilation and optimize startup and memory efficiency.
- Package and containerize applications for Kubernetes and OpenShift environments.
RabbitMQ with Java and Spring
14 HoursThis instructor-led live training in South Africa (online or onsite) is aimed at software architects and web developers who wish to use RabbitMQ as messaging middleware and program in Java using Spring to build applications.
By the end of this training, participants will be able to:
- Use Java and Spring with RabbitMQ to build applications.
- Design asynchronous message driven systems using RabbitMQ.
- Create and apply queues, topics, exchanges, and bindings in RabbitMQ
Spring Boot, React, and Redux
14 HoursThis instructor-led, live training in South Africa (online or onsite) is tailored for web developers who wish to build functional front-end and back-end web applications with Spring Boot, React, and Redux.
By the end of this training, participants will be able to:
- Build a front-end application with React and Redux.
- Create RESTful APIs with Spring Boot.
- Secure web services with Spring Security and JWT web tokens.
Spring 5
21 HoursThis instructor-led, live training in South Africa (available online or on-site) is designed for Java developers who wish to employ the Spring 5 framework to develop and deploy enterprise web applications.
By the end of this training, participants will be able to:
- Install and configure Spring 5.
- Understand and implement Spring 5's latest features.
- Access databases with Spring Application.
- Use the new reactive web framework, WebFlow, to make an application reactive.
- Integrate a Spring application with legacy Java EE applications.
- Test and deploy an enterprise-grade Spring application.
Spring Basics with Spring Boot 3.5.5 and Java 21
14 HoursSpring is a robust Java framework that streamlines enterprise application development by offering powerful dependency injection, a modular architecture, and simplified configuration options.
This instructor-led live training (available online or onsite) is designed for beginner-level Java developers aiming to construct modern, production-ready web applications using the most recent versions of the Spring Framework and Spring Boot 3.5.5 alongside Java 21.
Upon completing this training, participants will be capable of:
- Grasping Spring's core principles, including Inversion of Control (IoC), Dependency Injection (DI), and Aspect-Oriented Programming (AOP).
- Configuring Spring applications using XML, annotations, and JavaConfig.
- Developing RESTful services utilizing Spring Boot and JPA.
- Implementing CRUD operations, managing transactions, and handling data persistence.
- Utilising advanced Spring features such as profiles, exception handling, and data serialization.
Course Format
- A concise theoretical overview followed by comprehensive practical exercises.
- Practical implementation using real-world examples.
- Interactive discussions and guided troubleshooting.
Course Customization Options
- To request a tailored training session for this course, please contact us to arrange.
Spring WebFlux: Reactive Programming for Scalable Web Applications
35 HoursSpring WebFlux is a reactive programming module within the Spring Framework designed for building non-blocking, event-driven web applications.
This instructor-led, live training (online or onsite) is aimed at beginner-level to intermediate-level Java developers who wish to build scalable and responsive applications using Spring WebFlux.
By the end of this training, participants will be able to:
- Grasp the fundamentals of reactive programming with Project Reactor.
- Construct and test non-blocking RESTful APIs using Spring WebFlux.
- Integrate WebFlux with databases and external services.
- Apply reactive patterns to real-world application scenarios.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Spring Webflux
14 HoursThis instructor-led, live training in South Africa (online or onsite) targets developers who wish to use WebFlux to develop and deploy reactive applications.
By the end of this training, participants will be able to:
- Install and configure Spring 5 and the WebFlux framework.
- Develop reactive applications and services.