
Apply general secure programming patterns by linking every session and transaction to authenticated users, validating data ranges and content, and preferring whitelisting over blacklisting.
Intro to BankBoard, a vulnerable Web forum / board without input filtering and other security measures. Purely for demonstrating purposes. If you are only interested in the factual descriptions, you can skip these lectures!
(If you are only interested in the factual descriptions, you can skip these DEMO lectures!) Demonstration of a simple SQL code injection exploit using BankBoard as introduced before.
(If you are only interested in the factual descriptions, you can skip these DEMO lectures!) Demonstration of CSRF attack variants using BankBoard as introduced before.
Learn to prevent cross-site scripting (XSS) by implementing proper output encoding for HTML and JavaScript, addressing persistent, reflected, and DOM-based attacks, and validating input across the application.
(If you are only interested in the factual descriptions, you can skip these DEMO lectures!) Demonstration of some simple XSS attacks in action using BankBoard as introduced before.
Learn to prevent session hijacking by managing session IDs and cookies, including temporary vs long sessions, logout, re-authentication for critical actions, and secure HttpOnly cookies with restricted path and domain.
(If you are only interested in the factual descriptions, you can skip these DEMO lectures!) Demonstration of XSS with Session-Hijacking using BankBoard as introduced before.
In this lecture, we will learn how to code secure password hashing into a Java application. This might be necessary, e.g., in case your application framework does not offer a secure password management function.
Prerequisites are Java, Eclipse (or similar) and the Apache Commons Codec and that you are familiar with encoding schemes like Hex or Base64.
Understand Application Security: Numerous successful attacks on well-known web applications on a weekly basis should be reason enough to study the background of "Web Application Security" of custom-made or self-developed applications.
Computer systems are ubiquitous and part of our working and private everyday life. For companies it is increasingly complex and difficult to keep up their IT security with the current technical progress. Large enterprises establish security processes which are created according to industry standards (e.g., ISO 27001). These processes are very complex and can only be implemented by teams of security experts. Constant quality assurance, maintenance and adaptation also belong to an IT security process.
It does not matter if a company develops products or runs an online shop, IT security is a characteristic feature. Security incidents, which maybe even reach public uncontrolled, do not only damage the business image but may also lead to legal or financial consequences.
Intro
Typical Vulnerabilities Overview
Cause & Background
Secure Programming in general
Code/Command Injection in general
(No)SQL Code Injection
Cross-Site Request Forgery (CSRF)
Cross-Site Scripting (XSS)
Open Redirection
File Inclusion / Directory Traversal
Clickjacking
Session-Hijacking
Information Disclosure
Attacks on Weaknesses of the Authentication
Denial of Service
Middleware
Third-Party Software
Summary and Conclusion
The principles taught in this course are language and platform independent. However, the course will include examples for Java and PHP.
Instructor Frank Hissen, Computer Scientist and Security Expert, teaches IT security for over 20 years and works for companies of all sizes as IT Security Consultant and Software Engineer.