About this Course

21,123 recent views
Shareable Certificate
Earn a Certificate upon completion
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. 13 hours to complete
English

Skills you will gain

CryptographyAuthentication Methodssecure programming
Shareable Certificate
Earn a Certificate upon completion
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. 13 hours to complete
English

Offered by

Placeholder

University of California, Davis

Syllabus - What you will learn from this course

Week
1

Week 1

4 hours to complete

Foundational Topics in Secure Programming

4 hours to complete
14 videos (Total 83 min), 3 readings, 2 quizzes
14 videos
Module 1 Introduction1m
Fundamental Concepts in Security8m
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

Week 2

3 hours to complete

Injection Problems

3 hours to complete
17 videos (Total 87 min), 1 reading, 1 quiz
17 videos
General Concepts: Injection Problems4m
SQL Injection Problems8m
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

Week 3

4 hours to complete

Problems Arising From Broken Authentication

4 hours to complete
11 videos (Total 71 min), 1 reading, 1 quiz
11 videos
Overview of HTTP Protocol7m
Introduction to Authentication10m
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

Week 4

3 hours to complete

Sensitive Data Exposure Problems

3 hours to complete
9 videos (Total 36 min), 1 reading, 2 quizzes
9 videos
Introduction to Sensitive Data Exposure Problems5m
Issue 1: Using PII to Compose Session IDs3m
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

Reviews

TOP REVIEWS FROM IDENTIFYING SECURITY VULNERABILITIES

View all reviews

About the Secure Coding Practices Specialization

Secure Coding Practices

Frequently Asked Questions

More questions? Visit the Learner Help Center.