First lecture / unregistration

Written on 15.04.24 by Ben Stock

Dear all,

we start our lectures this week on Wednesday at 10 am (c.t.) in CISPA's 0.05 lecture hall (when you enter the building, it's on your left behind the counter). Note that with the currently signed up students, it will be crowded, so please don't leave any spaces between each other.

Also,… Read more

Dear all,

we start our lectures this week on Wednesday at 10 am (c.t.) in CISPA's 0.05 lecture hall (when you enter the building, it's on your left behind the counter). Note that with the currently signed up students, it will be crowded, so please don't leave any spaces between each other.

Also, given that we have reached our capacity a while back, I closed the ability for other to register. I have received a number of requests to join, so should want to not attend the lecture after all, please use the option to unregister from the course. This may allow others to take the course. And while I have your attention here, let me remind you that this is not your average 6CP course and you will have to invest significant time and effort (but I promise, you will learn a lot).

Note that we will be recording the Q/A sessions we do weekly, but uploading of those may be delayed. Therefore, I strongly encourage you to attend the weekly meetings.

Thank you for your interest in the course. We have already overbooked the course by 20 people and therefore had to close the registration and self-assessment We have reopened the self-assessment after some students dropped the course. If the self-assessment tool provides you a token, you can still register.

Foundations of Web Security

Note that this lecture will not be offered as a hybrid course at Saarland University.

Please read the entire course description carefully before using the self-assessment tool to register for the course.

Requirements, expectations, and registration

While the name might be giving away a different idea, this lecture is an advanced lecture in Web security. At the very least, having taken CySec1/CySec2 or Security will significantly ease taking this course. If you are looking for easy 6CP, this is not the lecture for you. If you want to learn a lot about different aspects of Web Security and understand how flaws can be exploited and fixed and are willing to commit significant effort to a course, this is the right course for you. To self-assess whether this is the right course for you, please visit to guide you through the process. Note that you can only register through a token handed out in that tool (which you'll get irrespective of the amount of points you score on the self-assessment test).

Due to hardware limitations, this course can only accommodate up to 80 students. Students will be admitted on a first-come first-served basis. You should not take this course for easy credit points as it will be a significant effort. Previous students have liked the course, but noted the workload above an average course. See also the evaluation results for SS2018, SS2019WS2019WS2020SS2021SS2022 and SS2023 about this.

Teaching plan for summer 2024

After positive feedback from students, the lecture will be taught as an inverted classroom. We will release videos of the lectures each week and have a meeting  one week after that. These session will be a combination of quizzes, a chance for you to ask questions, and live coding tasks to help deepen your understanding of the topics and prepare you for the exercises. Further, we will use a Mattermost instance to allow for easy communication between students and teaching staff.

Schedule (Lecture slot: Wednesday 10-12)

  • 17.4.2024: Organizational matters and History of the Web (live lecture)
  • 24.4.2024: Introduction to Django&PyCharm / Release of Video 2 (Basic Client-Side Technology)
  • 1.5.2024: No lecture (public holiday)
  • 8.5.2024: Q/A session for Basic Client-Side Technology / Release of Video 3 (Cross-Site Scripting)
  • 15.5.2024 Q/A session for Cross-Site Scripting / Release of Video 4 (Content Security Policy)
  • 22.5.2024: No lecture
  • 29.5.2024: Q/A session for Content Security Policy / Release of Video 5 (Cross-Origin Communication)
  • 5.6.2024: Q/A session for Cross-Origin Communication / Release of Video 6 (Cross-Origin Attacks)
  • 12.6.2024: Q/A session for Cross-Origin Attacks / Release of Video 7 (Database Insecurity)
  • 19.6.2024:  Q/A session for Database Insecurity / Release of Video 8 (Code Execution)
  • 26.6.2024:  Q/A session for Code Execution / Release of Video 9 (Assorted Server-Side Issues)
  • 3.7.2024:  Q/A session for Assorted Server-Side Issues / Release of Video 10 (Infrastructure Security)
  • 10.7.2024: Q/A session for Infrastructure Security
  • 17.7.2024: Current research & Beyond the classical models (live lecture)
  • 24.7.2024: Exam preparation (8-10am; HS001)


  • Main exam: 31.7. 10-12 (GHH)
  • Backup exam: 9.10. 10-12 (HS002)


In this term, in order to qualify for the exam, you have to mandatorily do exercises. In particular, there are two types of exercises.

  • Security vulnerabilities and fixes for our social network Screecher: Here, you have to find flaws in the new versions we hand out every week, fix them in your own installation without breaking functionality as well as exploit them against a central instance. Functionality and exploitability of your instances will be automatically checked by us. Once you exploit our central instance, you get a flag which you can submit to prove you solved the challenge. In total, this roughly sums up to 15 offensive points and 17 defensive points.
  • Jeopardy-style challenges: Since Screecher is a Python-based service, but we also cover issues which relate to other programming languages exclusively (like PHP), we also have challenges which are attack-only. For those, you have exploit to bugs in our services. In total, we plan to have around 20-22 jeopardy challenges.

Points will be awarded in three categories: offensive (Screecher), defensive (Screecher), and jeopardy. In total, you have to get 50% of all available points. In total, each of the three categories gives you the same amount of points, i.e., if you exclusively work on Screecher and exploit and fix all bugs, you'd end up with approx. 60% of all points. More details on how to work on the exercises and submit flags will be provided in the introductory session about our infrastructure.

Teaser video

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.