Combined C/C++, JAVA and Web Application Security Training Course
This course delivers cross-platform secure coding expertise by merging C/C++, Java, and web application security into a unified training program. Participants will gain insights into modern vulnerabilities, attack vectors, and secure development practices across diverse environments.
This instructor-led, live training (available online or onsite) is designed for intermediate to advanced developers looking to enhance their secure coding practices for enterprise and web applications.
Upon completion of this training, participants will be able to:
- Apply secure coding principles within C/C++ and Java development environments.
- Identify and mitigate common vulnerabilities, including buffer overflows, SQL injection, and XSS.
- Effectively implement and configure Java security services and APIs.
- Understand the OWASP Top Ten and additional client-side security risks.
- Utilize cryptography securely for data protection and communication.
- Analyze code for architectural weaknesses and implement defensive coding strategies.
- Stay informed about recent vulnerabilities in platforms, frameworks, and libraries.
Format of the Course
- Interactive lectures and discussions.
- Hands-on secure coding labs and exploit demonstrations.
- Case studies and real-world vulnerability analysis.
Course Customization Options
- For customized training requests, please contact us to arrange.
Course Outline
IT Security and Secure Coding Foundations
- Core principles of security and defense in depth
- Recent trends in vulnerabilities and exploits
- Secure software development lifecycle (SSDLC) integration
Web Application Security
- OWASP Top Ten (2021) and beyond
- Injection, broken authentication, insecure deserialization
- Secure session and token management
Client-Side Security
- Cross-Site Scripting (XSS) and DOM-based attacks
- Cross-Site Request Forgery (CSRF)
- Modern client-side frameworks and supply chain risks
Foundations of Java Security
- Java security architecture and sandboxing
- Secure use of Java APIs and libraries
- Mitigating deserialization vulnerabilities
Practical Cryptography
- Hashing, encryption, and digital signatures
- Using Java Cryptography Architecture (JCA)
- Key management and secure communication with TLS
Java Security Services
- Authentication and authorization with JAAS
- Spring Security overview
- Secure web services and APIs with Java
C/C++ Security and Memory Safety
- Memory layout and stack operations
- Buffer overflows, format string attacks, and dangling pointers
- Mitigation techniques: ASLR, DEP, stack canaries
Common Coding Errors and Vulnerabilities
- Injection flaws in C/C++ and Java
- Improper error handling and logging
- Insecure file and resource management
Knowledge Sources and Best Practices
- Staying updated on CVEs, advisories, and frameworks
- Static and dynamic analysis tools for secure coding
- Further readings and resources for continuous learning
Summary and Next Steps
Requirements
- Familiarity with C/C++, Java, and web application development
- Basic understanding of networking and HTTP
- Experience using an IDE or code editor
Audience
- Developers
- Software engineers
- Technical leads
Open Training Courses require 5+ participants.
Combined C/C++, JAVA and Web Application Security Training Course - Booking
Combined C/C++, JAVA and Web Application Security Training Course - Enquiry
Combined C/C++, JAVA and Web Application Security - Consultancy Enquiry
Testimonials (3)
Experience sharing, it's teacher's know-how and valuable.
Carey Fan - Logitech
Course - C/C++ Secure Coding
the knowledge of the trainer was very high - he knew what he was talking about, and knew the answers to our questions
Adam - Fireup.PRO
Course - Advanced Java Security
The topic is current and I needed to be updated
Damilano Marco - SIAP s.r.l.
Course - Secure Developer Java (Inc OWASP)
Upcoming Courses
Related Courses
Android Security
14 HoursAndroid serves as an open-source platform for mobile devices, including smartphones and tablets. It offers a broad array of security features designed to simplify the development of secure software; however, it also lacks certain security aspects found in other handheld platforms. This course provides a comprehensive overview of these features and highlights critical shortcomings to be aware of, particularly those related to the underlying Linux system, the file system, and the general environment, as well as issues concerning the use of permissions and other Android software development components.
Typical security pitfalls and vulnerabilities are described for both native code and Java applications, along with recommendations and best practices to avoid and mitigate them. Many of the discussed issues are supported with real-life examples and case studies. Finally, we provide a brief overview of how to use security testing tools to uncover any security-related programming bugs.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Learn about the security solutions available on Android
- Learn to utilize various security features of the Android platform
- Gain information about recent vulnerabilities in Java on Android
- Learn about common coding mistakes and how to avoid them
- Gain an understanding of native code vulnerabilities on Android
- Recognize the severe consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Access sources and further readings on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursDeveloping a secure networked application presents significant challenges, even for experienced developers who have previously utilized various cryptographic building blocks like encryption and digital signatures. To help participants grasp the role and application of these cryptographic primitives, this course first establishes a solid foundation on the core requirements of secure communication—namely secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also addresses common threats that can compromise these requirements, alongside practical, real-world solutions.
Given that cryptography is a critical component of network security, the course explores essential algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on complex mathematical theories, these topics are examined from a developer's perspective, featuring typical use-case examples and practical considerations such as the implementation of public key infrastructures. The course also introduces security protocols across various domains of secure communication, with a detailed examination of widely adopted protocol families including IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are analyzed, covering issues related to specific algorithms and protocols such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and similar threats, as well as RSA timing attacks. For each vulnerability, the practical implications and potential consequences are clearly described, maintaining a focus on applicability without delving into deep mathematical intricacies.
Finally, recognizing that XML technology is central to data exchange for networked applications, the course covers the security aspects of XML. This includes the use of XML in web services and SOAP messages, alongside protective measures like XML Signature and XML Encryption. The discussion also highlights weaknesses in these protection mechanisms and XML-specific security issues, such as XML injection, XML External Entity (XXE) attacks, XML bombs, and XPath injection.
Participants attending this course will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Understand the requirements for secure communication
- Learn about network attacks and defenses across different OSI layers
- Gain a practical understanding of cryptography
- Comprehend essential security protocols
- Awareness of recent attacks against cryptosystems
- Receive information on recent related vulnerabilities
- Understand security concepts within Web services
- Access resources and further readings on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursOver the course of three days, this training provides a comprehensive overview of how to safeguard C/C++ code against malicious actors who may exploit vulnerabilities related to memory management and input handling. The course focuses on the fundamental principles of writing secure code.
Advanced Java Security
21 HoursEven seasoned Java developers do not always master every security service provided by Java, nor are they fully aware of the various vulnerabilities relevant to web applications developed in Java.
Aside from introducing the security components of Standard Java Edition, this course addresses security concerns in Java Enterprise Edition (JEE) and web services. The discussion of specific services begins with the foundations of cryptography and secure communication. Several exercises focus on declarative and programmatic security techniques in JEE, while the course covers both transport-layer and end-to-end security for web services. Practical exercises illustrate the use of these components, allowing participants to experiment with the discussed APIs and tools firsthand.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, as well as web-related vulnerabilities. Beyond typical errors made by Java programmers, the security vulnerabilities addressed cover both language-specific issues and problems arising from the runtime environment. Each vulnerability and its associated attacks are demonstrated through easy-to-understand exercises, followed by recommended coding guidelines and mitigation techniques.
Participants attending this course will
- Understand the core concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Gain an understanding of web service security concepts
- Learn to utilize various security features within the Java development environment
- Develop a practical understanding of cryptography
- Understand the security solutions available in Java EE
- Learn about typical coding mistakes and how to prevent them
- Receive information on recent vulnerabilities within the Java framework
- Acquire practical knowledge in using security testing tools
- Obtain resources and further reading on secure coding practices
Audience
Developers
Standard Java Security
14 HoursDescription
The Java language and its Runtime Environment (JRE) were engineered to eliminate the most prevalent security vulnerabilities found in other languages, such as C/C++. Nevertheless, software developers and architects must not only master the positive security features of the Java environment but also remain vigilant regarding the numerous vulnerabilities that still impact Java development (negative security).
Before introducing security services, the course provides a brief overview of cryptographic foundations, establishing a common baseline for understanding the purpose and operation of the relevant components. Through several practical exercises, participants will have the opportunity to experiment with the discussed APIs firsthand.
The course also examines and explains the most frequent and severe programming flaws in the Java language and platform, addressing both typical mistakes made by Java programmers and issues specific to the language and environment. All vulnerabilities and associated attacks are demonstrated through accessible exercises, followed by recommended coding guidelines and possible mitigation techniques.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and discover how to prevent them
- Gain proficiency in using various security features within the Java development environment
- Develop a practical understanding of cryptography
- Learn about common coding mistakes and how to avoid them
- Gain insight into recent vulnerabilities within the Java framework
- Receive resources and further readings on secure coding practices
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages enable code compilation for the .NET and ASP.NET frameworks. This ecosystem offers robust security development capabilities; however, developers must master architecture-level and coding-level techniques to implement desired security functions, prevent vulnerabilities, and limit potential exploitation.
This course aims to equip developers with the skills to prevent untrusted code from executing privileged actions, secure resources via strong authentication and authorization, manage remote procedure calls and sessions, and explore various implementation options through extensive hands-on exercises.
The curriculum introduces vulnerabilities by highlighting common programming pitfalls in .NET, while the ASP.NET section examines how different environment configurations impact security. The discussion on ASP.NET-specific vulnerabilities covers general web application security challenges as well as specialized threats, such as attacks targeting the ViewState or exploiting string termination issues.
Participants attending this course will
- Gain a solid understanding of security fundamentals, IT security principles, and secure coding practices
- Master web vulnerabilities beyond the OWASP Top Ten and learn how to mitigate them
- Effectively utilize various security features within the .NET development environment
- Acquire practical experience with security testing tools
- Identify typical coding mistakes and understand how to avoid them
- Stay informed about recent vulnerabilities in .NET and ASP.NET
- Access valuable resources and further readings on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course introduces key security concepts, providing an overview of vulnerabilities independent of the programming languages or platforms used. It explains how to manage software security risks throughout various phases of the software development lifecycle. Without delving deeply into technical details, it highlights some of the most critical and prevalent vulnerabilities across different development technologies and presents the challenges of security testing, along with techniques and tools to help identify existing issues in your code.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Gain insight into web vulnerabilities on both the server and client sides
- Recognize the severe consequences of insecure buffer handling
- Learn about recent vulnerabilities in development environments and frameworks
- Identify typical coding mistakes and discover how to avoid them
- Understand various security testing approaches and methodologies
Audience
Managers
Secure coding in PHP
21 HoursThis course equips PHP developers with the essential skills needed to build applications that are resilient against modern internet-based threats. Web vulnerabilities are explored through PHP-specific examples that extend beyond the OWASP Top Ten, addressing various injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. PHP-related vulnerabilities are categorized into standard vulnerability types, including missing or improper input validation, incorrect error and exception handling, misuse of security features, and time- and state-related problems. The latter includes attacks such as open_basedir circumvention, denial-of-service via magic floats, and hash table collision attacks. In all scenarios, participants will learn the key techniques and functions required to mitigate these risks.
Special attention is given to client-side security, addressing issues related to JavaScript, Ajax, and HTML5. The course introduces several security-related PHP extensions, such as hash, mcrypt, and OpenSSL for cryptography, as well as Ctype, ext/filter, and HTML Purifier for input validation. Best practices for hardening are provided in the context of PHP configuration (php.ini), Apache, and server administration generally. Finally, an overview of various security testing tools and techniques is offered for developers and testers, including security scanners, penetration testing, exploit packs, sniffers, proxy servers, fuzzing tools, and static source code analyzers.
The introduction of vulnerabilities and configuration practices is reinforced by hands-on exercises. These demonstrate the consequences of successful attacks, show how to apply mitigation techniques, and introduce the use of various extensions and tools.
Participants attending this course will
- Understand fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Understand client-side vulnerabilities and secure coding practices
- Gain a practical understanding of cryptography
- Learn to utilize various security features in PHP
- Identify common coding mistakes and learn how to avoid them
- Stay informed about recent vulnerabilities in the PHP framework
- Acquire practical knowledge of using security testing tools
- Receive resources and further readings on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis comprehensive core training module offers a deep dive into secure software design, development, and testing via the Microsoft Secure Development Lifecycle (SDL). It delivers a foundational overview of SDL’s essential components, followed by design strategies aimed at identifying and resolving vulnerabilities early in the development lifecycle.
Focusing on the development phase, the course examines common security-related programming errors in both managed and native code. It covers attack vectors associated with these vulnerabilities alongside mitigation techniques, all illustrated through hands-on exercises that offer participants practical hacking experience. The curriculum then introduces various security testing methodologies, demonstrating the effectiveness of different testing tools. Participants gain insight into how these tools operate by applying them to previously discussed vulnerable code during practical exercises.
Learning Outcomes
Participants will acquire a solid understanding of core security, IT security, and secure coding principles.
They will become familiar with the essential stages of the Microsoft Secure Development Lifecycle.
They will learn secure design and development best practices.
They will grasp the principles of secure implementation.
They will understand the methodology behind security testing.
- They will receive resources and further reading materials on secure coding practices.
Target Audience
Software Developers and Technical Managers.
Security Testing
14 HoursOnce participants have become acquainted with various vulnerabilities and attack vectors, they will explore the overarching approach and methodology for security testing, along with the specific techniques used to uncover distinct weaknesses. The process begins with comprehensive information gathering regarding the system under evaluation (ToC). This is followed by thorough threat modeling to identify and prioritize all potential threats, ultimately leading to a risk analysis-driven test plan that is optimally suited.
Security assessments can be integrated at different stages of the Software Development Life Cycle (SDLC). Consequently, the curriculum covers design reviews, code inspections, reconnaissance, and system information gathering, as well as testing implementation and hardening the environment for secure deployment. Detailed attention is given to numerous security testing techniques, including taint analysis, heuristics-based code reviews, static code analysis, dynamic web vulnerability testing, and fuzzing. A variety of tools designed to automate the security evaluation of software products are introduced. These concepts are reinforced through practical exercises where participants execute these tools to analyze previously discussed vulnerable code. Additionally, real-world case studies are utilized to enhance the understanding of diverse vulnerability types.
This course equips testers and QA professionals with the ability to effectively plan and precisely execute security tests. Participants will learn to select and utilize the most suitable tools and techniques to detect even concealed security flaws, gaining essential practical skills that can be immediately applied in their daily work.
Participants attending this course will
- Gain a solid understanding of fundamental concepts in security, IT security, and secure coding.
- Explore web vulnerabilities beyond the OWASP Top Ten and learn strategies to avoid them.
- Acquire knowledge of client-side vulnerabilities and secure coding best practices.
- Comprehend various security testing approaches and methodologies.
- Develop practical expertise in applying security testing techniques and tools.
- Access valuable sources and further reading materials on secure coding practices.
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications requires security professionals who are thoroughly prepared and constantly aware of current attack methods and trends. While a plethora of technologies and environments exist to facilitate comfortable web application development, professionals must not only recognize platform-specific security issues but also understand general vulnerabilities that apply regardless of the development tools used.
This course provides an overview of applicable security solutions for web applications, with a special focus on understanding the most critical cryptographic techniques. Various web application vulnerabilities are presented for both server-side (aligned with the OWASP Top Ten) and client-side contexts, demonstrated through relevant attacks. These are followed by recommended coding techniques and mitigation methods to prevent associated problems. The topic of secure coding concludes with a discussion of typical security-relevant programming mistakes, including input validation errors, improper use of security features, and code quality issues.
Testing plays a vital role in ensuring the security and robustness of web applications. Various approaches—ranging from high-level auditing and penetration testing to ethical hacking—can be employed to identify different types of vulnerabilities. However, to go beyond easily discoverable low-hanging fruits, security testing must be well-planned and properly executed. It is important to remember that while security testers should ideally find all bugs to protect a system, adversaries only need to find one exploitable vulnerability to penetrate it.
Practical exercises will help participants understand web application vulnerabilities, programming mistakes, and, most importantly, mitigation techniques. Through hands-on trials with various testing tools—ranging from security scanners, sniffers, and proxy servers to fuzzing tools and static source code analyzers—this course delivers essential practical skills that can be applied immediately in the workplace.
Participants attending this course will
- Understand basic concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and know how to avoid them
- Learn about client-side vulnerabilities and secure coding practices
- Gain a practical understanding of cryptography
- Understand security testing approaches and methodologies
- Acquire practical knowledge in using security testing techniques and tools
- Stay informed about recent vulnerabilities in various platforms, frameworks, and libraries
- Access sources and further readings on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led live course in Sweden, participants will learn how to formulate an effective security strategy to address the challenges of DevOps security.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) is a practical course designed to empower professionals with the skills needed to embed security throughout the DevOps lifecycle, ensuring secure software development from the planning phase through to deployment.
This instructor-led live training (available online or onsite) targets intermediate-level software and DevOps professionals who aim to integrate security practices into CI/CD pipelines, thereby ensuring the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Grasp the core principles and practices of DevSecOps.
- Secure every stage of the CI/CD pipeline using automated tools.
- Implement secure coding practices and vulnerability scanning.
- Prepare for the ECDE certification through practical labs and review sessions.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with DevSecOps tools in simulated pipelines.
- Guided exercises focused on secure development and deployment.
Course Customization Options
- To request customized training for this course tailored to your team’s workflows or toolchain, please contact us to arrange.
How to Write Secure Code
35 HoursThis course aims to assist with the following goals:
- Enable developers to master the techniques of writing secure code.
- Assist software testers in evaluating application security prior to production deployment.
- Help software architects comprehend the risks associated with their applications.
- Support team leaders in establishing security baselines for developers.
- Aid webmasters in configuring servers to prevent misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding principles and practices for Java, guided by the testing methodologies of the Open Web Application Security Project (OWASP). The Open Web Application Security Project is a global community dedicated to producing freely accessible articles, methodologies, documentation, tools, and technologies focused on web application security.