Analysing and Testing HTML5 Parsers

Total Page:16

File Type:pdf, Size:1020Kb

Analysing and Testing HTML5 Parsers Analysing and testing HTML5 parsers A dissertation submitted to The University of Manchester for the degree of Master of Science in the Faculty of Engineering and Physical Sciences 2015 Jose Carlos Anaya Bolaños School of Computer Science Contents Contents ............................................................................................................................ 2 List of figures ..................................................................................................................... 4 List of tables ...................................................................................................................... 5 Abstract ............................................................................................................................. 6 Declaration ........................................................................................................................ 7 Intellectual property statement ........................................................................................ 8 Acknowledgements ........................................................................................................... 9 The author ....................................................................................................................... 10 1. Introduction ............................................................................................................ 11 1.1 Goal and objectives .......................................................................................... 12 2. Literature review ..................................................................................................... 14 2.1 HTML history .................................................................................................... 14 2.2 The HTML5 parsing process ............................................................................. 16 2.3 Testing HTML5 .................................................................................................. 20 2.4 HTML5 parsing implementations ..................................................................... 22 3. Project architecture ................................................................................................ 25 3.1 Overview ........................................................................................................... 25 3.2 Tasks distribution ............................................................................................. 27 3.3 Project evolution .............................................................................................. 29 4. Project implementation .......................................................................................... 31 4.1 The MScParser .................................................................................................. 31 4.1.1 Architecture .............................................................................................. 31 4.1.2 The custom HTML5 DOM .......................................................................... 33 4.1.3 Challenges ................................................................................................. 36 4.2 The specification tracer .................................................................................... 37 2 4.2.1 Architecture .............................................................................................. 37 4.2.2 Challenges ................................................................................................. 40 4.3 The harness for comparison ............................................................................. 40 4.3.1 The parser adaptors .................................................................................. 41 4.3.2 The script execution .................................................................................. 41 4.3.3 The comparison and report generation .................................................... 42 4.3.4 Challenges ................................................................................................. 47 4.4 The web application ......................................................................................... 49 4.4.1 Architecture .............................................................................................. 50 4.4.2 Parsing and tracing .................................................................................... 51 4.4.3 Comparing outputs ................................................................................... 53 4.4.4 Reviewing reports ..................................................................................... 55 4.4.5 Challenges ................................................................................................. 57 5. Analysis and Results ................................................................................................ 59 5.1 The html5lib test suite coverage ...................................................................... 59 5.2 The MScParser vs. the html5lib test suite ........................................................ 62 5.3 Comparing parsers with the html5lib test suite ............................................... 63 5.4 Tracing the web ................................................................................................ 65 6. Conclusions ............................................................................................................. 68 6.1 Reflection .......................................................................................................... 71 Bibliography .................................................................................................................... 73 3 List of figures Figure 1 – Flow diagram of the HTML5 parsing process (adapted from [13]) ................ 17 Figure 2 – A cycle through the tokenizer to emit a token .............................................. 19 Figure 3 – A cycle through the tree constructor to process an empty string ................. 20 Figure 4 – Overview of the product architecture (adapted from [26]) .......................... 26 Figure 5 – Class diagram of the parser ............................................................................ 32 Figure 6 – Class diagram of the custom HTML5 DOM .................................................... 35 Figure 7 – Class diagram of the specification tracer. ...................................................... 38 Figure 8 – File example of tracerEvents.xml ................................................................... 39 Figure 9 – Comparator flow diagram .............................................................................. 43 Figure 10 – XML report sample ....................................................................................... 45 Figure 11 – Tracer input tab ............................................................................................ 51 Figure 12 – Tracer exclusion tabs .................................................................................... 52 Figure 13 – Tracer output tabs for the input string this is a <b>test .............................. 52 Figure 14 – Input form for the multi-parser comparator tool ........................................ 53 Figure 15 – Comparison details page .............................................................................. 54 Figure 16 - Comparison page displaying differences between outputs ......................... 54 Figure 17 – Format options tab ....................................................................................... 55 Figure 18 – Report class diagram .................................................................................... 56 Figure 19 – Report details page ...................................................................................... 57 Figure 20 – Html5lib tokenizer state tests results .......................................................... 62 Figure 21 – Html5lib tree construction tests results ...................................................... 62 Figure 22 – Insertion modes usage by websites ............................................................. 66 Figure 23 – Tokenizer states usage by websites ............................................................. 67 4 List of tables Table 1 – Most popular HTML5 parsers in Github .......................................................... 24 Table 2 – Participation of the members in the project ................................................... 28 Table 3 – Example of inputs that are HTML5 valid but XML invalid ............................... 34 Table 4 – Example of diff encoding ................................................................................. 46 Table 5 – Code coverage of the tokenizer states by the html5lib test suite .................. 60 Table 6 – Code coverage of the insertion modes by the html5lib test suite .................. 61 Table 7 – Comparison of parsers vs. html5lib expected output ..................................... 64 Table 8 – Tracing details over websites .......................................................................... 65 5 Abstract In its early days, websites only contained plain text and images interlinked. Over time, websites turned to complex web applications offering diverse services such as multimedia streaming, social networking, gaming, etc. HTML parsers have been historically flexible and permissive with the user inputs. Each parser had to define its own way to parse and fix errors but, due to the
Recommended publications
  • Building Native Apps for BB10/Playbook for Ios Developers
    Building native apps for BB10/PlayBook for iOS developers Ranbijay Kumar & Prakash Sainani Developer Relations – Research In Motion BlackBerry 10 SDKs Java ActionScript C/C++ C++/Qt HTML5 BlackBerry ® Android ™ ™ Adobe ® AIR ® Native SDK Cascades WebWorks Runtime Architecture Native & HTML5 Apps Android Apps Adobe AIR Apps HTML/CSS Open GL Java Action Script Cascades QML JavaScript Open AL .apk .swf WebKit JavaScript C++ C/C++ Android Runtime AIR Runtime Platform APIs Qt C++ C/C++ Network Storage Audio/Video Graphics Push i18n … QNX Kernel BlackBerry 10 Foundations Platform APIs & Core PackagesApplications Android Native Web AIR Player Runtime Runtime Runtime Application BBM™ Application Payment Advertising Push Data Notification Phone Calendar Infrastructure Service Platform Invocation Share Analytics Contacts Messages Tasks … Configuration Cascades Search Config Balance Backup / Lifecycle Utilities i18n Instrument n … Restore System Service Authenticatio Navigator Installer Launcher Multimedia SQLite NFC n Window WebKit Protocols Network DRM Crypto … Manager OSOS Memory Process Power Device IPC File System … Management Management Management Drivers The Platforms iOS BB10 UIKit Cascades / QML Application Frameworks Webkit Application Frameworks [Maps, Message …] [Qt, Maps, PIM, Share …] Graphics and Audio Graphics and Audio Core Services Core Services (/BPS) iOS (Kernel) & Drivers Posix BB10 (QNX micro-kernel) & Drivers Types of Apps iOS BB10 Native Native (Objective C and Cocoa Touch (C/C++, QML, Cascades, UIKit , OpenGL) OpenGL) Web Apps Web Apps Native with Webview Native with Webview PhoneGap… WebWorks, PhoneGap… Native and Web Apps in BB10 C/C++ is used widely due to it’s portability. It’s a true cross-platform language (combined with POSIX) Enables Lots of BB10 Open Source Frameworks iOS can also run C/C++ apps (Objective-C++).
    [Show full text]
  • Next Media Deliverable Template
    WP 1 AND EREADING AND D 1.1.4.1 STATE-OF-THE-ART-STANDARDS Deliverable number 1.1.4.1 State-of-the art, html5-standard Author(s): Olli Nurmi Confidentiality: Public Date and status: 7.9.2011 - Status: Version 1.0 This work was supported by TEKES as part of the next Media programme of TIVIT (Finnish Strategic Centre for Science, Technology and Innovation in the field of ICT) Next Media - a Tivit Programme Phase 2 (1.1-31.12.2011) Version history: Version Date State Author(s) OR Remarks (draft/ /update/ final) Editor/Contributors 0.9 30.6.2011 draft Olli Nurmi 1.0 1.9.2011 update Olli Nurmi 1.1 28.9.2011 final Olli Nurmi 1.2 4.10.2011 final Olli Nurmi Issues about Onix is removed to separate deliverable next Media www.nextmedia.fi www.tivit.fi WP 1 AND EREADING AND D 1.1.4.1 1 (12) STATE-OF-THE-ART-STANDARDS Next Media - a Tivit Programme Phase 2 (1.1-31.12.2011) Table of Contents 1 Introduction ............................................................................................................. 3 1.1 Web browsers ................................................................................................. 3 1.2 HTML5 – an open standard ............................................................................ 4 1.3 CSS - Cascading Style Sheets ....................................................................... 6 1.4 HTML5 vs native applications ......................................................................... 6 2 HTML5/CSS3 standards ........................................................................................
    [Show full text]
  • Get Started with HTML5 ● Your Best Bet to Experiment with HTML5 – Safari – Chrome As of – Beta: Firefox 4 and IE 9
    BibhasBibhas BhattacharyaBhattacharya CTO,CTO, WebWeb AgeAge SolutionsSolutions [email protected]@webagesolutions.com www.webagesolutions.com/trainingwww.webagesolutions.com/training Get Started With HTML5 ● Your best bet to experiment with HTML5 – Safari – Chrome As of – Beta: FireFox 4 and IE 9. October 2010 ● Test your browser: – html5test.com – html5demos.com – www.findmebyip.com/litmus ● JavaScript library to test for HTML5 features – www.modernizr.com Browser Support ● Dreamweaver CS5 11.0.3 update will install HTML5 compatibility pack. ● CS4 and CS3 users should download the pack from Dreamweaver Exchange. ● See a demo: – www.youtube.com/watch?v=soNIxy2sj0A DreamWeaver Story - The canvas element - Custom audio & video player - New semantic elements - Geolocation (header, section, footer etc.) - Local data storage - New form input elements - Web SQL & IndexedDB (e-mail, date, time etc.) - Offline apps - Audio and video - Messaging - CSS3 - Web worker - Push using WebSocket For web page designers For developers What's New in HTML5? SimplifiedSimplified <!DOCTYPE html> DOCTYPEDOCTYPE <html> <head> <title>Page Title</title> Simplified <meta charset="UTF-8"> Simplified charsetcharset settingsetting </head> <body> <p>Hello World</p> </body> </html> Basic HTML 5 Document ● Elements that have no special visual styling but are used to provide structure and meaning to the content. ● HTML4 semantic elements – div (block) – span (in line) ● HTML5 semantic elements – header, footer, section, article, aside, time and others..
    [Show full text]
  • University of Camerino Computer Science (LM 18) Browser Evolution
    University of Camerino Computer Science (LM 18) Browser Evolution Project of Web 2.0 Autor: Luciani Alex Prof: Vaccari Carlo License This material is distributed under the Creative Commons "Attribution - NonCommercial - Share Alike - 3.0", available at http://creativecommons.org/licenses/by-nc-sa/3.0/ . What is a Browser? A browser is a software application, it retrieves and shows elements of the web. Story Prehistory 1963: Ted Nelson: Hypertext. 1987: John Bottoms: Silversmith, SGML. 1989: Tim Berners-Lee: WWW, HTML, HTTP, W3C. 1994: Mosaic → Netscape. Story Mosaic screenshot Story First Browser War (1996 - 2004) Story Second Browser War (2004 - ...) Story January 2010, Firefox passed IE Story The Actual Situation (2011) Data from statcounter.com Browser Market Share % Browser Version Market Share % Apr 11 Apr 11 IE 44.52 IE 8.0 30.24 Firefox 29.67 Firefox 3.6 18.91 Chrome 18.29 Chrome 10.0 16.03 Safari 5.04 IE 7.0 7.82 Opera 1.91 Firefox 4.0 7.59 IE 6.0 4.14 Safari 5.0 3.83 IE 9.0 2.32 Firefox 3.5 1.99 Tech Evolution Web Browser Engines They paint the web pages interpreting the client-side scripts. Layout Engine License Main Browser Gecko Free and OpenSource Firefox Presto Proprietary Opera Trident Proprietary Internet Explorer WebKit Free (GNU LGPL) Safari, Chrome Tech Evolution Protocols Connection: HTTP. Security: SSL, HTTPS Languages and Client Side HTML, HTML5 Javascript, Ajax CSS XML, SVG WebGL Tech Evolution Ajax Example Tech Evolution Google Body Browser uses WebGL Tech Evolution GUI Evolution Google 10 Firefox 3.6 Firefox 4 Tech Evolution GUI Evolution Explorer 8 Explorer 9 Tech Evolution Browser Testing Acid Test: testing client side script languages.
    [Show full text]
  • HTML5 Web Security
    HTML5 Web Security Thomas Röthlisberger – IT Security Analyst [email protected] Compass Security AG Tel +41 55 214 41 60 Werkstrasse 20 Fax +41 55 214 41 61 Postfach 2038 [email protected] CH-8645 Jona www.csnc.ch What is this talk about? Compass Security AG Tel +41 55 214 41 60 Werkstrasse 20 Fax +41 55 214 41 61 Postfach 2038 [email protected] CH-8645 Jona www.csnc.ch Agenda What is HTML5? Vulnerabilities, Threats & Countermeasures Conclusion Demo CORS Demo Web Workers Quiz and Q&A © Compass Security AG www.csnc.ch Slide 3 The Voting Device Compass Security AG Tel +41 55 214 41 60 Werkstrasse 20 Fax +41 55 214 41 61 Postfach 2038 [email protected] CH-8645 Jona www.csnc.ch The Voting Device It enables you to participate on votings The device has no batteries, so it works autarkic You power it by shaking it until green light flashes © Compass Security AG www.csnc.ch Slide 5 The Voting Let’s give it a try... © Compass Security AG www.csnc.ch Slide 6 What is HTML5? Compass Security AG Tel +41 55 214 41 60 Werkstrasse 20 Fax +41 55 214 41 61 Postfach 2038 [email protected] CH-8645 Jona www.csnc.ch History HTML 4.01 WHATWG XHTML 1.0 XHTML 1.1 XHTML 2.0 Web Applications 1.0 HTML5 © Compass Security AG www.csnc.ch Slide 8 History HTML5 is not finished! The specification achieved CANDIDATE RECOMMENDATION status on 17 December 2012. However, it is still a draft version and may be updated.
    [Show full text]
  • Web Standards.Pdf
    BOOKS FOR PROFESSIONALS BY PROFESSIONALS® Sikos, Ph.D. RELATED Web Standards Web Standards: Mastering HTML5, CSS3, and XML gives you a deep understand- ing of how web standards can be applied to improve your website. You will also find solutions to some of the most common website problems. You will learn how to create fully standards-compliant websites and provide search engine-optimized Web documents with faster download times, accurate rendering, lower development costs, and easy maintenance. Web Standards: Mastering HTML5, CSS3, and XML describes how you can make the most of web standards, through technology discussions as well as practical sam- ple code. As a web developer, you’ll have seen problems with inconsistent appearance and behavior of the same site in different browsers. Web standards can and should be used to completely eliminate these problems. With Web Standards, you’ll learn how to: • Hand code valid markup, styles, and news feeds • Provide meaningful semantics and machine-readable metadata • Restrict markup to semantics and provide reliable layout • Achieve full standards compliance Web standardization is not a sacrifice! By using this book, we can create and maintain a better, well-formed Web for everyone. CSS3, and XML CSS3, Mastering HTML5, US $49.99 Shelve in Web Development/General User level: Intermediate–Advanced SOURCE CODE ONLINE www.apress.com www.it-ebooks.info For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.it-ebooks.info Contents at a Glance About the Author................................................................................................
    [Show full text]
  • Chapter 7: HTML/XHTML I
    7. HTML and XHTML | Hypertext Markup Language, Part I 7-1 Chapter 7: HTML/XHTML I References: • Erik Wilde: World Wide Web | Technische Grundlagen. Springer, 1999, ISBN 3-540-64700-7, 641 Seiten. • Eric Ladd, Jim O'Donnell, et al.: Using HTML 4, XML, and Java 1.2, Platinum Edition. QUE, 1999, ISBN 0-7897-1759-X, 1282 pages. • Rainer Klute: Das World Wide Web. Addison-Wesley, 1996, ISBN: 389319763X. • Dave Raggett, W3C: HTML 3.2 Reference Specification. [http://www.w3.org/TR/REC-html32.html] • Dave Raggett, Arnaud Le Hors, Ian Jacobs (Eds.): HTML 4.01 Specification. W3C, Dec 24, 1999. [http://www.w3.org/TR/html4/] • User's Guide to ISO/IEC 15445:2000 HyperText Markup Language (HTML) [http://www.cs.tcd.ie/15445/UG.html] • XHTML [tm] 1.0: The Extensible HyperText Markup Language. W3C, Jan 26, 2000. [http://www.w3.org/TR/xhtml1] • Stefan M¨unz:HTML-Dateien selbst erstellen | SELFHTML. [http://www.netzwelt.com/selfhtml/] [http://www.teamone.de/selfaktuell/] • Ian Graham: Introduction to HTML. [http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/htmlindex.html] • NCSA Beginner's Guide to HTML (no longer maintained). [http://www.ncsa.uiuc.edu/General/Internet/WWW/] Stefan Brass: Grundlagen des World Wide Web Universit¨atHalle, 2016 7. HTML and XHTML | Hypertext Markup Language, Part I 7-2 Objectives After completing this chapter, you should be able to: • develop web pages in strict HTML 4.0/XHTML 1.0. • write syntactically correct HTML/XHTML. • read the HTML and XHTML specifications. • evaluate whether something is possible in HTML. • write a short paragraph about differences between HTML versions.
    [Show full text]
  • Exploring HTML5 with Javaserver Faces 2.0
    Exploring HTML5 With JavaServer Faces 2.0 Roger Kitain Oracle Corporation AGENDA > HTML 5 Overview – What is HTML 5? – HTML 5 Features > JSF 2.0 Component Model And HTML 5 – Component Model Overview – Enhancing Components With HTML 5 > Demos 2 What Is HTML 5? > Proposed next standard for HTML 4.0.1, XHTML 1.0 and DOM Level 2 HTML > Features promote RIA HTML HTML5 JS APIs > Pioneered in 2004; First working spec draft: 2008 > CSS 3 : Working Draft – April 2010 3 What Is HTML 5? Traditional Desktop e c n e i r e p x E r e HTML5 HTML2 s Ajax U XHTML HTML4 HTML CSS/JavaScript 1991 1994 1996 1997 1998 2000 2005 2009 4 What is HTML 5? When Will Specification Go Final? At least that's the rumor...... 5 HTML 5 Features: HTML Elements > Semantic elements for structure: – <header>, <nav>, <article>, <section>, <aside>, <footer> HTML4 HTML5 > Some advantages: – Nested sections with header levels beyond 6 levels in HTML 4 – Cleaner source; easier to author (don't need to go “div crazy”) 6 HTML 5 Features : Html Elements/Attributes > Other semantic elements: – <figure>, <dialog>, <meter>, <progress>... – <progress> can be used with JavaScript to generate “real-time” progress bar > Form elements / attributes: – <input name=”q” placeholder=”Search Here”> – <input name=”q” autofocus> – Attribute values for <input type= email (Great for mobile devices – iphone!). number, range, date, datetime, month, week, time, search, color – For date / time Opera would render: 7 HTML 5 Features : Media Elements > Audio – Most audio played through flash plugin – Not all browsers have same plugins > <audio> element: – Standard way to include audio: sound files or audio stream – 3 supported formats: Ogg Vorbis, MP3, Wav (browsers may support subset) > Usage example: <audio controls="controls"> <source src="song.ogg" type="audio/ogg"> <source src="song.mp3" type="audio/mpeg"> Your browser does not support the audio element.
    [Show full text]
  • Exploring the Future: Is HTML5 the Solution for GIS Applications on the World Wide Web?
    Exploring the Future: is HTML5 the solution for GIS Applications on the World Wide Web? Mats Taraldsvik December 18, 2011 ABCDEFCDE DDFBDCD D '&+),-!./,, !F""#D$!#"%C&'# "+)%' #0&1'(&#2-3 !(()* '#D!## 4&5 6 '+C"(1&!1'#D''(#75 %##&!' 8#"7#D4()9 !'%##'&'&#8#"7## )#'& D!"%"'((7+"'7'&'#!'#+ (:!!&#+)(7&"#' ;'( D$+##)'&++'%+%'&'(7+:'(#+"(%%(7&#:!(%% '7#<#+#1&'#!C(+'##(!#'&"';)&'"#&'=)'#('&'#' #&'<"#%"+)(7&#;'()<(7 !C'&':!D$;&')"#('<(7&!' #"#!'#%D$!''"#(1 #+'"(#'(!'D$#'#'('(!'&###%#7';(7("'&#==#+':#"( '&##):##;'(#+'1D!#'#+#%D$0'(#&%&'#'(D$2;'(!"# :)'&'(7+!C(+';'(#&'<&! <:!##'%'"#%C'&'#!'!'# 7"#<)'%!:)1D!'#%# ;C#'('(#'(C)'#''(<'7'');!' (&'##(7++%C'&'#!:);'(+&''(&+')<):C '&'#1 D!#'77:'('=(!''<##%# ##)#'7''):!!:&! <;'('&&+'# +#+#:!'+#7:!+#'C'&'7+1C++#!'%"& %+'&'&"';##(=(!'+!)%#'(+7+###):!!:&! <1 B#"'#':!!&'7'#+#7 ##&'<# %+' '&'#;'(7(#(7# :!#:5:!'#'(7&(''1D! &'#&%&'#'#'('(:'<7!"##>&'1 D$!'&#%+'&)<(&'# '&<'()'(:!:!!)C&5#'(C7C7#;'()< '"&! =)&5 &###:!!)5#1D$%'<("&#'7#"%+(':!!7( '('"(+#?# '&'(''#'#'(+#&":!!&'C' '(&' %% '&'#==#&'<%+)(7&#!'%':!"'&&##==###):!&''&!1 !" !D$#'<" #'('(;#+C'&'#!'7''(<)(7("# !:&! #;'(! '7(#'77:%!:!#'&'#"@D$1 &&"#;:!!:D$#'('(;!:)!'#'5'+'4#%:'(%7( (7#'( &+'#:!!+'#&##'<&'C'&'#!'+'<&+:!!(#5=)"(&"'#1! !(='<" #5()F'#!'(&#%C7 !'<'#'!'(+#%+'"<;D$'<#'#( %"('%!%"":);'(# C'&'#!'"#D$&! #'+##7)!:! '(# !%+'&;'(!"#%'&#1 A<:(# ,1D$;C;'%+((&;+)(7&# .1&'7'#;#7 ;:)#&5#;:):5#; &' B1D;B CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 0# '"2 ii Abstract The unfortunate need to develop multiple native applications has emerged with the recent explosion
    [Show full text]
  • Emerging Technologies Towards Transparent Computing
    Language Learning & Technology February 2014, Volume 18, Number 1 http://llt.msu.edu/issues/february2014/emerging.pdf pp. 1–10 EMERGING TECHNOLOGIES TOWARDS TRANSPARENT COMPUTING: CONTENT AUTHORING USING OPEN STANDARDS Robert Godwin-Jones, Virginia Commonwealth University With today's rapid developments in digital technologies, technical obsolescence can occur much faster than in the past. Who would have predicted five years ago that Adobe's Flash would have seen the rapid decline it has experienced as a development environment? Using open, internationally accepted standards for materials development is no absolute guarantee of longevity, but it does increase the likelihood that content will continue to be usable and that, if needed, conversion tools will be available. In this column I will be discussing approaches to the development of electronically delivered language learning materials that I believe are the least likely to face short-term obsolescence. I will be arguing in favor of multilaterally developed, open standards, supported by major industry players and educational standards bodies. Specifically, I will be looking at approaches for delivering learning materials through Web browsers or e-book readers (e-readers), so that created content works seamlessly across devices and platforms. APA Citation: Godwin-Jones, R. (2014). Towards transparent computing: Content authoring using open standards. Language Learning & Technology 18(1), 1–10. Retrieved from http://llt.msu.edu/issues/february2014/emerging.pdf Copyright: © Robert Godwin-Jones WEB DELIVERY For the vast majority of language learning projects, the delivery mechanism of choice is likely to be the World Wide Web, accessed through a Web browser, whether that be on a desktop computer or on a mobile device.
    [Show full text]
  • Browser Web Storage Vulnerability Investigation: HTML5 Localstorage Object Dan Bogaard Rochester Institute of Technology
    Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship Faculty & Staff choS larship 7-2012 Browser Web Storage Vulnerability Investigation: HTML5 localStorage Object Dan Bogaard Rochester Institute of Technology Daryl Johnson Rochester Institute of Technology Robert Parody Rochester Institute of Technology Follow this and additional works at: https://scholarworks.rit.edu/other Recommended Citation Bogaard D., Johnson D., and Parody R. Browser Web Storage Vulnerability Investigation: HTML5 localStorage Object. In SAM'12 - The 2012 nI ternational Conference on Security and Management (Las Vegas, NV, USA, July 2012) This Conference Paper is brought to you for free and open access by the Faculty & Staff choS larship at RIT Scholar Works. It has been accepted for inclusion in Presentations and other scholarship by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. Browser Web Storage Vulnerability Investigation HTML5 localStorage Object Daniel Bogaard1, Daryl Johnson2, and Robert Parody3 1Information Technology, Rochester Institute of Technology, Rochester, NY, USA 2NSSA, Rochester Institute of Technology, Rochester, NY, USA 3CQAS, Rochester Institute of Technology, Rochester, NY, USA hypothesis that localStorage can be used for such a purpose. Abstract - Along with the introduction of HTML5 a new data The second part of this study is to install the application on a storage technique, Web Storage, has been added to browsers. working production site and statistically determine how many This technique stores larger amounts of data for an extended copies of the parts need to be disseminated in order to ensure period of time on a client system. This technology does not retrieval – both over the short term and long term (would there (as of this writing) have a fully implemented interface to be a difference between trying to get the data back in 10 days support end user control.
    [Show full text]
  • Cross-Browser Rendering Using Headless Server-Side Browsers
    FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Cross-Browser Rendering using Headless Server-Side Browsers Pedro Cardoso Lessa Silva DISSERTATION Mestrado Integrado em Engenharia Informática e Computação Supervisor: Prof. Jorge Barbosa July 11, 2016 © Pedro Cardoso Lessa Silva, 2016 Cross-Browser Rendering using Headless Server-Side Browsers Pedro Cardoso Lessa Silva Mestrado Integrado em Engenharia Informática e Computação Approved in oral examination by the committee: Chair: Doctor Rui Camacho External Examiner: Doctor João Ferreira Sobral Supervisor: Doctor Jorge Barbosa July 11, 2016 Abstract Nowadays many different browsers are used to navigate the Web, ranging from the most well known, such as Internet Explorer, Chrome, Safari or Firefox to less well-known browsers like Opera and SeaMonkey. These browsers are typically proprietary to the companies they belong to, and so, differ in their operations, of particular interest to this dissertation, the processing of HTML, CSS and JavaScript files which leads to the generation of different web pages, resulting in slightly different user experiences. In order to homogenize the differences between browsers, the idea of cross-browser testing and rendering has been proposed and become a topic of research and work. Cross-browser rendering is the ability to generate a user interface also known as a web page, according to the browser specified. This idea has multiple uses, from providing developers with an easy method to validate their code under different execution environments to help detect security concerns of particular interest to this thesis, Client-side Injection attacks. These types of attacks act at a DOM level in a user browser. Methods used to detect such attacks are based around code differentiation between an infected browser’s representation of the website and the "clean" version provided by the web host.
    [Show full text]