About this Course

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 12 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English

Skills you will gain

CryptographyAuthentication Methodssecure programming

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

1-2 years of experience with some form of computer programming language like C/C++ or Java.

Approx. 12 hours to complete

Suggested: 4 weeks of study, 2-5 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
5 hours to complete

Foundational Topics in Secure Programming

In this module, you will gain exposure to the ideas of threat modeling and applied cryptography. By the end of the module, you will be able to start to create threat models, and think critically about the threat models created by other people. You will be able to apply the STRIDE Method to your threat model and distinguish the trust boundaries in a given system. You will also gain a basic understanding of applied cryptography, such as encryption and secure hashing.

...
14 videos (Total 83 min), 3 readings, 2 quizzes
14 videos
The STRIDE Method Via Example9m
STRIDE Threats In More Detail Via Example4m
Trust Boundaries2m
Cryptography Basics Introduction3m
Cryptography Basics: Block Ciphers9m
Cryptography Basics: Symmetric and Asymmetric Cryptography5m
Cryptography Basics: Hash Functions9m
Cryptography Basics: Application to Threat Models4m
Lab: Threat Model Activity3m
OWASP Top 10 Proactive Controls and Exploits - Part 16m
OWASP Top 10 Proactive Controls and Exploits - Part 29m
3 readings
A Note From UC Davis10m
Welcome to Peer Review Assignments!10m
Reading and Resource20m
1 practice exercise
Module 1 Quiz30m
Week
2
3 hours to complete

Injection Problems

By the end of this module, you will have a fundamental understanding of injection problems in web applications. You'll be able to discuss and describe the three most common types of injection problems: SQL injection, cross-site scripting, and command injection. In order to drive home these concepts, you will be able to work on exploiting a SQL injection vulnerability in the WebGoat application. You'll be able to formulate plans to mitigate injection problems in your applications.

...
17 videos (Total 87 min), 1 reading, 1 quiz
17 videos
Mitigating SQL Injection Using Prepared Statements3m
Mitigating SQL Injection Using Stored Procedures3m
Mitigating SQL Injection Using Whitelisting2m
Injection Problems in Real Life5m
Solution Screencast for Lab: Exploit Using WebGoat's SQLi Example7m
Cross-Site Scripting Introduction3m
HTTP and Document Isolation8m
DOM, Dynamically Generating Pages, and Cross-Site Scripting7m
The 3-Kinds of Cross-Site Scripting Vulnerabilities6m
Comparing and Contrasting Cross-Site Scripting Vulnerabilities3m
OWASP Prescribed Cross-site Scripting Prevention Rules - Part 16m
OWASP Prescribed Cross-site Scripting Prevention Rules - Part 26m
Command Injection Problems3m
OWASP Proactive Controls Related to Injections4m
1 reading
Resources20m
1 practice exercise
Module 2 Quiz30m
Week
3
4 hours to complete

Problems Arising From Broken Authentication

By the end of this module, you will be able to evaluate a system to determine if it follows the generally prescribed secure methods for authentication and session management in web applications. You'll be able to distinguish the relationship between authentication, session management, and access control. You will also be able to exploit WebGoat's authentication and session management vulnerability. As well as be able to evaluate a system to determine if it performs sufficient security logging such that non-repudiation is enforced. This will help drive the concepts that you will learn in this module.

...
11 videos (Total 71 min), 1 reading, 1 quiz
11 videos
Handling Error Messages During Authentication4m
Introduction to Session Management7m
Enforcing Access Control with Session Management7m
Session Management Threat: Bruteforce Session IDs10m
Session Management Theat: Session Fixation Vulnerabilities3m
Logging and Monitoring3m
Solution for Lab #3: WebGoat’s Session Management Vulnerability9m
OWASP Proactive Controls Related to Session Management and Authentication6m
1 reading
Resources20m
1 practice exercise
Module 3 Quiz30m
Week
4
4 hours to complete

Sensitive Data Exposure Problems

By the end of this module, you will understand how to effectively store password-related information, and NOT to store the actual plaintext passwords. You will also have a hands on coding assignment that will help you to better understand the mechanisms for effectively storing password-related information. Ready?

...
9 videos (Total 36 min), 1 reading, 2 quizzes
9 videos
Issue 2: Not Encrypting Sensitive Information2m
Issue 3: Improperly Storing Passwords5m
Slowing Down Password Bruteforce Attacks7m
Issue 4: Using HTTP for Sensitive Client-server4m
OWASP Proactive Controls Related to Sensitive Data Exposure3m
Course Summary1m
1 reading
Resources20m
1 practice exercise
Module 4 Quiz30m

Instructor

Avatar

Sandra Escandor-O'Keefe

Offensive Security Engineer at Fastly
Continuing and Professional Education

About University of California, Davis

UC Davis, one of the nation’s top-ranked research universities, is a global leader in agriculture, veterinary medicine, sustainability, environmental and biological sciences, and technology. With four colleges and six professional schools, UC Davis and its students and alumni are known for their academic excellence, meaningful public service and profound international impact....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

More questions? Visit the Learner Help Center.