Beyond a solid knowledge in using Java components, even for experienced Java programmers it is essential to have a deep knowledge in Web-related vulnerabilities both on server and client side, the different vulnerabilities that are relevant for Web applications written in Java, and the consequences of the various risks.

General web-based vulnerabilities are demonstrated through presenting the relevant attacks, while the recommended coding techniques and mitigation methods are explained in the context of Java with the most important aim to avoid the associated problems. In addition, a special focus is given to client-side security; tackling security issues of JavaScript, Ajax and HTML5.

The course introduces security components of Standard Java Edition, which is preceded with the foundations of cryptography, providing a common baseline for understanding the purpose and the operation of the applicable components. The use of all components is presented through practical exercises, where participants can try out the discussed APIs and tools for themselves.

Finally, the course explains the most frequent and severe programming flaws of the Java language and platform. Besides the typical bugs committed by Java programmers, the course introduces security vulnerabilities covering both language-specific issues and problems stemming from the runtime environment. All vulnerabilities and the relevant attacks are demonstrated through easy-to-understand exercises, followed by the recommended coding guidelines and the possible mitigation techniques.

Duration                     Learning Credits        

3 day-24 hours of       24 PDU’s 



Public Classroom Pricing:     

Early Bird Price: USD 595.00

Regular Price: USD 795.00

Instructor-Led Virtual Live Pricing:

Early Bird Price: USD 495.00

Regular Price: USD 695.00

Private Group/ In-House Learning:

Have a group of 5 or more people? Register

yourself with a special pricing and request

the training exclusively

Course Outline

IT security and secure coding

Nature of security

IT security related terms

Definition of risk

Different aspects of IT security

Requirements of different application areas

IT security vs. secure coding

From vulnerabilities to botnets and cybercrime

Classification of security flaws

Web application vulnerabilities

SQL Injection

Other injection flaws

Cross-Site Scripting (XSS)

Broken authentication and session management

Cross Site Request Forgery (CSRF)

Insecure direct object reference

Unvalidated file upload

Security misconfiguration

Failure to restrict URL access

Transport layer security issues

Unvalidated redirects and forwards

Client-side security

JavaScript security

Ajax security

HTML5 Security

Foundations of Java security

The Java environment

Java security

Low-level security – the Java language

High-level security – access control

Basics of cryptography


Symmetric-key cryptography

Other cryptographic algorithms

Asymmetric (public-key) cryptography

Public Key Infrastructure (PKI)

Java security services

Java security services – architecture

Authentication and authorization

Cryptographic services

Secure communication

Java specific vulnerabilities

Input validation

Improper use of security features

Improper error and exception handling

Time and state problems

Code quality problems

Mobile code

Using security testing tools

Web vulnerability scanners

SQL injection tools

Static code analysis

Knowledge sources

Secure coding sources – a starter kit

Vulnerability databases

Who can attend?

Web developers using Java

Learning Goals

Individuals certified at this level will have demonstrated:

● Understand basic concepts of security, IT security, cryptography and secure coding

● Learn Web vulnerabilities beyond OWASP Top Ten and know how to avoid them

● Learn client-side vulnerabilities and secure coding practices

● Learn to use various security features of the Java development environment

● Get information about some recent vulnerabilities in Java framework

● Learn about typical coding mistakes and how to avoid them

● Get sources and further reading on secure coding practices

Request Private Group Training