Combined C/C++, JAVA and Web Application Security Training Course
This program delivers comprehensive cross-platform secure coding skills by merging C/C++, Java, and web application security into a unified training experience. Participants will gain insight into contemporary vulnerabilities, attack vectors, and secure development methodologies across diverse environments.
Designed as an instructor-led, live training session (available online or in-person), this course targets intermediate to advanced developers looking to enhance their secure coding practices for both enterprise and web-based applications.
Upon completing this training, participants will be equipped to:
- Implement secure coding standards within C/C++ and Java environments.
- Detect and neutralize prevalent vulnerabilities, including buffer overflows, SQL injection, and XSS.
- Effectively configure and utilize Java security services and APIs.
- Gain a deep understanding of the OWASP Top Ten and additional client-side security threats.
- Apply cryptography securely to protect data and secure communications.
- Evaluate code for architectural flaws and apply defensive coding techniques.
- Keep abreast of recent vulnerabilities affecting platforms, frameworks, and libraries.
Course Structure
- Interactive lectures and group discussions.
- Practical secure coding laboratories and exploit demonstrations.
- Real-world case studies and vulnerability analyses.
Customization Options
- For tailored training on this topic, please reach out to us to make arrangements.
Course Outline
Foundations of IT Security and Secure Coding
- Core security principles and defense-in-depth strategies
- Emerging trends in vulnerabilities and exploits
- Integration of the Secure Software Development Lifecycle (SSDLC)
Web Application Security
- OWASP Top Ten (2021) and related topics
- Injection attacks, broken authentication, and 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
Fundamentals of Java Security
- Java security architecture and sandboxing mechanisms
- Secure usage of Java APIs and libraries
- Mitigating deserialization vulnerabilities
Practical Cryptography
- Hashing, encryption, and digital signatures
- Utilizing the Java Cryptography Architecture (JCA)
- Key management and secure communication via TLS
Java Security Services
- Authentication and authorization using JAAS
- Overview of Spring Security
- Building 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, and stack canaries
Common Coding Errors and Vulnerabilities
- Injection flaws in C/C++ and Java
- Improper error handling and logging practices
- Insecure file and resource management
Knowledge Resources and Best Practices
- Staying informed about CVEs, advisories, and frameworks
- Static and dynamic analysis tools for secure coding
- Further readings and resources for continuous learning
Summary and Next Steps
Requirements
- Working knowledge of C/C++, Java, and web application development
- Fundamental understanding of networking concepts and HTTP
- Experience using an IDE or code editor
Target 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 platform for mobile devices, including smartphones and tablets. While it offers a wide array of security features to simplify the development of secure software, it lacks certain security aspects found in other mobile platforms. This course provides a thorough overview of these features, highlighting the most critical gaps associated with the underlying Linux system, file system, and general environment, as well as issues related to permissions and other Android development components.
We describe common security pitfalls and vulnerabilities in both native code and Java applications, offering recommendations and best practices to prevent and mitigate them. Many of the discussed issues are supported by real-life examples and case studies. Finally, we provide a brief overview of how to utilize security testing tools to uncover security-related programming defects.
Participants attending this course will
- Understand the fundamental concepts of security, IT security, and secure coding
- Learn about Android security solutions
- Learn to use various security features of the Android platform
- Gain information about recent Java vulnerabilities on Android
- Learn about typical coding mistakes and how to avoid them
- Gain an understanding of native code vulnerabilities on Android
- Realize the serious consequences of insecure buffer handling in native code
- Understand architectural protection techniques and their weaknesses
- Access resources and further reading on secure coding practices
Audience
Professionals
Network Security and Secure Communication
21 HoursBuilding a secure networked application presents challenges even for developers experienced with cryptographic primitives like encryption and digital signatures. To help participants grasp the role and application of these tools, the course establishes a solid foundation on the core requirements of secure communication: secure acknowledgment, integrity, confidentiality, remote identification, and anonymity. It also highlights common threats to these requirements and presents real-world solutions.
Since cryptography is fundamental to network security, the course examines key algorithms in symmetric cryptography, hashing, asymmetric cryptography, and key agreement. Rather than focusing on deep mathematical theory, the content takes a developer-centric approach, illustrating typical use cases and practical considerations such as public key infrastructures (PKI). The course introduces security protocols across various domains, with a detailed exploration of widely used families like IPSEC and SSL/TLS.
Common cryptographic vulnerabilities are analyzed in relation to specific algorithms and protocols. This includes well-known issues such as BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE, and RSA timing attacks. For each, the course outlines practical implications and potential consequences without diving into complex mathematical details.
Given that XML technology is central to data exchange for networked applications, the course also covers XML security. This includes the use of XML in web services and SOAP messages, along with protective measures like XML Signature and XML Encryption. Additionally, it addresses weaknesses in these measures and XML-specific threats 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
- Understand recent attacks targeting cryptosystems
- Receive information on recent related vulnerabilities
- Understand the security concepts underlying web services
- Access resources and further reading on secure coding practices
Audience
Developers, Professionals
C/C++ Secure Coding
21 HoursOver the course of three days, this program introduces the fundamental principles of protecting C and C++ code from malicious exploitation. Participants will learn how to mitigate vulnerabilities arising from memory management and input handling, thereby mastering the core practices necessary for writing secure software.
Advanced Java Security
21 HoursEven seasoned Java developers do not automatically master all the security services provided by Java, nor are they fully aware of the various vulnerabilities that impact Java-based web applications.
This course introduces the security components of Java Standard Edition (Java SE) and addresses security challenges within Java Enterprise Edition (Java EE) and web services. Before exploring specific services, the course covers the fundamentals of cryptography and secure communication. Through practical exercises, participants learn about declarative and programmatic security techniques in Java EE, as well as transport-layer and end-to-end security for web services. All concepts are reinforced through hands-on exercises where participants can experiment with the discussed APIs and tools.
The course also examines and explains the most common and severe programming flaws in the Java language and platform, along with web-related vulnerabilities. Beyond typical errors made by Java developers, the discussed security vulnerabilities encompass both language-specific issues and problems arising from the runtime environment. Each vulnerability and corresponding attack is demonstrated through easy-to-follow exercises, followed by recommended coding guidelines and mitigation strategies.
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 know how to prevent them
- Comprehend the security concepts underlying web services
- Gain proficiency in using various security features of the Java development environment
- Develop a practical understanding of cryptography
- Understand the security solutions available in Java EE
- Identify typical coding mistakes and learn how to avoid them
- Receive information on recent vulnerabilities affecting the Java framework
- Acquire practical knowledge of security testing tools
- Access resources and further readings on secure coding practices
Audience
Developers
Standard Java Security: Secure Coding & Development Practices
14 HoursDescription
While the Java language and its Runtime Environment (JRE) were designed to minimize the most common and severe security vulnerabilities found in languages like C/C++, developers and architects must look beyond simple usage. It is crucial to master the positive security features of the Java environment while remaining vigilant against the numerous vulnerabilities that still affect Java development (negative security).
The course begins by establishing a solid foundation in cryptography, providing participants with the necessary context to understand the purpose and operation of applicable security components. This theoretical knowledge is reinforced through practical exercises, allowing participants to gain hands-on experience with the discussed APIs.
Furthermore, the curriculum explores frequent and severe programming flaws specific to the Java language and platform. By demonstrating vulnerabilities and associated attacks through accessible exercises, followed by recommended coding guidelines and mitigation techniques, the course equips developers with the knowledge to identify and neutralize typical bugs and environment-specific issues.
Participants attending this course will
- Grasp fundamental concepts of security, IT security, and secure coding principles.
- Identify web vulnerabilities beyond the OWASP Top Ten and learn strategies to prevent them.
- Master the use of various security features available within the Java development environment.
- Develop a practical understanding of cryptographic principles and applications.
- Recognize typical coding mistakes and learn how to avoid them.
- Gain insights into recent vulnerabilities affecting the Java framework.
- Access curated sources and further reading materials on secure coding practices.
Audience
Developers
.NET, C# and ASP.NET Security Development
14 HoursToday, numerous programming languages allow code compilation for the .NET and ASP.NET frameworks. While this environment offers robust tools for security development, developers must understand how to apply architectural and coding-level techniques to implement desired security features, avoid vulnerabilities, and limit their exploitation.
This course aims to teach developers, through extensive hands-on exercises, how 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 strategies for different functionalities.
The course introduces various vulnerabilities by first presenting common programming pitfalls in .NET. The discussion on ASP.NET vulnerabilities covers the impact of different environment settings. Furthermore, the section on ASP.NET-specific vulnerabilities addresses both general web application security challenges and specialized issues such as ViewState attacks and string termination attacks.
Participants attending this course will
- Comprehend fundamental concepts of security, IT security, and secure coding
- Understand web vulnerabilities beyond the OWASP Top Ten and learn how to mitigate them
- Utilize various security features available in the .NET development environment
- Gain practical experience with security testing tools
- Recognize common coding errors and learn how to avoid them
- Stay informed about recent vulnerabilities affecting .NET and ASP.NET
- Access resources and further reading materials on secure coding practices
Audience
Developers
The Secure Coding Landscape
14 HoursThis course provides an introduction to fundamental security principles, offering a comprehensive overview of vulnerability types that transcend specific programming languages and platforms. It explains how to manage software security risks across all phases of the software development lifecycle. While avoiding overly technical deep dives, the course highlights some of the most critical and prevalent vulnerabilities across various development technologies. It also addresses the challenges associated with security testing, presenting practical techniques and tools to help identify and resolve existing issues in your code.
Participants attending this course will
- Grasp the core concepts of security, IT security, and secure coding practices
- Comprehend web vulnerabilities on both server-side and client-side environments
- Recognize the severe consequences of insecure buffer handling
- Stay informed about recent vulnerabilities affecting development environments and frameworks
- Learn about common coding mistakes and strategies 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. The curriculum explores web vulnerabilities through PHP-centric examples, extending beyond the OWASP Top Ten to cover a wide range of injection attacks, script injections, session handling weaknesses, insecure direct object references, file upload issues, and more. These PHP-specific vulnerabilities are categorized into standard vulnerability types, such as missing or flawed input validation, incorrect error and exception handling, misuse of security features, and time- and state-related issues. For the latter category, the course examines attacks like open_basedir circumvention, denial-of-service via magic float, and hash table collision attacks. In each scenario, participants learn the critical techniques and functions required to mitigate these risks.
A significant emphasis is placed on client-side security, addressing issues related to JavaScript, Ajax, and HTML5. The course introduces several PHP extensions, including hash, mcrypt, and OpenSSL for cryptographic purposes, as well as Ctype, ext/filter, and HTML Purifier for robust input validation. Best practices for hardening are provided in the context of PHP configuration (php.ini), Apache settings, and general server security. Additionally, the course offers a comprehensive overview of security testing tools and techniques available to developers and testers, such as security scanners, penetration testing methodologies, exploit packs, packet sniffers, proxy servers, fuzzing tools, and static source code analyzers.
The introduction of vulnerabilities and configuration practices is reinforced by numerous hands-on exercises. These exercises demonstrate the impact of successful attacks, illustrate how to implement mitigation strategies, and guide participants in utilizing various extensions and tools effectively.
By the end of this course, participants will
- Grasp the fundamental concepts of security, IT security, and secure coding
- Identify web vulnerabilities beyond the OWASP Top Ten and understand how to prevent them
- Comprehend client-side vulnerabilities and secure coding methodologies
- Develop a practical understanding of cryptography
- Master the use of various PHP security features
- Recognize common coding errors and learn how to avoid them
- Stay informed about recent vulnerabilities within the PHP framework
- Gain practical experience with security testing tools
- Access resources and further reading materials on secure coding practices
Audience
Developers
Microsoft SDL Core
14 HoursThis consolidated SDL core training provides a comprehensive look at secure software design, development, and testing through the lens of Microsoft's Secure Development Lifecycle (SDL). It offers a level 100 overview of the fundamental building blocks of SDL, followed by design techniques to help identify and resolve flaws in the early stages of the development process.
Focusing on the development phase, the course outlines common security-related programming bugs found in both managed and native code. The curriculum presents attack vectors for discussed vulnerabilities alongside their mitigation techniques, all illustrated through hands-on exercises that offer participants practical, live hacking experiences. The introduction to various security testing methods is followed by demonstrations of the effectiveness of different testing tools. Participants can grasp the operation of these tools through practical exercises, applying them to previously discussed vulnerable code.
Participants attending this course will
Understand the basic concepts of security, IT security, and secure coding
Become familiar with the essential steps of the Microsoft Secure Development Lifecycle
Learn secure design and development practices
Gain knowledge of secure implementation principles
Understand security testing methodology
- Obtain sources and further reading materials on secure coding practices
Audience
Developers, Managers
Security Testing
14 HoursHaving familiarized themselves with vulnerabilities and attack vectors, participants gain insight into the general approach, methodology, and techniques used in security testing to uncover specific weaknesses. Effective security testing begins with information gathering about the system under evaluation (ToC), followed by comprehensive threat modeling to identify and rate all potential threats, ultimately leading to a risk-analysis-driven test plan.
Security assessments can occur at various stages of the SDLC; therefore, the course covers design reviews, code reviews, system reconnaissance, implementation testing, and environment hardening for secure deployment. Detailed exploration of techniques such as taint analysis, heuristic-based code review, static code analysis, dynamic web vulnerability testing, and fuzzing is provided. A variety of tools for automating the security evaluation of software products are introduced, supported by hands-on exercises where these tools are applied to previously discussed vulnerable code. Real-life case studies further enhance the understanding of diverse vulnerabilities.
This course equips testers and QA personnel with the skills to effectively plan and execute security tests, select and utilize appropriate tools and techniques to detect even concealed security flaws, and acquire essential practical abilities ready for immediate application in daily work.
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 discover how to prevent them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Understand security testing approaches and methodologies
- Acquire practical experience using security testing techniques and tools
- Access resources and further reading materials on secure coding practices
Audience
Developers, Testers
Secure Web Application Development and Testing
21 HoursProtecting web-accessible applications demands skilled security professionals who are constantly updated on the latest attack vectors and trends. While a wide array of technologies and environments facilitate the comfortable development of web applications, developers must be aware not only of platform-specific security issues but also of general vulnerabilities that exist independently of the chosen development tools.
This course provides an overview of applicable security solutions for web applications, with a special emphasis on understanding essential cryptographic mechanisms. We present various web application vulnerabilities on both the server side (following the OWASP Top Ten) and the client side, demonstrating relevant attacks along with recommended coding techniques and mitigation strategies to prevent associated problems. The topic of secure coding concludes with a discussion of typical security-related programming errors, including input validation issues, misuse of security features, and code quality concerns.
Testing plays a crucial role in ensuring the security and robustness of web applications. Various approaches—from high-level auditing and penetration testing to ethical hacking—can be employed to identify different types of vulnerabilities. However, moving beyond easily discovered 'low-hanging fruits' requires security testing to be carefully planned and executed. Remember: while security testers should ideally find all bugs to protect a system, an adversary needs to find only one exploitable vulnerability to breach it.
Practical exercises will help you understand web application vulnerabilities, programming mistakes, and most importantly, mitigation techniques. Through hands-on trials with various testing tools—including security scanners, sniffers, proxy servers, 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 fundamental concepts of security, IT security, and secure coding
- Learn about web vulnerabilities beyond the OWASP Top Ten and how to avoid them
- Gain knowledge of client-side vulnerabilities and secure coding practices
- Develop 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
- Receive resources and further reading materials on secure coding practices
Audience
Developers, Testers
DevOps Security: Creating a DevOps Security Strategy
7 HoursIn this instructor-led, live course in Czech Republic, participants will learn how to develop an effective security strategy to address DevOps security challenges.
EC-Council Certified DevSecOps Engineer (ECDE)
28 HoursThe EC-Council Certified DevSecOps Engineer (ECDE) course is a practical program designed to empower professionals with the expertise needed to integrate security throughout the DevOps lifecycle, ensuring secure software development from initial planning through to deployment.
This instructor-led training, available online or on-site, targets intermediate-level software developers and DevOps practitioners looking to embed security practices into their CI/CD pipelines, thereby guaranteeing the delivery of secure and compliant code.
Upon completion of this training, participants will be able to:
- Comprehend the core principles and practices of DevSecOps.
- Secure all stages of the CI/CD pipeline using automated tools.
- Apply secure coding standards and execute vulnerability scanning.
- Prepare for the ECDE certification through practical labs and comprehensive reviews.
Course Format
- Interactive lectures and discussions.
- Hands-on experience with DevSecOps tools within simulated pipelines.
- Guided exercises centered on secure development and deployment processes.
Customization Options
- For teams seeking customized training tailored to their specific workflows or toolchains, please contact us to arrange.
How to Write Secure Code
35 HoursThis course aims to achieve the following:
- Enable developers to master secure coding techniques.
- Assist software testers in verifying application security before it is deployed to the production environment.
- Help software architects understand the risks associated with their applications.
- Guide team leaders in establishing security baselines for their development teams.
- Support webmasters in configuring servers to avoid misconfigurations.
Secure Developer Java (Inc OWASP)
21 HoursThis course explores secure coding principles and practices for Java, utilizing 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.