SlideShare a Scribd company logo
1 of 45
Download to read offline
nishimu-lla-makko
(nishimunea + @llamakko_cafe)
THREAT OF DATA URL SCHEME
THEY ARE STILL HERE
nishimunea (cv: Muneaki Nishimura)
Weekend Bug Hunter
Lecturer of Security Camp 2014-2015
llamakko (@llamakko_cafe)
Apprentice Bug Hunter
Graduate of Security Camp 2014 (Web Security)
The "data" URL Scheme
RFC 2397 (1998)
data:image/png;base64,
iVBORw0KGgoAAAANS
UhEUgAAAZAAAAGQCA
YAAACAvzbMAAAgAElE
QVR4nOydZ3wUVRfGJ8
mm103vvZfNplEURF5E
UFHpSBNpihRRikpTQAT
pSE3oIEVUREEBaSpFR…
HTML document with data: was
introduced by Netscape 4 (1997)
But completely useless
except for exploit or notepad
google.com
Generate
Generate
evil.tld
data:
data:
RFC doesn't mention how a browser
should set the origin of data:
HOW DOES IT REALLY WORK
ON EACH BROWSER?
AVTOKYO2015Nov 14, 2015 1
The differences in
behavior of data: URL
among web browsers
The differences in
behavior of data: URL
among web browsers
Major browsersMajor browsers
AVTOKYO2015Nov 14, 2015 2
Internet ExplorerInternet Explorer
AVTOKYO2015Nov 14, 2015 3
IE cannot open data:text/html
AVTOKYO2015Nov 14, 2015 4
The data: URLs can be used only for following
elements and attributes
 object
 img
 input type=image
 link
 CSS properties that accept URL as a value
(e.g., background, background-image and etc.)
AVTOKYO2015Nov 14, 2015 5
IE cannot open data:text/html
↑ Firefox ↑ Chrome
<iframe src=”data:text/html,test”></iframe>
AVTOKYO2015Nov 14, 2015 6
Other web browsers
FirefoxFirefox
AVTOKYO2015Nov 14, 2015 7
 In Firefox, content from data: URLs inherits the
origin from the document that loaded the URL in
an iframe and etc.
AVTOKYO2015Nov 14, 2015 8
Inherits the origin from the opener
AVTOKYO2015Nov 14, 2015 9
DEMODEMO
 Its behavior is sometimes completely different
among browsers
 Potential vulnerabilities introduced by such
'self-indulgent' implementations
 Corresponding spec is often not disclosed
AVTOKYO2015Nov 14, 2015 12
data: URL is messy
Unuseful behavior of
data: URLs
Unuseful behavior of
data: URLs
AVTOKYO2015Nov 14, 2015 13
Browser: Firefox
AVTOKYO2015Nov 14, 2015 14
data: URL can be used as
a bookmarklet
data: URL can be used as
a bookmarklet
AVTOKYO2015Nov 14, 2015 15
DEMODEMO
Browser: Chrome, Safari (iOS)
AVTOKYO2015Nov 14, 2015 16
The differences in MIME type
of data: URL
The differences in MIME type
of data: URL
The differences in MIME type of
data: URL
data:application/octet-stream,test
AVTOKYO2015Nov 14, 2015 17
The differences in MIME type of
data: URL
data:application/octet-stream,test
AVTOKYO2015Nov 14, 2015 18
data:application/octet-strea,test
The differences in MIME type of
data: URL
AVTOKYO2015Nov 14, 2015 19
AVTOKYO2015
At the end
Nov 14, 2015 20
At the end
AVTOKYO2015Nov 14, 2015 21
What's going on…
ABUSING DATA:
自重版 (Prudence Edition)
Cross-site data leakage by blob:
(CVE-2015-6759) on Chrome
blob: URL
var text = "<h1>Hello</h1>"
var blob = new Blob([text], {type : 'text/html'});
var url = URL.createObjectURL(blob);
Origin in blob: URL can be 'null'
Origin in blob: URL can be 'null'
http:
Generate
data: blob:
Generate
Origin in blob: URL can be 'null'
http:
Generate
data: blob:
Generate
file:
Generate
blob:
blob: pages made by data:
could steal localStorage of file:
http:
Generate
data: blob:
Generate
file:
localStorage
Steal from the internet
CENSORED
CENSORED
CENSORED
CENSORED
CENSORED
CENSORED
CENSORED
Threat of data: (may) repeats itself
We ought to reconsider
documents with data: are really demanded

More Related Content

Similar to [AVTOKYO2015] THREAT OF DATA URL SCHEME THEY ARE STILL HERE

Processing Twitter Stream with Oracle Event Processing (OEP)
Processing Twitter Stream with Oracle Event Processing (OEP)Processing Twitter Stream with Oracle Event Processing (OEP)
Processing Twitter Stream with Oracle Event Processing (OEP)Trivadis
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Sammy Fung
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Stephen Thair
 
Swiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router FlagsSwiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router FlagsDigicomp Academy AG
 
How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)Sammy Fung
 
Konvensyen Webmaster Negeri Sabah 2013
Konvensyen Webmaster Negeri Sabah 2013Konvensyen Webmaster Negeri Sabah 2013
Konvensyen Webmaster Negeri Sabah 2013edthix
 
20150909_cybercrime_cybersecurity_minor
20150909_cybercrime_cybersecurity_minor20150909_cybercrime_cybersecurity_minor
20150909_cybercrime_cybersecurity_minorUniversity of Twente
 
HoneyPy & HoneyDB (CarolinaCon 13)
HoneyPy & HoneyDB (CarolinaCon 13)HoneyPy & HoneyDB (CarolinaCon 13)
HoneyPy & HoneyDB (CarolinaCon 13)Phillip Maddux
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYStephen Thair
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Philip Tellis
 
Config Management and Data Service Deep Dive
Config Management and Data Service Deep DiveConfig Management and Data Service Deep Dive
Config Management and Data Service Deep DiveCristina Vidu
 
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.Digital devices as one of my 2015-2016 lectures at the University of Bergamo.
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.Roberto Peretta
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?Andy Davies
 
Pivotal - Advanced Analytics for Telecommunications
Pivotal - Advanced Analytics for Telecommunications Pivotal - Advanced Analytics for Telecommunications
Pivotal - Advanced Analytics for Telecommunications Hortonworks
 
Testing IoT Apps with the Cloud
Testing IoT Apps with the CloudTesting IoT Apps with the Cloud
Testing IoT Apps with the CloudJosiah Renaudin
 
Storage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStorage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStephanie Donahue
 
Detecting Spoofing at IXPs
Detecting Spoofing at IXPsDetecting Spoofing at IXPs
Detecting Spoofing at IXPsAPNIC
 
Detecting spoofing at IxP's
Detecting spoofing at IxP'sDetecting spoofing at IxP's
Detecting spoofing at IxP'sTom Paseka
 
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Cloudera, Inc.
 
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12c
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12cProcessing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12c
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12cGuido Schmutz
 

Similar to [AVTOKYO2015] THREAT OF DATA URL SCHEME THEY ARE STILL HERE (20)

Processing Twitter Stream with Oracle Event Processing (OEP)
Processing Twitter Stream with Oracle Event Processing (OEP)Processing Twitter Stream with Oracle Event Processing (OEP)
Processing Twitter Stream with Oracle Event Processing (OEP)
 
Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)Creating Open Data with Open Source (beta2)
Creating Open Data with Open Source (beta2)
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
 
Swiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router FlagsSwiss IPv6 Council: Konfusion um die Router Flags
Swiss IPv6 Council: Konfusion um die Router Flags
 
How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)How do we develop open source software to help open data ? (MOSC 2013)
How do we develop open source software to help open data ? (MOSC 2013)
 
Konvensyen Webmaster Negeri Sabah 2013
Konvensyen Webmaster Negeri Sabah 2013Konvensyen Webmaster Negeri Sabah 2013
Konvensyen Webmaster Negeri Sabah 2013
 
20150909_cybercrime_cybersecurity_minor
20150909_cybercrime_cybersecurity_minor20150909_cybercrime_cybersecurity_minor
20150909_cybercrime_cybersecurity_minor
 
HoneyPy & HoneyDB (CarolinaCon 13)
HoneyPy & HoneyDB (CarolinaCon 13)HoneyPy & HoneyDB (CarolinaCon 13)
HoneyPy & HoneyDB (CarolinaCon 13)
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
 
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
Frontend Performance: Beginner to Expert to Crazy Person (San Diego Web Perf ...
 
Config Management and Data Service Deep Dive
Config Management and Data Service Deep DiveConfig Management and Data Service Deep Dive
Config Management and Data Service Deep Dive
 
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.Digital devices as one of my 2015-2016 lectures at the University of Bergamo.
Digital devices as one of my 2015-2016 lectures at the University of Bergamo.
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Pivotal - Advanced Analytics for Telecommunications
Pivotal - Advanced Analytics for Telecommunications Pivotal - Advanced Analytics for Telecommunications
Pivotal - Advanced Analytics for Telecommunications
 
Testing IoT Apps with the Cloud
Testing IoT Apps with the CloudTesting IoT Apps with the Cloud
Testing IoT Apps with the Cloud
 
Storage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud StorageStorage Wars: A discussion about Enterprise Cloud Storage
Storage Wars: A discussion about Enterprise Cloud Storage
 
Detecting Spoofing at IXPs
Detecting Spoofing at IXPsDetecting Spoofing at IXPs
Detecting Spoofing at IXPs
 
Detecting spoofing at IxP's
Detecting spoofing at IxP'sDetecting spoofing at IxP's
Detecting spoofing at IxP's
 
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
Hadoop World 2011: Building a Model of Organic Link Traffic - Michael Dewar -...
 
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12c
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12cProcessing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12c
Processing Twitter Events in Real-Time with Oracle Event Processing (OEP) 12c
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"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...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 

[AVTOKYO2015] THREAT OF DATA URL SCHEME THEY ARE STILL HERE