I'm into web application security and I like security research. It's a sensitive topic and every little thing left forgotten can get you and your users into trouble. Quite often you'll find me writing articles and posts about web security, I'm also a speaker. I'd like to share my experience with you and teach you how to secure web applications and how to test them for vulnerabilities.

Course name

PHP application security


Content

Description, threats, and defense against web attacks:

  • Full Path Disclosure

    Why are PHP error messages appealing to the attacker and what do they learn from them?

  • Cross-Site Scripting (XSS)

    Attacks againt visitors and their browsers, differnet XSS types (stored, reflected, DOM-based), defending on the server and in the browser by specifying allowed sources (Content Security Policy) and using XSS Auditor.

  • SQL Injection

    About “dumping” data and changing them in tables that are not accessible by default. Details about Blind SQL Injection, Time-based blind SQL Injection, and the differences between prepared statements and variable binding.

  • File uploads a remote execution

    How to upload user files, where to store then, how to name the files. Running external programs (for example image resizing) “in the cloud”, and the danger lurking in deserializing user inputs.

  • Cross-Site Request Forgery (CSRF), Clickjacking

    A bad guy can force a user to perform an action without their knowledge or lure him to click on a page element they would not normally click. What is it good for and how to defend against such thing?

  • Session Hijacking, Session Fixation

    Whoever is in possesion of session id is the master, so we have to protect the id. About HTTP-only cookies, session id regeneration, and also about multiple user sessions.

  • XML External Entity Injection (XXE)

    Configuration files or source code can be obtained from the server by parsing XML files with custom entities. We'll see how and how to stop it.

  • Hashing and storing user passwords

    How passwords are cracked, what's “salt”, why use algorithms like bcrypt or Argon2i, why not MD5 or SHA-1 (or SHA-2, SHA-3). How to change hashing algorithm without resetting passwords for all users?

Other topics:

  • Generating “secure” random data
  • Data encryption, authenticated encryption (AE)
  • HTTPS, HTTP Strict Transport Security (HSTS)
  • Unauthorized data access
  • Abusing contact forms for sending spam
  • Server configuration
  • Protecting source code when deploying from SVN or Gitu
  • Security HTTP headers

Do you want to know more about HTTPS? Then this training for developers and admins is just for you.


Lecturer

Michal Špaček (about the lecturer, contact the lecturer)


Prerequisites

Just basic knowledge of HTML, JavaScript, PHP and SQL. Training is also appropriate for developers working in other languages (e.g. Java or Python), most of the principles and attacks are the same.


Target audience

The training is designed for both senior web application developers and junior developers to gain competitive advantage.


Date and venue

13. 12. 2017 Praha, 10:0018:00, one hour lunch break (sign-up)
According to the situation, the course can be longer by an extra hour.

Node 5, Radlická 180/50, Praha

Přineste si notebook, bezdrátové připojení k Internetu je k dispozici. Pokud přenosný počítač nemáte, dejte mi vědět, notebook Vám zajistím. Oběd, káva, čaj a minerálka je v ceně školení.

Trainings in Prague are held regularly in the middle of March, June, September, and December, in other cities irregularly.


Capacity

Maximum of 15 participants


Price

3990 Kč, 4828 Kč incl. VAT, 30% discount for students


Materials

Participants will receive a printed materials and a certificate. We'll dedicate enough time for questions. After completing the training, I'll send the presentation with comments via e-mail as well as with the code examples used for the training.


Training reviews

Martin Ambrož, AVAST Software a.s.

Školení o bezpečnosti PHP aplikací Michala Špačka předčilo má očekávání. Vývoji webových aplikací se profesionálně věnuji 13 let, přesto musím zkonstatovat, že pořád je co nového se učit. Je vidět, že pan Špaček má o bezpečnosti velký přehled a že je to i jeho koníček. Kromě přehledně zpracovaných podkladů ke školení jsem uvítal i mnoho praktických ukázek a dostatečný prostor pro dotazy přímo při probírání každého tématu.

Adam Tyroň, Růžový slon s.r.o.

Školení se mi líbilo a splnilo má očekávání. Skvěle připravené, teorie proložena praktickými ukázkami. Školení mi sjednotilo a rozšířilo dosavadní znalosti o problematice. Doporučuji aby školením prošli všichni weboví vývojáři.

Filip Klimeš, Startupedia s.r.o.

Na VŠ jsem absolvoval předmět týkající se bezpečnosti webových aplikací, ale chyběly mi praktické znalosti. Michal Špaček je uznávaný odborník na toto téma, proto jsem zamířil na jeho školení. To perfektně splnilo svoji roli, doplnilo i některé mezery v teorii a nuda se na něm rozhodně nekonala. Za tu cenu bezkonkurenční.

All reviews


Sign-up

Date
13. 12. 2017 Praha
Participant
Company details (optional)
load the rest load the rest wait… not found, error, again Nejdříve vyberte zemi a zadejte IČO

Zadané údaje budou použity pro vystavení faktury, která vám bude zaslána e-mailem během několika dní, případně pro zaslání pozvánky, pokud se hlásíte na předběžný termín.

Pokud se školení z jakéhokoliv důvodu neuskuteční nebo se přesune na jiný termín, který vám nebude vyhovovat (živelní pohroma, nemoc přednášejícího, …), bude vám vrácena celá zaplacená částka. Pokud nastanou překážky na straně účastníka, může za sebe poslat náhradníka nebo se zúčastnit náhradního termínu.

This training can also be organized in-house. I also offer consulting for your business, contact me!

Česky