Defensive Programming in Java: Data Handling, Injection Attacks, and Concurrency

Java developers seeking an introductory guide to developing efficient, secure, Java applications that are defendable against a variety of issues

Prerequisite
None

Expected Duration
165 minutes

Description
Defensive programming is an approach to programming that attempts to ensure that software still functions under adverse or unforeseen circumstances. In this course, you’ll learn how to defend against injection attacks, including SQL, XML, LDAP, and coding attacks. You’ll also learn how to handle concurrency.

Objective

Working with Data

  • start the course
  • identify why unsanitized data should not be logged in Java programs
  • identify why unsanitized data should be excluded from format strings
  • identify the issues that can occur when handling ZIP and GZIP files in Java
  • identify how to use input validation in a Java application
  • identify how to protect regular expressions against regex injection attacks

Defending against Attacks

  • identify how to prevent SQL injection attacks in Java
  • identify how to prevent code injections in Java
  • set up a local LDAP server, create a connection, and populate the server with directory entries
  • identify how to prevent LDAP injection in Java
  • identify how to prevent XPath injections in Java
  • identify how to prevent XML injection attacks in Java
  • identify how to prevent against XML Entity expansion attacks in Java
  • list the potential problems that path traversal may cause and recognize how to prevent them in Java

Concurrency

  • handle concurrency securely by avoiding race conditions in Java programs
  • safely manage concurrency by ensuring safe publication of the members of referenced objects
  • safely manage concurrency by ensuring proper synchronization semantics
  • use thread-safety-related annotation in Java programs

Practice: Defending Against Attacks

  • use defensive programming techniques to defend against attacks in Java programs

MONTHLY SUBSCRIPTION

$129/month
 

ANNUAL SUBSCRIPTION

$1295/year

Multi-license discounts available for Annual and Monthly subscriptions.