
Explain why cookies are needed in a stateless web, how session and tracking cookies work, how cookies are set and attached to requests, and mention CSRF risks.
Explore cross-site request forgery (CSRF), how browsers attach cookies to requests, and how session cookies enable hijacking. Examine an inside home scenario with private IP devices vulnerable to such attacks.
Explains csrf attacks on get requests, using url parameters and image tricks, contrasts get and post methods, and demonstrates defenses in a social network lab.
Examine how a self-propagating XSS worm spreads across social networks by copying its payload into profiles, propagating to others through the DOM and getElementById techniques.
Set up a MySQL database in a container, initialize it with a root password and seed data, and perform create, insert, and select queries with where conditions.
Demonstrates sql injection against a login form's select statement, showing how crafted input, comments, and logical operators can bypass passwords and access accounts.
Learn how prepared statements separate code and data to prevent injection attacks, and how parameter binding with placeholders improves security and performance.
Explore the clickjacking attack, how iframes work, and how the content security policy defends against it, in a hands-on lab setting up three web servers for experiments.
Learn how iframes embed pages from other sites using the source attribute, explore sizing, overlapping, borders, and transparency, and understand how the click juking attack influences their use.
Explore iframe security features that enforce the same-origin policy, control parent-child and sibling access, and leverage sandbox options to isolate content, block scripts, and manage top navigation.
As the web has become more and more ubiquitous, the number of attacks on web applications have increased substantially. In this course, we systematically study the security problems in the web, including the security mechanisms implemented in the browse and server sides. We study several well-known attacks against web applications, such as cross-site request forgery, cross-site scripting, SQL injection, and clickjacking attacks. We also study how we can defend against these attacks when developing web applications.
The attacks are covered in this course with great technical details. The course won't just teach students the high-level concepts and theories. It would dive into the low-level technical details and fundamentals, so students can fully understand how exactly things work, and gain the knowledge in depth.
The course emphasizes hands-on learning. For each attack covered, students not only learn how the attack works in theory, they also learn how to actually conduct the attack, in a contained virtual machine and container environment. The hands-on exercises developed by the instructor are called SEED labs, and they are being used by over 1000 institutes worldwide. The course is based on the textbook written by the instructor. The book, titled "Computer & Internet Security: A Hands-on Approach, 2nd Edition", has been adopted by over 210 universities and colleges worldwide.