Biztonságos fejlesztés JavaScriptben [HU]
Az egy napos kurzuson a fejlesztő nézőpontját alapul véve vesszük számba a legfontosabb javascripthez kapcsolódó sérülékenységeket. Megtanuljuk hogy hogyan lehet az egyes sérülékenységeket tesztelni, felismerni a forráskód olvasása vagy írása közben, hogy hogyan lehet őket kijavítani és elkerülni.
Beszélünk a javascript nyelv biztonsági vonatkozásairól, górcső alá vesszük a leggyakoribb antipatterneket. Részletesen elemezzük az XSS összes fajtáját és megjelenési formáját, nem pusztán elméleti úton, hanem szándékosan sérülékeny alkalmazások funkcionális és forráskód elemzésével. Tanulunk számos egyéb js sérülékenységről, úgy mint CSRF, OSRF, clickjacking, tabnabbing. Tudatosítjuk a HTML5 biztonsági hozadékait, csakúgy mint a veszélyeit. Rávilágítunk a CSP és egyéb biztonsággal kapcsolatos Http headerek jelentőségére. A hallgatóság igényeitől függően röviden specifikus js technológiák biztonsági funkcióinak ismertetésére, értékelésére is sort kerítünk (Angular, React).
JavaScript security
The one-day javascript security training will cover the fundamentals of secure coding in javascript. We will teach the most important web vulnerabilities related to javascript from the perspective of the developer. They will learn how to find vulnerabilities during testing, how to recognise them within the source-code, how to avoid, and how to mitigate them.
We will cover the security-related specialities of javascript, emphasising some common pitfalls. We will reach an in-depth understanding of XSS, covering all types and flavors, focusing not only on the theory, but practising on intentionally vulnerable applications and analysing their source-code. We will raise awareness of several other js vulnerabilities, CSRF, OSRF, clickjacking, tabnabbing as well as some HTML5 related security problems. We will enlighten the significance of CSP and other security-related Http headers. Depending on the needs of the audience we can also present a brief security-evaluation of some popular js technologies (Angular, React).
- course level
- popular
- audience
-
junior to senior developers, testers and security champions
- duration
-
1 XL day, 7 hrs education time
- equipment
- laptop with a dev/ide environment
- prerequisite
- familiarity with with the JS language,
understanding of the HTTP protocol and HTML,
familiarity with basic security features
of an enterprise application (authentication, authorization, the concept of a session)
- references
- Logmein, GetGo
- Is JS a secure language?
- Automatic conversions
- Type safety
- Variable scopes
- Eval, setTimeout, etc,,,
- XSS
- Types (reflective, stored, dom-based, non dom-based)
- Dangerous js functions (Vanilla and jQuery)
- How to defend
- BeEF demo [*]
- More injections related
- Other html injections
- Open redirection
- Client side sqli [*]
- Cookie injection
- Other JS (or JS related) vulnerabilities
- The same origin policy, CSRF, CORS
- OSRF
- Clickjacking
- Tabnabbing
- HTML5 security
- Web storage [*]
- WebSockets [*]
- Web Messaging [*]
- Webworkers [*]
- Iframe sandboxing
- CSP and other security headers
- Technology specific security
- ReactJS security [*]
- Angular security [*]
- Other topics
- JS obfuscation [*]
- Cryptography in JS [*]
[*] optional, delivered on demand. The audience can vote for some of these non-essential topics.
All classes are tuned for advanced audience, though are comprehensible for any person interested in the development process.