SlideShare a Scribd company logo
1 of 15
@chwenz
Christian Wenz
CONFOO 2019
10X More Secure with
Content Security Policy
Same Origin Policy
http://example.com:80/page.php
http://example.com/script.js
https://code.jquery.com/
jquery-x.y.z.min.js
Protocol
Domain
Port
http://example.com:80/page.php
A policy language used to declare a set of content
restrictions for a web resource
Content Security Policy
Content Security Policy 1.0
https://www.w3.org/TR/CSP1/
W3C Working Group Note, 19 Feb 2015
Content Security Policy Level 2
https://www.w3.org/TR/CSP2/
W3C Recommendation, 15 Dec 2016
Content Security Policy Level 3
https://www.w3.org/TR/CSP3/
W3C Working Draft, 15 Oct 2016
Content Security Policy Versions
Demo
Our Enterprise Application
Content-Security-Policy:
default-src
'self';
 HTTP header name
 Directive
 Value
Directives
default-src
script-src object-src style-src img-src
media-src frame-src font-src connect-src
report-uri
http://www.example.com:80http:
'unsafe-eval''unsafe-inline''self'
Directive Values
Demo
Directives in action
Effects on JavaScript Code
Inline JavaScript code
JavaScript code from external domains
JavaScript code that uses eval()
script-src 'self' 'nonce-abc123' script-src 'self' 'sha256-
6e11c72f7cf6bc383152dd16ddd5903aba6b
b1c99d6b6639a4bb0b838185fa92'
Re-Enabeling Inline
script-srchttps://connect.facebook.nethttps://cm.g.doubleclick.nethttps://ssl.google-analytics.comhttps://graph.facebook.comhttps://twitter.com'unsafe-eval'https://*.twimg.com
https://api.twitter.com'nonce-u84pe27B+YIJtQbHZZr8Dw=='https://analytics.twitter.comhttps://publish.twitter.comhttps://ton.twitter.comhttps://syndication.twitter.com
https://www.google.comhttps://t.tellapart.comhttps://platform.twitter.comhttps://www.google-analytics.com'self';frame-ancestors'self';font-srchttps://twitter.comhttps://*.twimg.comdata:
https://ton.twitter.comhttps://fonts.gstatic.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';media-srchttps://twitter.comhttps://*.twimg.comhttps://ton.twitter.com
blob:'self';connect-srchttps://graph.facebook.comhttps://*.giphy.comhttps://*.twimg.comhttps://api.twitter.comhttps://pay.twitter.comhttps://analytics.twitter.comhttps://*.twprobe.net
https://media.riffsy.comhttps://embed.periscope.tvhttps://upload.twitter.com'self';style-srchttps://fonts.googleapis.comhttps://twitter.comhttps://*.twimg.comhttps://translate.googleapis.com
https://ton.twitter.com'unsafe-inline'https://platform.twitter.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';object-srchttps://twitter.comhttps://pbs.twimg.com;
default-src'self';frame-srchttps://staticxx.facebook.comhttps://twitter.comhttps://*.twimg.comhttps://5415703.fls.doubleclick.nethttps://player.vimeo.comhttps://pay.twitter.com
https://www.facebook.comhttps://ton.twitter.comhttps://syndication.twitter.comhttps://vine.co twitter:https://www.youtube.comhttps://platform.twitter.comhttps://upload.twitter.com
https://s-static.ak.facebook.comhttps://4337974.fls.doubleclick.net'self'https://donate.twitter.com;img-srchttps://graph.facebook.comhttps://*.giphy.comhttps://twitter.comhttps://*.twimg.com
https://ad.doubleclick.netdata:https://lumiere-a.akamaihd.nethttps://fbcdn-profile-a.akamaihd.nethttps://www.facebook.comhttps://ton.twitter.comhttps://*.fbcdn.net
https://syndication.twitter.comhttps://media.riffsy.comhttps://www.google.comhttps://stats.g.doubleclick.nethttps://api.mapbox.comhttps://www.google-analytics.comblob:'self';report-uri
https://twitter.com/i/csp_report?a=NVQWGYLXFVZXO2LGOQ%3D%3D%3D%3D%3D%3D&ro=false;
Twitter´s Content Security Policy
script-srchttps://connect.facebook.nethttps://cm.g.doubleclick.nethttps://ssl.google-analytics.comhttps://graph.facebook.comhttps://twitter.com'unsafe-eval'https://*.twimg.com
https://api.twitter.com'nonce-u84pe27B+YIJtQbHZZr8Dw=='https://analytics.twitter.comhttps://publish.twitter.comhttps://ton.twitter.comhttps://syndication.twitter.com
https://www.google.comhttps://t.tellapart.comhttps://platform.twitter.comhttps://www.google-analytics.com'self';frame-ancestors'self';font-srchttps://twitter.comhttps://*.twimg.comdata:
https://ton.twitter.comhttps://fonts.gstatic.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';media-srchttps://twitter.comhttps://*.twimg.comhttps://ton.twitter.com
blob:'self';connect-srchttps://graph.facebook.comhttps://*.giphy.comhttps://*.twimg.comhttps://api.twitter.comhttps://pay.twitter.comhttps://analytics.twitter.comhttps://*.twprobe.net
https://media.riffsy.comhttps://embed.periscope.tvhttps://upload.twitter.com'self';style-srchttps://fonts.googleapis.comhttps://twitter.comhttps://*.twimg.comhttps://translate.googleapis.com
https://ton.twitter.com'unsafe-inline'https://platform.twitter.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';object-srchttps://twitter.comhttps://pbs.twimg.com;
default-src'self';frame-srchttps://staticxx.facebook.comhttps://twitter.comhttps://*.twimg.comhttps://5415703.fls.doubleclick.nethttps://player.vimeo.comhttps://pay.twitter.com
https://www.facebook.comhttps://ton.twitter.comhttps://syndication.twitter.comhttps://vine.co twitter:https://www.youtube.comhttps://platform.twitter.comhttps://upload.twitter.com
https://s-static.ak.facebook.comhttps://4337974.fls.doubleclick.net'self'https://donate.twitter.com;img-srchttps://graph.facebook.comhttps://*.giphy.comhttps://twitter.comhttps://*.twimg.com
https://ad.doubleclick.netdata:https://lumiere-a.akamaihd.nethttps://fbcdn-profile-a.akamaihd.nethttps://www.facebook.comhttps://ton.twitter.comhttps://*.fbcdn.net
https://syndication.twitter.comhttps://media.riffsy.comhttps://www.google.comhttps://stats.g.doubleclick.nethttps://api.mapbox.comhttps://www.google-analytics.comblob:'self';report-uri
https://twitter.com/i/csp_report?a=NVQWGYLXFVZXO2LGOQ%3D%3D%3D%3D%3D%3D&ro=false;
script-srchttps://connect.facebook.nethttps://cm.g.doubleclick.nethttps://ssl.google-analytics.comhttps://graph.facebook.comhttps://twitter.com'unsafe-eval'https://*.twimg.com
https://api.twitter.com'nonce-u84pe27B+YIJtQbHZZr8Dw=='https://analytics.twitter.comhttps://publish.twitter.comhttps://ton.twitter.comhttps://syndication.twitter.com
https://www.google.comhttps://t.tellapart.comhttps://platform.twitter.comhttps://www.google-analytics.com'self';frame-ancestors'self';font-srchttps://twitter.comhttps://*.twimg.comdata:
https://ton.twitter.comhttps://fonts.gstatic.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';media-srchttps://twitter.comhttps://*.twimg.comhttps://ton.twitter.com
blob:'self';connect-srchttps://graph.facebook.comhttps://*.giphy.comhttps://*.twimg.comhttps://api.twitter.comhttps://pay.twitter.comhttps://analytics.twitter.comhttps://*.twprobe.net
https://media.riffsy.comhttps://embed.periscope.tvhttps://upload.twitter.com'self';style-srchttps://fonts.googleapis.comhttps://twitter.comhttps://*.twimg.comhttps://translate.googleapis.com
https://ton.twitter.com'unsafe-inline'https://platform.twitter.comhttps://maxcdn.bootstrapcdn.comhttps://netdna.bootstrapcdn.com'self';object-srchttps://twitter.comhttps://pbs.twimg.com;
default-src'self';frame-srchttps://staticxx.facebook.comhttps://twitter.comhttps://*.twimg.comhttps://5415703.fls.doubleclick.nethttps://player.vimeo.comhttps://pay.twitter.com
https://www.facebook.comhttps://ton.twitter.comhttps://syndication.twitter.comhttps://vine.co twitter:https://www.youtube.comhttps://platform.twitter.comhttps://upload.twitter.com
https://s-static.ak.facebook.comhttps://4337974.fls.doubleclick.net'self'https://donate.twitter.com;img-srchttps://graph.facebook.comhttps://*.giphy.comhttps://twitter.comhttps://*.twimg.com
https://ad.doubleclick.netdata:https://lumiere-a.akamaihd.nethttps://fbcdn-profile-a.akamaihd.nethttps://www.facebook.comhttps://ton.twitter.comhttps://*.fbcdn.net
https://syndication.twitter.comhttps://media.riffsy.comhttps://www.google.comhttps://stats.g.doubleclick.nethttps://api.mapbox.comhttps://www.google-analytics.comblob:'self';report-uri
https://twitter.com/i/csp_report?a=NVQWGYLXFVZXO2LGOQ%3D%3D%3D%3D%3D%3D&ro=false;
“The Content-Security-Policy-Report-Only
header field lets servers experiment with
policies by monitoring (rather than
enforcing) a policy.”
Content Security Policy Level 2 W3C Recommendation
CSP Bypass
Loading content from a CSP-listed domain
Create an iframe, load an external script
Tricking the XSS Auditor in Edge (fixed!)
@chwenz
info@christianwenz.de
Thank You!

More Related Content

Similar to 10X More Secure with Content Security Policy

W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
Brad Hill
 

Similar to 10X More Secure with Content Security Policy (20)

Let's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a CertificateLet's go HTTPS-only! - More Than Buying a Certificate
Let's go HTTPS-only! - More Than Buying a Certificate
 
Future of Web Security Opened up by CSP
Future of Web Security Opened up by CSPFuture of Web Security Opened up by CSP
Future of Web Security Opened up by CSP
 
HTTP_Header_Security.pdf
HTTP_Header_Security.pdfHTTP_Header_Security.pdf
HTTP_Header_Security.pdf
 
Content security policy
Content security policyContent security policy
Content security policy
 
Content Security Policy (CSP)
Content Security Policy (CSP)Content Security Policy (CSP)
Content Security Policy (CSP)
 
W3 conf hill-html5-security-realities
W3 conf hill-html5-security-realitiesW3 conf hill-html5-security-realities
W3 conf hill-html5-security-realities
 
Ignite content security policy
Ignite content security policyIgnite content security policy
Ignite content security policy
 
Analysis of HTTP Security Headers in Turkey
Analysis of HTTP Security Headers in TurkeyAnalysis of HTTP Security Headers in Turkey
Analysis of HTTP Security Headers in Turkey
 
Csp july2015
Csp july2015Csp july2015
Csp july2015
 
Content Security Policy - Lessons learned at Yahoo
Content Security Policy - Lessons learned at YahooContent Security Policy - Lessons learned at Yahoo
Content Security Policy - Lessons learned at Yahoo
 
http security response headers for web security
http security response headers for web securityhttp security response headers for web security
http security response headers for web security
 
Rails security: above and beyond the defaults
Rails security: above and beyond the defaultsRails security: above and beyond the defaults
Rails security: above and beyond the defaults
 
Chrome Extensions for Web Hackers
Chrome Extensions for Web HackersChrome Extensions for Web Hackers
Chrome Extensions for Web Hackers
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
 
Starting Up a Cost-Free Library Portal for Small-funded Libraries
Starting Up a Cost-Free Library Portal for Small-funded LibrariesStarting Up a Cost-Free Library Portal for Small-funded Libraries
Starting Up a Cost-Free Library Portal for Small-funded Libraries
 
Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008Top Ten Web Hacking Techniques – 2008
Top Ten Web Hacking Techniques – 2008
 
WebAppSec Updates from W3C
WebAppSec Updates from W3CWebAppSec Updates from W3C
WebAppSec Updates from W3C
 
IWMW 2003: C7 Bandwidth Management Techniques: Technical And Policy Issues
IWMW 2003: C7 Bandwidth Management Techniques: Technical And Policy IssuesIWMW 2003: C7 Bandwidth Management Techniques: Technical And Policy Issues
IWMW 2003: C7 Bandwidth Management Techniques: Technical And Policy Issues
 
Owasp web application security trends
Owasp web application security trendsOwasp web application security trends
Owasp web application security trends
 

Recently uploaded

Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
Diya Sharma
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Sheetaleventcompany
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
anilsa9823
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
ellan12
 

Recently uploaded (20)

VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
@9999965857 🫦 Sexy Desi Call Girls Laxmi Nagar 💓 High Profile Escorts Delhi 🫶
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service OnlineCALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
CALL ON ➥8923113531 🔝Call Girls Lucknow Lucknow best sexual service Online
 
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptxAWS Community DAY Albertini-Ellan Cloud Security (1).pptx
AWS Community DAY Albertini-Ellan Cloud Security (1).pptx
 

10X More Secure with Content Security Policy