Four-Project Series

Develop Secure Java Applications to Prevent Website Attacks you own this product

prerequisites
beginning Java: reviewing code, writing methods, referencing third-party libraries, implementing example code into new contexts, and handling parameter data
skills learned
safely handle untrusted input and output of data • defend against injection attacks • manage unexpected behavior • protect databases • avoid authentication bypasses • write secure Java code
Philip Kulp
4 weeks · 6-8 hours per week average · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


In this series of liveProjects, you’ll repair serious security vulnerabilities uncovered in the Java backend of a server, servlet, and Java Server Pages (JSP). A security team has just finished a penetration test of your company’s web app, and you’ve been handed the list of everything that needs to be fixed—and fast. You’ll be given a complete sample application source code to work with. Each project in this series contains several vulnerabilities for you to tackle based on findings from the pentester’s results.

These projects are designed for learning purposes and are not complete, production-ready applications or solutions.

Manning author Philip Kulp shares what he likes about the Manning liveProject platform.

here's what's included

Project 1 Scripting Attacks
In this liveProject, you’ll tackle risks caused by unsafe input and output handling in your application. These bugs can make your application vulnerable to reflected and stored attacks such as Cross-Site Scripting (XSS). You’ll identify insecure code and develop fixes to securely handle inputs from untrusted sources, safely manage your encoded data, and avoid unsafe calculations with numeric data types. You will be provided with resource material to identify the problems and will replace the vulnerable Java with secure code to protect against attacks.
Project 2 Injection Attacks
In this liveProject, you’ll fix bugs in your code that are vulnerable to injection attacks. Injection attacks are a serious risk to your application, allowing attackers to steal data, insert their own data, or make your system perform in unexpected ways. You’ll harden your app against the different types of injection attacks such as XML injection, serialized Java objects, JSON deserialization, Zipbomb attacks, and many more exciting attacks which require special defenses.
Project 3 Secure Failing Code
In this liveProject, you’ll learn how to defend against attacks that could force a failure in your application or cause it to enter an unstable state. Unexpected behaviors and fail states can allow an attacker to steal information or provide information for a secondary attack. You’ll create catch statements and methods that can securely handle exceptions, design code that can maintain state on failure, and learn to avoid unstable system states altogether.
Project 4 Session Hijacking
In this liveProject, you’ll write secure Java code for handling potentially untrusted data in web applications. You’ll build systems that can protect against data from web app forms; safely handle cookies, headers and redirects; and set up secure authentication mechanisms. Finally, you’ll manage your third-party libraries and identify potential vulnerabilities using Software Composition Analysis (SCA). Insecure third-party libraries can add vulnerabilities to your otherwise secure application and have been used in several recent real-world compromises.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Develop Secure Java Applications to Prevent Website Attacks project for free

project author

Philip Kulp
Dr. Philip Kulp has been consulting in cybersecurity for over 20 years, and working in IT for over 25 years. He currently works as a cybersecurity architect and incident responder, developing realistic approaches to securing enterprise. He also serves as a secure code reviewer, independent assessor, web application tester, and as an adjunct professor at Drexel University. He is an author and conference speaker on various cyber topics such as medical drone delivery, identifying malicious websites based on linking, and more.

Prerequisites

This liveProject is designed to be accessible to Java programmers of all skill levels. To begin this liveProject you will need to be familiar with the following:


TOOLS
  • Experience with either Eclipse IDE or IntelliJ IDEA
TECHNIQUES
  • RegEx for search and replace

you will learn

In this liveProject, you’ll learn secure coding techniques that you can apply to future code you write or review.


  • Handling text from untrusted sources
  • Safely logging untrusted data
  • Working with encoded data
  • Avoiding unsafe calculations with numeric data types
  • RegEx and string filtering

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.