Even seasoned programmers often do not fully master the various security services offered by their development platforms, nor are they always aware of the diverse vulnerabilities relevant to their projects. This course targets developers using both Java and PHP, equipping them with essential skills to make their applications resilient against contemporary Internet-based attacks.
The course walks through the layers of Java's security architecture by addressing access control, authentication, authorization, secure communication, and various cryptographic functions. It also introduces specific APIs for securing PHP code, such as OpenSSL for cryptography and HTML Purifier for input validation. On the server side, best practices are provided for hardening and configuring the operating system, web container, file system, SQL server, and PHP itself, while placing special emphasis on client-side security regarding JavaScript, Ajax, and HTML5 vulnerabilities.
General web vulnerabilities are discussed through examples aligned with the OWASP Top Ten, illustrating various injection attacks, script injections, session handling attacks, insecure direct object references, file upload issues, and more. The course introduces Java- and PHP-specific language problems and issues stemming from the runtime environment, grouped into standard vulnerability types such as missing or improper input validation, improper use of security features, incorrect error and exception handling, time- and state-related problems, code quality issues, and mobile code-related vulnerabilities.
Participants can experiment with the discussed APIs, tools, and configuration effects themselves. Each introduction to vulnerabilities is supported by hands-on exercises demonstrating the consequences of successful attacks, showing how to correct bugs and apply mitigation techniques, while introducing the use of various extensions and tools.
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
- Learn to use various security features of the Java development environment
- Gain a practical understanding of cryptography
- Learn to use various security features of PHP
- Understand the security concepts of web services
- Acquire practical knowledge in using security testing tools
- Learn about 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...