SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Tim Messerschmidt
Head of Developer Relations, International
Braintree
@Braintree_Dev / @SeraAndroid
Node.js Authentication
and Data Security
#JSConfAsia
@SeraAndroid
Developer
Author
Evangelist
<3 Berlin
4
That’s me
@Braintree_Dev / @SeraAndroid#JSConfAsia
+ Braintree
since 2013
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Introduction
2. Well-known security threats
3. Data Encryption
4. Hardening Express
5. Authentication middleware
6. Great resources
Content
@Braintree_Dev / @SeraAndroid#JSConfAsia
The Human Element
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. 12345
2. password
3. 12345
4. 12345678
5. qwerty
bit.ly/1xTwYiA
Top 10 Passwords 2014
6. 123456789
7. 1234
8. baseball
9. dragon
10.football
@Braintree_Dev / @SeraAndroid#JSConfAsia
superman
batman
Honorary Mention
@Braintree_Dev / @SeraAndroid#JSConfAsia
Authentication
& Authorization
@Braintree_Dev / @SeraAndroid#JSConfAsia
OWASP Top 10bit.ly/1a3Ytvg
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Injection
@Braintree_Dev / @SeraAndroid#JSConfAsia
2. Broken Authentication
@Braintree_Dev / @SeraAndroid#JSConfAsia
3. Cross-Site Scripting
XSS
@Braintree_Dev / @SeraAndroid#JSConfAsia
4. Direct Object References
@Braintree_Dev / @SeraAndroid#JSConfAsia
5. Application Misconfigured
@Braintree_Dev / @SeraAndroid#JSConfAsia
6. Sensitive Data Exposed
@Braintree_Dev / @SeraAndroid#JSConfAsia
7. Access Level Control
@Braintree_Dev / @SeraAndroid#JSConfAsia
8. Cross-site Request Forgery
CSRF / XSRF
@Braintree_Dev / @SeraAndroid#JSConfAsia
9. Vulnerable Code
@Braintree_Dev / @SeraAndroid#JSConfAsia
10. REDIRECTS / FORWARDS
@Braintree_Dev / @SeraAndroid#JSConfAsia
Exploit Prevalence Detectability Impact Exploitability
Injection Common Medium Very High Easy
Broken Auth Very High Medium Very High Average
XSS Very High Easy Medium Average
Insecure DOR Common Easy Medium Easy
Misconfiguration Common Easy Medium Easy
Exposed Data Common Medium Very High Difficult
ACL Common Medium Medium Easy
CSRF Common Easy Medium Average
Vulnerable Code Very High Difficult Medium Average
Redirects Common Easy Medium Average
@Braintree_Dev / @SeraAndroid#JSConfAsia
HashingMD5, SHA-1, SHA-2, SHA-3
http://arstechnica.com/security/2015/09/once-seen-as-bulletproof-11-million-ashley-madison-passwords-already-cracked/
http://arstechnica.com/security/2015/09/once-seen-as-bulletproof-11-million-ashley-madison-passwords-already-cracked/
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
justtryingthisout
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
ishouldnotbedoingthis
whyareyoudoingthis
justtryingthisout
thebestpasswordever
arstechnica.com/security/2015/09/ashley-madison-passwords-like-
thisiswrong-tap-cheaters-guilt-and-denial
@Braintree_Dev / @SeraAndroid#JSConfAsia
Efficient Hashingcrypt, scrypt, bcrypt, PBKDF2
@Braintree_Dev / @SeraAndroid#JSConfAsia
10.000 iterations user system total
MD5 0.07 0.0 0.07
bcrypt 22.23 0.08 22.31
md5 vs bcrypt
github.com/codahale/bcrypt-ruby
@Braintree_Dev / @SeraAndroid#JSConfAsia
Salted Hashingalgorithm(data + salt) = hash
@Braintree_Dev / @SeraAndroid#JSConfAsia
use strict
@Braintree_Dev / @SeraAndroid#JSConfAsia
Regexowasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS
@Braintree_Dev / @SeraAndroid#JSConfAsia
Character Encodingw3schools.com/html/html_entities.asp
@Braintree_Dev / @SeraAndroid#JSConfAsia
X-Powered-By
@Braintree_Dev / @SeraAndroid#JSConfAsia
NODE-UUIDgithub.com/broofa/node-uuid
@Braintree_Dev / @SeraAndroid#JSConfAsia
GET /pay?amount=20&currency=EUR&amount=1
HTTP Parameter Pollution
req.query.amount = ['20', '1'];
POST amount=20&currency=EUR&amount=1
req.body.amount = ['20', '1'];
@Braintree_Dev / @SeraAndroid#JSConfAsia
bcryptgithub.com/ncb000gt/node.bcrypt.js
@Braintree_Dev / @SeraAndroid#JSConfAsia
A bcrypt generated Hash
$2a$12$YKCxqK/QRgVfIIFeUtcPSOqyVGSorr1pHy5cZKsZuuc2g97bXgotS
@Braintree_Dev / @SeraAndroid#JSConfAsia
bcrypt.hash('cronut', 12, function(err, hash) {
// store hash
});
bcrypt.compare('cronut', hash, function(err, res) {
if (res === true) {
// password matches
}
});
Generating a Hash using bcrypt
@Braintree_Dev / @SeraAndroid#JSConfAsia
CSURFgithub.com/expressjs/csurf
@Braintree_Dev / @SeraAndroid#JSConfAsia
Using Csurf as middleware
var csrf = require('csurf');
var csrfProtection = csrf({ cookie: false });
app.get('/form', csrfProtection, function(req, res) {
res.render('form', { csrfToken: req.csrfToken() });
});
app.post('/login', csrfProtection, function(req, res) {
// safe to continue
});
@Braintree_Dev / @SeraAndroid#JSConfAsia
extends layout
block content
h1 CSRF protection using csurf
form(action="/login" method="POST")
input(type="text", name="username=", value="Username")
input(type="password", name="password", value="Password")
input(type="hidden", name="_csrf", value="#{csrfToken}")
button(type="submit") Submit
Using the token in your template
@Braintree_Dev / @SeraAndroid#JSConfAsia
Helmetgithub.com/HelmetJS/Helmet
@Braintree_Dev / @SeraAndroid#JSConfAsia
var helmet = require(‘helmet’);
app.use(helmet.noCache());
app.use(helmet.frameguard());
app.use(helmet.xssFilter());
…
// .. or use the default initialization
app.use(helmet());
Using Helmet with default options
@Braintree_Dev / @SeraAndroid#JSConfAsia
Helmet for Koagithub.com/venables/koa-helmet
@Braintree_Dev / @SeraAndroid#JSConfAsia
Luscagithub.com/krakenjs/lusca
@Braintree_Dev / @SeraAndroid#JSConfAsia
var lusca = require('lusca');
app.use(lusca({
csrf: true,
csp: { /* ... */},
xframe: 'SAMEORIGIN',
p3p: 'ABCDEF',
xssProtection: true
}));
Applying Lusca as middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
Lusca for Koagithub.com/koajs/koa-lusca
@Braintree_Dev / @SeraAndroid#JSConfAsia
1. Application-level
2. Route-level
3. Error-handling
Types of Express Middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
var authenticate = function(req, res, next) {
// check the request and modify response
};
app.get('/form', authenticate, function(req, res) {
// assume that the user is authenticated
}
// … or use the middleware for certain routes
app.use('/admin', authenticate);
Writing Custom Middleware
@Braintree_Dev / @SeraAndroid#JSConfAsia
Passportgithub.com/jaredhanson/passport
@Braintree_Dev / @SeraAndroid#JSConfAsia
passport.use(new LocalStrategy(function(username, password, done) {
User.findOne({ username: username }, function (err, user) {
if (err) { return done(err); }
if (!user) {
return done(null, false, { message: 'Incorrect username.' });
}
if (!user.validPassword(password)) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, user);
});
}));
Setting up a passport strategy
@Braintree_Dev / @SeraAndroid#JSConfAsia
// Simple authentication
app.post('/login', passport.authenticate(‘local'), function(req, res) {
// req.user contains the authenticated user
res.redirect('/user/' + req.user.username);
});
// Using redirects
app.post('/login', passport.authenticate('local', {
successRedirect: ‘/',
failureRedirect: ‘/login’,
failureFlash: true
}));
Using Passport Strategies for Authentication
@Braintree_Dev / @SeraAndroid#JSConfAsia
NSPnodesecurity.io/tools
@Braintree_Dev / @SeraAndroid#JSConfAsia
Passwordless Authmedium.com/@ninjudd/passwords-are-obsolete-9ed56d483eb
@Braintree_Dev / @SeraAndroid#JSConfAsia
OWASP Node Goatgithub.com/OWASP/NodeGoat
@Braintree_Dev / @SeraAndroid#JSConfAsia
Node Securitynodesecurity.io/resources
@Braintree_Dev / @SeraAndroid#JSConfAsia
Fast Identity Onlinefidoalliance.org
@Braintree_Dev / @SeraAndroid#JSConfAsia
Security Beyond Current Mechanisms
1. Something you have
2. Something you know
3. Something you are
@Braintree_Dev / @SeraAndroid#JSConfAsia
Favor security too much over the
experience and you’ll make the
website a pain to use.
smashingmagazine.com/2012/10/26/password-masking-hurt-signup-form
@SeraAndroid
tim@getbraintree.com
slideshare.com/paypal
braintreepayments.com/developers
Thank You!

Contenu connexe

Tendances

Java script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers GroupJava script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers GroupAdam Caudill
 
Breaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandboxBreaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandboxMathias Karlsson
 
Django Web Application Security
Django Web Application SecurityDjango Web Application Security
Django Web Application Securitylevigross
 
XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?Yurii Bilyk
 
Practical django secuirty
Practical django secuirtyPractical django secuirty
Practical django secuirtyAndy Dai
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Netalsmola
 
Two scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesTwo scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesSpin Lai
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyKevin Hakanson
 
Dom based xss
Dom based xssDom based xss
Dom based xssLê Giáp
 
Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015Somkiat Khitwongwattana
 

Tendances (10)

Java script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers GroupJava script, security and you - Tri-Cities Javascript Developers Group
Java script, security and you - Tri-Cities Javascript Developers Group
 
Breaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandboxBreaking AngularJS Javascript sandbox
Breaking AngularJS Javascript sandbox
 
Django Web Application Security
Django Web Application SecurityDjango Web Application Security
Django Web Application Security
 
XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?XSS - Do you know EVERYTHING?
XSS - Do you know EVERYTHING?
 
Practical django secuirty
Practical django secuirtyPractical django secuirty
Practical django secuirty
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
 
Two scoops of Django - Security Best Practices
Two scoops of Django - Security Best PracticesTwo scoops of Django - Security Best Practices
Two scoops of Django - Security Best Practices
 
Developer's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web CryptographyDeveloper's Guide to JavaScript and Web Cryptography
Developer's Guide to JavaScript and Web Cryptography
 
Dom based xss
Dom based xssDom based xss
Dom based xss
 
Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015Smart Lock for Password @ Game DevFest Bangkok 2015
Smart Lock for Password @ Game DevFest Bangkok 2015
 

En vedette

Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data SecurityTim Messerschmidt
 
Certificate in Quantity Surveying
Certificate in Quantity Surveying Certificate in Quantity Surveying
Certificate in Quantity Surveying Atul Kumar
 
Expanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program GloballyExpanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program GloballySAP Ariba
 
Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014Software Developers India
 
Silabo Historia de la Arquitectura III 2016-I
Silabo Historia de la Arquitectura III  2016-ISilabo Historia de la Arquitectura III  2016-I
Silabo Historia de la Arquitectura III 2016-IGusstock Concha Flores
 
Keeping software development ecosystem healthy
Keeping software development ecosystem healthyKeeping software development ecosystem healthy
Keeping software development ecosystem healthyDainius Mezanskas
 
Top 5 payment mistakes made by startups
Top 5 payment mistakes made by startupsTop 5 payment mistakes made by startups
Top 5 payment mistakes made by startupsSneha Menon
 
Reactivos completamiento
Reactivos completamientoReactivos completamiento
Reactivos completamientoBanesa Ruiz
 
The Conquest of Canaan
The Conquest of CanaanThe Conquest of Canaan
The Conquest of CanaanTom Richey
 
Pew Research Center 2015 India Presentation
Pew Research Center 2015 India PresentationPew Research Center 2015 India Presentation
Pew Research Center 2015 India PresentationPew Research Center
 
Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsTim Messerschmidt
 
Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)Gusstock Concha Flores
 
Cloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile LogisticsCloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile LogisticsExotel
 
Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...Tom Hood, CPA,CITP,CGMA
 
Internet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and FutureInternet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and FutureLosant
 

En vedette (19)

Node.js Authentication and Data Security
Node.js Authentication and Data SecurityNode.js Authentication and Data Security
Node.js Authentication and Data Security
 
Certificate in Quantity Surveying
Certificate in Quantity Surveying Certificate in Quantity Surveying
Certificate in Quantity Surveying
 
Expanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program GloballyExpanding Your Network Adoption Program Globally
Expanding Your Network Adoption Program Globally
 
Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014Biggest News from Mobile World Congress 2014
Biggest News from Mobile World Congress 2014
 
Silabo Historia de la Arquitectura III 2016-I
Silabo Historia de la Arquitectura III  2016-ISilabo Historia de la Arquitectura III  2016-I
Silabo Historia de la Arquitectura III 2016-I
 
Keeping software development ecosystem healthy
Keeping software development ecosystem healthyKeeping software development ecosystem healthy
Keeping software development ecosystem healthy
 
Top 5 payment mistakes made by startups
Top 5 payment mistakes made by startupsTop 5 payment mistakes made by startups
Top 5 payment mistakes made by startups
 
Reactivos completamiento
Reactivos completamientoReactivos completamiento
Reactivos completamiento
 
Ácidos binarios
Ácidos binariosÁcidos binarios
Ácidos binarios
 
Silabo Taller de Diseño 1 2016-I
Silabo Taller de Diseño 1   2016-ISilabo Taller de Diseño 1   2016-I
Silabo Taller de Diseño 1 2016-I
 
The Conquest of Canaan
The Conquest of CanaanThe Conquest of Canaan
The Conquest of Canaan
 
cv de jeremy dumont
cv de jeremy dumont cv de jeremy dumont
cv de jeremy dumont
 
Pew Research Center 2015 India Presentation
Pew Research Center 2015 India PresentationPew Research Center 2015 India Presentation
Pew Research Center 2015 India Presentation
 
Building a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with BeaconsBuilding a Mobile Location Aware System with Beacons
Building a Mobile Location Aware System with Beacons
 
Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)Plan de clase Taller de Diseño 1 (2015-II)
Plan de clase Taller de Diseño 1 (2015-II)
 
Cloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile LogisticsCloud Communication for E-commerce & Last Mile Logistics
Cloud Communication for E-commerce & Last Mile Logistics
 
Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...Future of Learning - innovative new learning formats for accounting and finan...
Future of Learning - innovative new learning formats for accounting and finan...
 
Javaで和暦と元号
Javaで和暦と元号Javaで和暦と元号
Javaで和暦と元号
 
Internet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and FutureInternet of Things (IoT) Past, Present, and Future
Internet of Things (IoT) Past, Present, and Future
 

Similaire à JSConf Asia: Node.js Authentication and Data Security

Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the WebTim Messerschmidt
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by defaultSlawomir Jasek
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by defaultSecuRing
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code HardeningOdoo
 
Scout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicagoScout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicagoknaddison
 
Application Security
Application SecurityApplication Security
Application Securityflorinc
 
Content-Security-Policy 2018.0
Content-Security-Policy 2018.0Content-Security-Policy 2018.0
Content-Security-Policy 2018.0Philippe Gamache
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...Fedir RYKHTIK
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Remy Sharp
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02PL dream
 
Application Security for RIAs
Application Security for RIAsApplication Security for RIAs
Application Security for RIAsjohnwilander
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure codingHaitham Raik
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxFernandoVizer
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Balázs Tatár
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...DicodingEvent
 
Application Security around OWASP Top 10
Application Security around OWASP Top 10Application Security around OWASP Top 10
Application Security around OWASP Top 10Sastry Tumuluri
 
Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013Sébastien Deleuze
 
Evolution Of Web Security
Evolution Of Web SecurityEvolution Of Web Security
Evolution Of Web SecurityChris Shiflett
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceLeonardo Balter
 
ModemFrontEndops
ModemFrontEndopsModemFrontEndops
ModemFrontEndopsmicrobean
 

Similaire à JSConf Asia: Node.js Authentication and Data Security (20)

Expanding APIs beyond the Web
Expanding APIs beyond the WebExpanding APIs beyond the Web
Expanding APIs beyond the Web
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Applications secure by default
Applications secure by defaultApplications secure by default
Applications secure by default
 
Security: Odoo Code Hardening
Security: Odoo Code HardeningSecurity: Odoo Code Hardening
Security: Odoo Code Hardening
 
Scout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicagoScout xss csrf_security_presentation_chicago
Scout xss csrf_security_presentation_chicago
 
Application Security
Application SecurityApplication Security
Application Security
 
Content-Security-Policy 2018.0
Content-Security-Policy 2018.0Content-Security-Policy 2018.0
Content-Security-Policy 2018.0
 
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 DDD17 - Web Applications Automated Security Testing in a Continuous Delivery... DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
DDD17 - Web Applications Automated Security Testing in a Continuous Delivery...
 
Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)Is HTML5 Ready? (workshop)
Is HTML5 Ready? (workshop)
 
Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02Is html5-ready-workshop-110727181512-phpapp02
Is html5-ready-workshop-110727181512-phpapp02
 
Application Security for RIAs
Application Security for RIAsApplication Security for RIAs
Application Security for RIAs
 
PCI Security Requirements - secure coding
PCI Security Requirements - secure codingPCI Security Requirements - secure coding
PCI Security Requirements - secure coding
 
OWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptxOWASP_Top_Ten_Proactive_Controls_v2.pptx
OWASP_Top_Ten_Proactive_Controls_v2.pptx
 
Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019Let's write secure Drupal code! - DrupalCamp London 2019
Let's write secure Drupal code! - DrupalCamp London 2019
 
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
Dicoding Developer Coaching #37: Android | Kesalahan yang Sering Terjadi pada...
 
Application Security around OWASP Top 10
Application Security around OWASP Top 10Application Security around OWASP Top 10
Application Security around OWASP Top 10
 
Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013Dart : one language to rule them all - MixIT 2013
Dart : one language to rule them all - MixIT 2013
 
Evolution Of Web Security
Evolution Of Web SecurityEvolution Of Web Security
Evolution Of Web Security
 
Guia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open SourceGuia de Sobrevivência JS no mundo Open Source
Guia de Sobrevivência JS no mundo Open Source
 
ModemFrontEndops
ModemFrontEndopsModemFrontEndops
ModemFrontEndops
 

Plus de Tim Messerschmidt

Plus de Tim Messerschmidt (7)

HackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for HackersHackconEU: Hackathons are for Hackers
HackconEU: Hackathons are for Hackers
 
The Anatomy of Invisible Apps
The Anatomy of Invisible AppsThe Anatomy of Invisible Apps
The Anatomy of Invisible Apps
 
Death to Passwords SXSW 15
Death to Passwords SXSW 15Death to Passwords SXSW 15
Death to Passwords SXSW 15
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
Kraken at DevCon TLV
Kraken at DevCon TLVKraken at DevCon TLV
Kraken at DevCon TLV
 
SETapp Präsentation
SETapp PräsentationSETapp Präsentation
SETapp Präsentation
 

Dernier

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Dernier (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

JSConf Asia: Node.js Authentication and Data Security