HTML Binary Hacks - GIF89a Polyglot - Cybozu Labs, Inc. TAKESAKO <takesako@shibuya.pm.prg>
I’ll show you,  HTML 2.0 hacks.
1.0 HTML Browser Detection
HTML 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)
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...

print<<EOF; <img /src x00 =&quot;ie.gif&quot; /''src x00 =&quot;firefox1_5.gif&quot; /''src=&quot;firefox2_0.gif&quot; /&q...
http://wafful.org Demo
 
It can detect “Konqueror”, “Safari2” !
No JavaScript & No CSS hacks
lynx
w3m
Mozilla/5.0 (PLAYSTATION 3; 1.00)    others.gif

1.0 The End
2.0 GIF89a Polyglot
Animation GIF image  Yappoc.gif
どう見ても Yappo です 本当にありがとう ございました(ry
Polyglot DEMO HTML/CSS & JS & Perl & GIF89a
JavaScript in GIF GIF89a( q /*....../);sub GIF89a{print &quot;Hello Perl!&quot;} __END__#*/ =1 );function GIF89a(){alert(&...
HTML/CSS in GIF GIF89a(q/*....../);sub GIF89a{print &quot;Hello Perl!&quot;} __END__#*/=1);function GIF89a(){alert(&quot;H...
Perl in GIF GIF89a(q /*....../ );sub GIF89a{print &quot;Hello Perl!&quot;} __END__ #*/=1);function GIF89a(){alert(&quot;He...
Demo
 
 
Thank you
Upcoming SlideShare
Loading in …5
×

HTML Binary Hacks & GIF89a Ployglot

8,420 views
8,130 views

Published on

http://conferences.yapcasia.org/ya2008/talk/1299

1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
8,420
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
38
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

HTML Binary Hacks & GIF89a Ployglot

  1. 1. HTML Binary Hacks - GIF89a Polyglot - Cybozu Labs, Inc. TAKESAKO <takesako@shibuya.pm.prg>
  2. 2. I’ll show you, HTML 2.0 hacks.
  3. 3. 1.0 HTML Browser Detection
  4. 4. HTML 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)
  5. 5. 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
  6. 6.
  7. 7. print<<EOF; <img /src x00 =&quot;ie.gif&quot; /''src x00 =&quot;firefox1_5.gif&quot; /''src=&quot;firefox2_0.gif&quot; /&quot;&quot;src=&quot;gecko_others.gif&quot; &quot;s x00 rc=&quot;safari2.gif&quot; &quot;src=&quot;safari3.gif&quot; &quot;&quot;src=&quot;konqueror.gif&quot; src x00 =&quot;w3m.gif&quot; src x0c =&quot;opera.gif&quot; src=&quot;others.gif&quot; src=&quot;lynx.gif&quot; /> EOF
  8. 8. http://wafful.org Demo
  9. 10. It can detect “Konqueror”, “Safari2” !
  10. 11. No JavaScript & No CSS hacks
  11. 12. lynx
  12. 13. w3m
  13. 14. Mozilla/5.0 (PLAYSTATION 3; 1.00)  others.gif
  14. 15.
  15. 16. 1.0 The End
  16. 17. 2.0 GIF89a Polyglot
  17. 18. Animation GIF image Yappoc.gif
  18. 19. どう見ても Yappo です 本当にありがとう ございました(ry
  19. 20. Polyglot DEMO HTML/CSS & JS & Perl & GIF89a
  20. 21. JavaScript in GIF GIF89a( q /*....../);sub GIF89a{print &quot;Hello Perl!&quot;} __END__#*/ =1 );function GIF89a(){alert(&quot;Hello JavaScrpt!&quot;)} /*<body style=visibility:hidden> <div style=position:relative;visibility:visible> <h1>Hello HTML!</h1><!-- ................................................ ................................................ ................................................ ................................................ --><img src=?> <script src=# language=JavaScript></script></div> */ // ;
  21. 22. HTML/CSS in GIF GIF89a(q/*....../);sub GIF89a{print &quot;Hello Perl!&quot;} __END__#*/=1);function GIF89a(){alert(&quot;Hello JavaScrpt!&quot;)} /* <body style=visibility:hidden> <div style=position:relative;visibility:visible> <h1>Hello HTML!</h1> <!-- ................................................ ................................................ ................................................ ................................................ --> <img src=?> <script src=# language=JavaScript></script> </div> */// ;
  22. 23. Perl in GIF GIF89a(q /*....../ );sub GIF89a{print &quot;Hello Perl!&quot;} __END__ #*/=1);function GIF89a(){alert(&quot;Hello JavaScrpt!&quot;)} /*<body style=visibility:hidden> <div style=position:relative;visibility:visible> <h1>Hello HTML!</h1><!-- ................................................ ................................................ ................................................ ................................................ --><img src=?> <script src=# language=JavaScript></script></div> */// ;
  23. 24. Demo
  24. 27. Thank you

×