{"id":190,"date":"2010-10-02T12:29:11","date_gmt":"2010-10-02T11:29:11","guid":{"rendered":"http:\/\/www.floyd.ch\/?p=190"},"modified":"2011-07-28T16:41:34","modified_gmt":"2011-07-28T15:41:34","slug":"html5-security-where-are-our-lessons-learned","status":"publish","type":"post","link":"https:\/\/www.floyd.ch\/?p=190","title":{"rendered":"HTML5 security &#8211; making web users more safe?"},"content":{"rendered":"<p>There is one thing security engineers and new technologies ideally have in common: They make existing stuff more secure. For the security engineer, there is certainly a truth in this claim &#8211; for new technologies however, I&#8217;m not that sure though&#8230;<\/p>\n<p>Recently I wanted to improve my skills in HTML5 when I stumbled on some interesting new features a penetration tester (or an attacker, which in most cases does not make a huge difference) can abuse to exploit XSS-vulnerabilities. Of course there are also many more features that make other injections possible, but for XSS there are some very interesting ones. Until now, when you found a XSS hole within a input element that has  filtered &lt; and &gt; you could not exploit it automatically without using  CSS expressions &#8211; for example:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\r\n&lt;input type=&quot;text&quot; USER_SPECIFIED_INPUT &gt;\r\n<\/pre>\n<p>This type of vulnerability was usually exploited using something like<\/p>\n<pre class=\"brush: css; title: ; notranslate\" title=\"\">\r\nstyle=xss:expression(alert(0))\r\n<\/pre>\n<p>or similar. Anyway all of them work on a limited set of browsers only and are therefore not that interesting for a real exploit.<\/p>\n<p>So what about HTML5? No more CSS expression is needed &#8211; the magic is called <em>autofocus<\/em>:<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">&lt;input type=&quot;text&quot; AUTOFOCUS onfocus=alert(0)&gt;<\/pre>\n<p>Nice &#8211; so who did expect new technologies to make users safer? This is just one example &#8211; have a look at Mario Heiderich&#8217;s &#8220;<a href=\"http:\/\/heideri.ch\/jso\/\" target=\"_blank\">HTML 5 Security Cheatsheet<\/a>&#8221; for many more of them&#8230;<\/p>\n<p>Finally &#8211; what are the lessons learned?<\/p>\n<ul>\n<li>I (and every penetration tester as well as WAF\/IDS-developer out there, too) definitively need to look into HTML5<\/li>\n<li>HTML5 offers many new features &#8211; one might also call it &#8220;new ways to attack a web user&#8221;<\/li>\n<\/ul>\n<p>So long &#8211; sc0rpio<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There is one thing security engineers and new technologies ideally have in common: They make existing stuff more secure. For the security engineer, there is certainly a truth in this claim &#8211; for new technologies however, I&#8217;m not that sure &hellip; <a href=\"https:\/\/www.floyd.ch\/?p=190\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,3],"tags":[],"class_list":["post-190","post","type-post","status-publish","format-standard","hentry","category-html5","category-web-penetration-testing"],"_links":{"self":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=190"}],"version-history":[{"count":14,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":291,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=\/wp\/v2\/posts\/190\/revisions\/291"}],"wp:attachment":[{"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.floyd.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}