html binary hacks & gif89a ployglot
DESCRIPTION
http://conferences.yapcasia.org/ya2008/talk/1299TRANSCRIPT
![Page 1: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/1.jpg)
HTML Binary Hacks- GIF89a Polyglot -HTML Binary Hacks- GIF89a Polyglot -
Cybozu Labs, Inc.TAKESAKO
![Page 2: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/2.jpg)
2
I’ll show you, HTML 2.0
hacks.
I’ll show you, HTML 2.0
hacks.
![Page 3: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/3.jpg)
3
1.0HTML Browser
Detection
![Page 4: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/4.jpg)
4
HTML QuizHTML Quiz
<img src=”1.gif” src=”2.gif”>
(1) 1.gif
(2) 2.gif
(3) N/A
Answers.
Q1. What will you see? (on your browser)
![Page 5: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/5.jpg)
5
Q2. What’s this?Q2. What’s this?
<img /src = ”1.gif” ””src{\x00} = ”2.gif” ’src{\x0c} = ”3.gif” src = ”4.gif”/>
(1) 1.gif
(2) 2.gif
(3) 3.gif
(4) 4.gif
Answers.
→ ie→ Safari→ firefox→ others
![Page 6: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/6.jpg)
6
![Page 7: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/7.jpg)
7
print<<EOF;<img /src\x00="ie.gif" /''src\x00="firefox1_5.gif" /''src="firefox2_0.gif" /""src="gecko_others.gif" "s\x00rc="safari2.gif" "src="safari3.gif" ""src="konqueror.gif" src\x00="w3m.gif" src\x0c="opera.gif" src="others.gif" src="lynx.gif"/>EOF
![Page 8: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/8.jpg)
http://wafful.org
Demo
![Page 9: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/9.jpg)
9
![Page 10: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/10.jpg)
10
It can detect “Konqueror”, “Safari2” !
![Page 11: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/11.jpg)
11
No JavaScript&
No CSS hacks
![Page 12: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/12.jpg)
12
lynx
![Page 13: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/13.jpg)
13
w3m
![Page 14: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/14.jpg)
14
Mozilla/5.0 (PLAYSTATION 3; 1.00)
others.gif
![Page 15: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/15.jpg)
15
![Page 16: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/16.jpg)
16
1.0TheEnd
![Page 17: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/17.jpg)
17
2.0GIF89aPolyglot
![Page 18: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/18.jpg)
18
Animation GIF image
Yappoc.gif
![Page 19: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/19.jpg)
19
どう見てもYappo です
本当にありがとうございました(ry
![Page 20: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/20.jpg)
20
Polyglot DEMO
HTML/CSS & JS & Perl & GIF89a
![Page 21: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/21.jpg)
21
JavaScript in GIFJavaScript in GIF
GIF89a(q/*....../);sub GIF89a{print "Hello Perl!"}
__END__#*/=1);function GIF89a(){alert("Hello JavaScrpt!")}
/*<body style=visibility:hidden>
<div style=position:relative;visibility:visible>
<h1>Hello HTML!</h1><!--
................................................
................................................
................................................
................................................
--><img src=?>
<script src=# language=JavaScript></script></div>
*/// ;
![Page 22: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/22.jpg)
22
HTML/CSS in GIFHTML/CSS in GIF
GIF89a(q/*....../);sub GIF89a{print "Hello Perl!"}
__END__#*/=1);function GIF89a(){alert("Hello JavaScrpt!")}
/*<body style=visibility:hidden>
<div style=position:relative;visibility:visible>
<h1>Hello HTML!</h1><!--
................................................
................................................
................................................
................................................
--><img src=?>
<script src=# language=JavaScript></script></div>
*/// ;
![Page 23: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/23.jpg)
23
Perl in GIFPerl in GIF
GIF89a(q/*....../);sub GIF89a{print "Hello Perl!"}
__END__#*/=1);function GIF89a(){alert("Hello JavaScrpt!")}
/*<body style=visibility:hidden>
<div style=position:relative;visibility:visible>
<h1>Hello HTML!</h1><!--
................................................
................................................
................................................
................................................
--><img src=?>
<script src=# language=JavaScript></script></div>
*/// ;
![Page 24: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/24.jpg)
24
Demo
![Page 25: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/25.jpg)
25
![Page 26: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/26.jpg)
26
![Page 27: HTML Binary Hacks & GIF89a Ployglot](https://reader036.vdocuments.net/reader036/viewer/2022081413/549547e0b47959993a8b456f/html5/thumbnails/27.jpg)
27
Thank you