We may earn an affiliate commission when you visit our partners.
Course image
Loony Corn

Coat your website with armor, protect yourself against the most common threats and vulnerabilities. Understand, with examples, how common security attacks work and how to mitigate them. Learn secure practices to keep your website users safe.

Let's parse that.

  • How do common security attacks work?: This course walks you through an entire range of web application security attacks
Read more

Coat your website with armor, protect yourself against the most common threats and vulnerabilities. Understand, with examples, how common security attacks work and how to mitigate them. Learn secure practices to keep your website users safe.

Let's parse that.

  • How do common security attacks work?: This course walks you through an entire range of web application security attacks
  • How do we mitigate them?: Mitigating security risks is a web developer's core job. Learn by example how you can prevent script injection, use secure tokens to mitigate XSRF, manage sessions and cookies, sanitize and validate input, manage credentials safely using hashing and encryption etc.
  • What secure practices to follow?: See what modern browsers have to offer for protection and risk mitigation, how you can limit the surface area you expose in your site.

What's included in this course:

  • Security attacks such as Cross Site Scripting, Session Hijacking, Credential Management, Cross Site Request Forgery, SQL Injection, Direct Object Reference, Social Engineering
  • Risk mitigation using the Content Security Policy Header, user input validation and sanitization, secure token validation, sandboxed iframes, secure sessions and expiry, password recovery
  • Web security basics: Two factor authentication, Open Web Application Security Project,
Enroll now

What's inside

Learning objectives

  • Understand how common web security attacks work
  • Know how to write code which mitigates security risks
  • Implement secure coding practices to reduce vulnerabilities

Syllabus

You, This Course and Us
Source Code and PDFs
What Is Security?

Authentication, authorization, auditing, availability, confidentiality and integrity. If any of these principles are compromised on your site, your site is at risk

Read more

A few definitions - risk, threat, vulnerability and attack. Reasons why websites are at risk. Known and unknown risks.

Start off with a well known security attack - script injection can wreak havoc on your site.

A simple but realistic example of how XSS could affect your site

Persistent, reflected and DOM based XSS. The differences are subtle but important.

How can you protect yourself from script injection? What are the good practices to follow?

Some more techniques by which input can be cleaned up

Check for patterns in your input. Only allow those patterns which seem legit!

PHP offers a whole bunch of ways to validate input, some more here.

What else can you do to make sure user input is safe to use?

Specify default directives so things are less onerous and learn to use wildcards

Inline code and the eval() functions usually spell trouble for your site

If you must use inline code, the Content Security Policy header gives you a few outs.

What makes a good password? Set some constraints so your users are forced to choose strong passwords.

Do not store passwords in plain text. When it comes to security you cannot trust even those who work with you.

An example using a secure token to verify that the request comes from a trusted site.

If you have a Windows machine follow the instructions in this lecture to get up and running with Apache server and PHP!

Enabling MySQL for Windows is so simple it takes all of 23 seconds:-) Set up a new user and password to access the database, create tables etc from your PHP script.

If you have a MAC machine follow instructions in this class to get started with PHP. Apache comes pre-installed on a MAC you just have to enable PHP and you're ready to go!

Download and install MySQL for the MAC

Set up a user name and password to connect to MySQL and use the MySQL Workbench, a user interface, to manage the database

One last bit to do before PHP can talk to MySQL

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers common web security attacks like Cross Site Scripting and SQL Injection, which are crucial for web developers to understand and defend against
Explores risk mitigation techniques using Content Security Policy headers and secure token validation, which are essential for building robust web applications
Includes practical examples of how to prevent script injection and manage sessions securely, offering hands-on knowledge for immediate application
Examines credential management, including password hashing and recovery, which are critical for protecting user data and maintaining website security
Requires learners to install PHP and MySQL, which may require additional setup time and effort, especially for those unfamiliar with these technologies
Discusses the Open Web Application Security Project (OWASP), providing a valuable introduction to industry standards and best practices in web security

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Web security: vulnerabilities and mitigation

According to learners, this course provides a solid introduction to common web security threats like Cross Site Scripting, SQL Injection, and Cross Site Request Forgery. Students particularly appreciated the focus on mitigation techniques and secure coding practices. The course includes helpful practical examples, often utilizing PHP/MySQL, which learners found easy to follow and apply. While most found the content well-explained and the instructor clear, a few reviewers noted that some parts felt simplified or that they would need additional resources for more in-depth knowledge. Overall, reviewers found the course highly valuable for developers seeking a practical foundation in web security.
The instructor is clear and content is well-explained.
"The instructor is clear and the content is well-explained."
"Instructor is knowledgeable."
"Easy to follow and apply."
Provides a strong base in key web security concepts.
"Great course. Very informative about web security vulnerabilities and how to write code which mitigates risks."
"Solid introduction to common web security threats. Covers XSS, SQL injection, and CSRF effectively."
"Provides a solid foundation in web security."
Strong emphasis on secure coding and fixing risks.
"Very informative about web security vulnerabilities and how to write code which mitigates risks."
"The focus on secure coding practices is exactly what I needed."
"Provides practical, actionable steps to secure web applications."
Helpful, hands-on coding examples are included.
"Practical examples are helpful."
"The examples on mitigating XSS and SQL injection were particularly useful."
"The hands-on examples using PHP/MySQL were great for understanding the concepts."
Some felt coverage could be more advanced or updated.
"Could perhaps go deeper on some topics..."
"Some parts felt a bit outdated or simplified."
"...you'll need more resources to be truly secure."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Web Security: Common Vulnerabilities And Their Mitigation with these activities:
Review Basic Web Development Concepts
Reinforce your understanding of fundamental web development concepts to better grasp the context of security vulnerabilities.
Browse courses on HTML
Show steps
  • Review HTML, CSS, and JavaScript basics.
  • Practice building simple web pages.
Read 'OWASP Testing Guide'
Learn how to systematically test web applications for security vulnerabilities using industry-standard techniques.
Show steps
  • Download the OWASP Testing Guide.
  • Read through the different testing methodologies.
  • Apply the testing techniques to a sample web application.
Read 'The Web Application Hacker's Handbook'
Gain a deeper understanding of web application vulnerabilities and exploitation techniques.
Show steps
  • Read the book chapter by chapter.
  • Try out the exploitation techniques in a lab environment.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice XSS Challenges
Sharpen your skills in identifying and exploiting Cross-Site Scripting (XSS) vulnerabilities through hands-on practice.
Show steps
  • Find online XSS challenge platforms.
  • Attempt various XSS challenges.
  • Analyze successful exploits and mitigation strategies.
Write a Blog Post on CSRF Mitigation
Solidify your understanding of Cross-Site Request Forgery (CSRF) by explaining mitigation techniques in a clear and concise blog post.
Show steps
  • Research different CSRF mitigation methods.
  • Outline the blog post structure.
  • Write the blog post with examples and explanations.
  • Publish the blog post on a personal blog or platform.
Build a Secure Authentication System
Apply your knowledge of secure coding practices by building a robust authentication system with proper credential management.
Show steps
  • Design the authentication system architecture.
  • Implement secure password hashing and storage.
  • Implement session management with appropriate security measures.
  • Test the system for vulnerabilities.
Contribute to a Security-Focused Open Source Project
Gain practical experience by contributing to an open-source project focused on web security, such as a static analysis tool or a vulnerability scanner.
Show steps
  • Find a suitable open-source project.
  • Understand the project's codebase and contribution guidelines.
  • Identify and fix a bug or implement a new feature.
  • Submit a pull request with your changes.

Career center

Learners who complete Web Security: Common Vulnerabilities And Their Mitigation will develop knowledge and skills that may be useful to these careers:
Web Security Engineer
A Web Security Engineer is responsible for protecting web applications and systems from various cyber threats. This often includes identifying vulnerabilities, developing security measures, and responding to security incidents. This course helps web security engineers by providing in-depth knowledge of common web security attacks such as Cross Site Scripting, SQL Injection, and Cross Site Request Forgery. The course also covers mitigation strategies, including input validation, secure token validation, and the use of Content Security Policy headers. Understanding secure coding practices is critical for a Web Security Engineer, and this course provides examples of how to prevent script injection and manage credentials safely.
Application Security Analyst
An Application Security Analyst works to identify and remediate security vulnerabilities in software applications. The work can include performing security assessments, code reviews, and penetration testing. This course can help application security analysts by providing a strong understanding of common web application vulnerabilities and mitigation techniques. Specifically, the course dives into Cross Site Scripting, SQL Injection, and Session Hijacking. The training also explores risk mitigation using Content Security Policy headers and secure session management. This knowledge is invaluable for conducting thorough security assessments and recommending effective remediation strategies.
Security Consultant
A Security Consultant advises organizations on how to improve their overall security posture and protect their assets. This involves assessing risks, developing security policies, and recommending security solutions. This course equips security consultants with the knowledge of common web security attacks, such as Cross Site Request Forgery and Direct Object Reference. It explains how these attacks work and provides practical examples of mitigation techniques. The course's coverage of secure coding practices and risk mitigation strategies, such as input validation and the use of secure tokens, helps individuals consulting businesses on security.
Software Developer
A Software Developer designs, develops, and maintains software applications. While not solely focused on security, writing secure code is increasingly important for all developers. This course may be useful for software developers as it provides essential knowledge of common web security vulnerabilities and how to mitigate them. The modules on user input sanitization and validation, credential management, and secure session management are directly applicable to writing more secure code. By understanding the principles taught in this course, a software developer can build more robust and resilient applications.
Penetration Tester
A Penetration Tester, also known as an ethical hacker, simulates attacks on computer systems to identify vulnerabilities and weaknesses. Penetration testers need a deep understanding of attack vectors and exploitation techniques. This course provides penetration testers with valuable insights into common web application vulnerabilities, such as SQL Injection and Cross Site Scripting. By understanding how these attacks work and the mitigation strategies that can be used to prevent them, a penetration tester can design more effective and realistic penetration tests.
Security Architect
A Security Architect is responsible for designing and implementing the security infrastructure for an organization. This involves defining security standards, selecting security technologies, and ensuring that security is integrated into all aspects of the IT environment. This course can help security architects better understand the common web application vulnerabilities and mitigation techniques that should be considered when designing secure systems. The course's coverage of topics such as Content Security Policy headers, secure session management, and input validation provides valuable guidance for building more secure web applications.
Cybersecurity Analyst
A Cybersecurity Analyst monitors computer networks and systems for security breaches or intrusions. They investigate security incidents and implement security measures to protect systems and data. This course may be useful to cybersecurity analysts as it provides important insights into the types of attacks that are commonly used against web applications. The modules on Cross Site Scripting, SQL Injection, and Cross Site Request Forgery can help cybersecurity analysts better understand how these attacks work and how to detect them.
System Administrator
A System Administrator is responsible for managing and maintaining computer systems and networks. This includes ensuring that systems are secure and protected from unauthorized access. This course may be useful to system administrators as it covers important security concepts, such as authentication, authorization, and auditing. The modules on credential management and secure session management can help system administrators implement stronger security measures to protect their systems.
Network Engineer
A Network Engineer designs, implements, and manages computer networks. While network engineers may not be directly involved in web application security, understanding web security vulnerabilities can help them design more secure networks. The course's coverage of topics such as Cross Site Request Forgery and SQL Injection can help network engineers better understand the types of attacks that can be launched against web applications and how to protect their networks from these attacks.
Database Administrator
Database Administrators are responsible for the performance, integrity and security of a database. This course may be helpful for database administrators, especially the section on SQL injection and mitigations. Learning more about parameterized queries and escaping input may help a database administrator protect their databases against security compromises.
Technical Support Specialist
A Technical Support Specialist provides technical assistance to customers or employees who are experiencing problems with computer systems or software. While this role may not be directly involved in web security, understanding basic security concepts can help technical support specialists better troubleshoot security-related issues. The course's coverage of topics such as authentication and authorization can help understand why a user might be having trouble logging in to a web application.
Quality Assurance Engineer
A Quality Assurance Engineer tests software applications to ensure that they meet quality standards and function correctly. While QA engineers may not be directly responsible for security, understanding security vulnerabilities can help them design more effective test cases. The course's coverage of topics such as Cross Site Scripting and SQL Injection can help QA engineers identify potential security flaws in the applications they are testing.
Business Analyst
A Business Analyst analyzes an organization's business processes and systems to identify areas for improvement. While this role may not be directly involved in web security, understanding basic security concepts can help business analysts better understand the risks associated with different business processes. The course's coverage of topics such as authentication and authorization can help a business analyst understand the security implications of different user access control models.
Technical Writer
A Technical Writer creates documentation for software applications, hardware, and other technical products. A technical writer may find the knowledge taught by this course helpful in their role. For example, they may be involved in documenting secure coding practices or security configurations. Therefore, concepts taught in this course may be useful for creating accurate and informative documentation.
Project Manager
A Project Manager is responsible for planning, executing, and closing projects. The project must be completed on time and within budget. While not directly related to web security, understanding security risks can help them better manage projects that involve web applications. The modules on topics such as authentication and authorization can help a project manager understand the security requirements that need to be considered when developing a web application.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Web Security: Common Vulnerabilities And Their Mitigation.
Comprehensive guide to web application security. It covers a wide range of vulnerabilities and provides detailed explanations of how to exploit and mitigate them. It is widely regarded as a must-read for web security professionals and provides much more depth than the course alone.
Provides a comprehensive guide to testing web applications for security vulnerabilities. It covers a wide range of testing techniques and provides detailed instructions on how to perform them. It valuable resource for anyone involved in web application security testing and provides a practical approach to identifying and mitigating vulnerabilities. It useful reference tool.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser