Exploiting and Securing Vulnerabilities in Java Applications (Coursera)

Exploiting and Securing Vulnerabilities in Java Applications (Coursera)

In this course, we will wear many hats. With our Attacker Hats on, we will exploit Injection issues that allow us to steal data, exploit Cross Site Scripting issues to compromise a users browser, break authentication to gain access to data and functionality reserved for the ‘Admins’, and even exploit vulnerable components to run our code on a remote server and access some secrets.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

We will also wear Defender Hats. We will dive deep in the code to fix the root cause of these issues and discuss various mitigation strategies. We do this by exploiting WebGoat, an OWASP project designed to teach penetration testing. WebGoat is a deliberately vulnerable application with many flaws and we take aim at fixing some of these issues. Finally we fix these issues in WebGoat and build our patched binaries. Together we will discuss online resources to help us along and find meaningful ways to give back to the larger Application Security community.
What You Will Learn

  • Practice protecting against various kinds of cross-site scripting (XSS) attacks.
  • Form plans to mitigate injection vulnerabilities in your web application.
  • Create strategies and controls to provide secure authentication.
  • Examine code to find and patch vulnerable components.

Course 4 of 4 in the Secure Coding Practices Specialization.

Syllabus

WEEK 1
Setup and Introduction to Cross Site Scripting Attacks
In this module, you will be able to use Git and GitHub to pull needed source code. You will be able to run WebGoat in a Docker container and explain reasons for doing so. You'll be able to describe cross-site scripting attacks and explain how these attacks happen and how to guard against them. You'll be able to differentiate between a DOM-based, Reflected, and Stored cross-site scripting attacks. You will be able to practice protecting against various kinds of cross-site scripting attacks.

WEEK 2
Injection Attacks
In this module, you will be able to exploit a SQL injection vulnerability and form plans to mitigate injection vulnerabilities in your web application. You will be able to discuss various approaches to finding and fixing XML, Entity and SQL attack vulnerabilities. You'll be able to describe and protect against a "man-in-the-middle" attack and describe the the thought process to find SQL injection vulnerabilities by "putting on the attacker's hat". You will be able to demonstrate how to properly modify queries to get them into prepared statements and analyze code while using an XML viewer and text editor to find vulnerabilities. You'll also be able to navigate a large code base to find critical segments of code and patch vulnerabilities.

WEEK 3
Authentication and Authorization
In this module, you will be able to evaluate authentication flaws of various kinds to identify potential problems and create strategies and controls to provide secure authentication. You'll be able to create and/or implement controls to mitigate authentication bypass and draw lessons from notable instances where others failed to authenticate users. You will be able to properly implement authentication methods like JSON Web Tokens (JWT). You will be able to find vulnerabilities in a large code base and provide a solution for demonstrating and exploiting JSON Web Tokens (JWT).

WEEK 4
Dangers of Vulnerable Components and Final Project
In this module, you will be able to use the OWASP Dependency Checker while analyzing code and verify that you have vulnerable components in the code. You will be able to examine code to find and patch vulnerable components. You will be able to apply what you learned from previous module activities to finalize your final project.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Oct 12th 2026
5-12 Weeks
Linux on LinuxONE (Coursera) Coursera
IBM

Linux on LinuxONE (Coursera)

This course is for Linux Systems Administrators, Architects and Developers who are already familiar with Linux components and everyday tasks, but need a primer on how to best take advantage of the LinuxONE platform. This includes working with the hardware, software, facilities, and processes unique to LinuxONE. It is comprised of videos, links to online resources, and a final test for a badge.

Oct 12th 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Oct 12th 2026
4 Weeks
Big Data Analysis with Scala and Spark (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Scala 2 version) (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Oct 12th 2026
4 Weeks
BigQuery Fundamentals for Teradata Professionals (Coursera) Coursera
Google Cloud

BigQuery Fundamentals for Teradata Professionals (Coursera)

This course covers BigQuery fundamentals for professionals who are familiar with SQL-based cloud data warehouses in Teradata and want to begin working in BigQuery. Through interactive lecture content and hands-on labs, you learn how to provision resources, create and share data assets, ingest data, and optimize query performance in BigQuery. Drawing upon your knowledge of Teradata, you also learn about similarities and differences between Teradata and BigQuery to help you get started with data warehouses in BigQuery.

Oct 12th 2026
2 Weeks
Global Health Security, Solidarity and Sustainability through the International Health Regulations (Coursera) Coursera
University of Geneva

Global Health Security, Solidarity and Sustainability through the International Health Regulations (Coursera)

Welcome to the MOOC "Global Health Security, Solidarity and Sustainability through the International Health Regulations". We are very excited to have you on board and hope you will enjoy the course! In the coming 6 weeks, you will learn about the International Health Regulations (IHR), history of its creation and evolution, its major principles and implementation procedures, as well as challenges and future opportunities.

Oct 12th 2026
5-12 Weeks
Introduction to Applied Cryptography (Coursera) Coursera
University of London

Introduction to Applied Cryptography (Coursera)

This course is a non-mathematical introduction to the role that cryptography plays in providing digital security for everyday applications such as the internet, mobile phones, wireless networks and cryptocurrency. In this introductory course you will develop an understanding of the functionality and purpose of the main cryptographic tools we use today. You will learn how to make decisions about which cryptographic tools are most appropriate to deploy in specific settings. You will also explore the wider infrastructure surrounding cryptography and how this impacts the overall security of systems deploying cryptography.

Oct 12th 2026
4 Weeks
Cybersecurity Job Search and Interviews: Getting Started (Coursera) Coursera
University System of Georgia

Cybersecurity Job Search and Interviews: Getting Started (Coursera)

Are you planning to have a career in cybersecurity? This course can help you plan your preparation for such a career as well as give some advice on finding positions and landing a position. What you will learn: the process and resources for finding the perfect cybersecurity job; the cybersecurity professional’s role in an organization’s cybersecurity effort; the knowledge preparation for the cybersecurity professional from an education versus training perspective.

Oct 12th 2026
5-12 Weeks
Enhancing Mac Security: Strategies for Protection (Coursera) Coursera
LearnQuest

Enhancing Mac Security: Strategies for Protection (Coursera)

Fortifying Your Digital Fortress: Mac Security Strategies for Ultimate Protection. Discover essential Mac security in this comprehensive course tailored for beginners. Learn to safeguard your Mac workstation effectively as you delve into fundamental security features, threat assessment, and proactive management. Gain insights into automating security processes and adopting top-notch practices, ensuring robust protection for your Mac. Enroll now to master the art of securing your Mac with confidence.

Oct 12th 2026
3 Weeks
Web Connectivity and Security in Embedded Systems (Coursera) Coursera
EIT Digital

Web Connectivity and Security in Embedded Systems (Coursera)

In this course, we will explore several technologies that bring modern devices together, facilitating a network of connected things and making devices internet enabled. We will discuss rules, protocols, and standards for these devices to communicate with each other in the network. We will also go through security and privacy issues and challenges in cyber physical systems (CPS). We will explore measures and techniques for securing systems from different perspectives. Possible attack models are introduced and solutions to tackle such attacks are discussed. Moreover, some basic concepts related to privacy in cyber physical systems are presented.

Oct 12th 2026
5-12 Weeks
Uso de bases de datos con Python (Coursera) Coursera
University of Michigan

Uso de bases de datos con Python (Coursera)

Este curso presentará a los estudiantes los conceptos básicos del lenguaje de consulta estructurado (Structured Query Language, SQL), así como el diseño básico de bases de datos para almacenar datos como parte de una iniciativa de varios pasos para recopilar, analizar y procesar datos. El curso utilizará SQLite3 como base de datos. También crearemos rastreadores web y procesos de visualización y recopilación de datos de varios pasos. Utilizaremos la biblioteca D3.js para realizar la visualización básica de datos.

Oct 12th 2026
5-12 Weeks
BigQuery Fundamentals for Oracle Professionals (Coursera) Coursera
Google Cloud

BigQuery Fundamentals for Oracle Professionals (Coursera)

This course covers BigQuery fundamentals for professionals who are familiar with SQL-based cloud data warehouses in Oracle and want to begin working in BigQuery. Through interactive lecture content and hands-on labs, you learn how to provision resources, create and share data assets, ingest data, and optimize query performance in BigQuery. Drawing upon your knowledge of Oracle, you also learn about similarities and differences between Oracle and BigQuery to help you get started with data warehouses in BigQuery.

Oct 12th 2026
2 Weeks