Even experienced programmers may not fully grasp the various security services provided by their development platforms, nor are they always aware of the different vulnerabilities relevant to their projects. This course is designed for developers using both Java and PHP, equipping them with essential skills to make their applications resilient against modern internet attacks.
The levels of Java security architecture are explored through topics such as access control, authentication and authorization, secure communication, and various cryptographic functions. For PHP, the course introduces several APIs that can enhance code security, such as OpenSSL for cryptography and HTML Purifier for input validation. On the server side, best practices for hardening and configuring the operating system, web container, file system, SQL server, and PHP itself are covered, with a special emphasis on client-side security issues related to JavaScript, Ajax, and HTML5.
General web vulnerabilities are discussed using examples from the OWASP Top Ten, illustrating various injection attacks, script injections, session handling attacks, insecure direct object references, file upload issues, and more. The course also delves into Java- and PHP-specific language problems and runtime environment issues, grouped into standard vulnerability types such as missing or improper input validation, misuse of security features, incorrect error and exception handling, time- and state-related issues, code quality concerns, and mobile code vulnerabilities.
Participants can gain hands-on experience with the discussed APIs, tools, and configuration effects. Each introduction to a vulnerability is supported by practical exercises that demonstrate the consequences of successful attacks, show how to fix bugs and apply mitigation techniques, and introduce 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 prevent them
- Gain knowledge on client-side vulnerabilities and secure coding practices
- Learn to utilize various security features in the Java development environment
- Acquire a practical understanding of cryptography
- Learn to use various security features of PHP
- Understand the security concepts of web services
- Gain practical knowledge in using security testing tools
- Identify typical coding mistakes and how to avoid them
- Stay informed about recent vulnerabilities in Java and PHP frameworks and libraries
- Access sources and further readings on secure coding practices
Audience
Developers
Read more...