<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Block Reverse Proxy on LEl_FENG Blog</title><link>https://blog.xpdbk.com/en/tags/block-reverse-proxy/</link><description>Recent content in Block Reverse Proxy on LEl_FENG Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>LEl_FENG Copyright</copyright><lastBuildDate>Thu, 27 Jul 2023 10:11:14 +0700</lastBuildDate><atom:link href="https://blog.xpdbk.com/en/tags/block-reverse-proxy/index.xml" rel="self" type="application/rss+xml"/><item><title>A Record of My Blog Being Reverse Proxied</title><link>https://blog.xpdbk.com/en/posts/web-fake-fandai/</link><pubDate>Thu, 27 Jul 2023 10:11:14 +0700</pubDate><guid>https://blog.xpdbk.com/en/posts/web-fake-fandai/</guid><description>&lt;img src="https://blog.xpdbk.com/en/posts/web-fake-fandai/photo_2023-07-27_21-08-20.webp" alt="Featured image of post A Record of My Blog Being Reverse Proxied" />&lt;blockquote>
&lt;p>&lt;strong>TL;DR / Geek Summary:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Incident: Detected a domain hijacking the entire blog via Cloudflare Workers reverse proxy.&lt;/li>
&lt;li>Defensive Patch: Implemented a JavaScript domain validator in the &lt;code>&amp;lt;head&amp;gt;&lt;/code> to force redirects.&lt;/li>
&lt;li>Obfuscation Hack: Used obfuscator.io to encrypt the JS logic, preventing the proxy from rewriting validation rules.&lt;/li>
&lt;/ul>
&lt;/blockquote>
&lt;p>Yesterday, I was checking my Google Analytics data
in my free time and spotted a referral from a domain I had never seen before. Initially, I thought it was just a scraper site or someone referencing my article, so I decided to take a look. However, upon opening the page, I saw my entire blog right there (completely unmodified).&lt;/p>
&lt;p>I wouldn&amp;rsquo;t just say the content was identical; even the page structure was exactly the same. I&amp;rsquo;ve seen scrapers and I&amp;rsquo;ve seen people referencing my work, but I&amp;rsquo;ve never seen an entire site being reverse-proxied like this before&amp;hellip;&lt;/p>
&lt;hr>
&lt;h2 id="at-first">
&lt;a href="#at-first" class="heading-anchor" aria-label="Anchor for At First">#&lt;/a>
At First
&lt;/h2>
&lt;p>At first, I thought they had just scraped and downloaded the site, and I wasn&amp;rsquo;t going to care. But later I realized they were directly reverse proxying it using Cloudflare Workers, and they had even modified the host header. Because of this, standard anti-hotlinking measures were basically useless&amp;hellip;&lt;/p>
&lt;p>After some Googling, I found out that this kind of situation can be handled using a JavaScript script.&lt;/p>
&lt;p>In the beginning, I just used JS to verify if the window&amp;rsquo;s domain was correct. If it wasn&amp;rsquo;t, it would automatically redirect to the correct domain.&lt;/p>
&lt;p>The code is as follows. Please put it inside the &lt;code>&amp;lt;head&amp;gt;&lt;/code> tag:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-JavaScript" data-lang="JavaScript">&lt;span class="line">&lt;span class="cl">&lt;span class="kr">const&lt;/span> &lt;span class="nx">validDomains&lt;/span> &lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;blog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;vlblog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;lelfeng.netlify.app&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;cfblog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">&amp;#39;1x000.github.io&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;adaewfd321fg3.cachefly.net&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;127.0.0.1:1313&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="s1">&amp;#39;localhost:1313&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">validDomains&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">indexOf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">location&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">hostname&lt;/span> &lt;span class="o">+&lt;/span>&lt;span class="s1">&amp;#39;:&amp;#39;&lt;/span>&lt;span class="o">+&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">location&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">port&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">===&lt;/span> &lt;span class="o">-&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">location&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">href&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;http://blog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span> &lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">e&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>However, this guy didn&amp;rsquo;t play by the rules. Through the reverse proxy, he replaced all the domains in the files with his own domain, which resulted in an infinite loop.&lt;/p>
&lt;p>Later, I used &lt;a class="link" href="https://obfuscator.io/" target="_blank" rel="noopener"
>https://obfuscator.io/&lt;/a>
&lt;span style="white-space: nowrap;">&lt;svg width=".7em"
height=".7em" viewBox="0 0 21 21" xmlns="http://www.w3.org/2000/svg">
&lt;path d="m13 3l3.293 3.293l-7 7l1.414 1.414l7-7L21 11V3z" fill="currentColor" />
&lt;path d="M19 19H5V5h7l-2-2H5c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h14c1.103 0 2-.897 2-2v-5l-2-2v7z"
fill="currentColor">
&lt;/svg>&lt;/span>
to obfuscate the JS code. This successfully prevented the domains from being modified and replaced.&lt;/p>
&lt;p>The obfuscated sample code is as follows:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-JavaScript" data-lang="JavaScript">&lt;span class="line">&lt;span class="cl">&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">;(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0xafca11&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x40b2b8&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x15b338&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0xafca11&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="k">while&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">!!&lt;/span>&lt;span class="p">[]){&lt;/span>&lt;span class="k">try&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x517e5b&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x188&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x1&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x196&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x2&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">+-&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x189&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x3&lt;/span>&lt;span class="o">+-&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18c&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x4&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x194&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x5&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a6&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x6&lt;/span>&lt;span class="o">+-&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19c&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x7&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a3&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x8&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">+-&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19a&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0x9&lt;/span>&lt;span class="o">*&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="nb">parseInt&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x35c55e&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19d&lt;/span>&lt;span class="p">))&lt;/span>&lt;span class="o">/&lt;/span>&lt;span class="mh">0xa&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x517e5b&lt;/span>&lt;span class="o">===&lt;/span>&lt;span class="nx">_0x40b2b8&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="k">else&lt;/span> &lt;span class="nx">_0x15b338&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;push&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x15b338&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;shift&amp;#39;&lt;/span>&lt;span class="p">]());}&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x6c5198&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="nx">_0x15b338&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;push&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x15b338&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;shift&amp;#39;&lt;/span>&lt;span class="p">]());}}}(&lt;/span>&lt;span class="nx">_0x17e0&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="mh">0x5e4df&lt;/span>&lt;span class="p">));&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x130d92&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">_0x2e53a6&lt;/span>&lt;span class="o">=!!&lt;/span>&lt;span class="p">[];&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x323b74&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x490435&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x1c497f&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x2e53a6&lt;/span>&lt;span class="o">?&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x490435&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x33bf80&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x490435&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;apply&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x323b74&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">arguments&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x490435&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x33bf80&lt;/span>&lt;span class="p">;}}&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){};&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x2e53a6&lt;/span>&lt;span class="o">=!&lt;/span>&lt;span class="p">[],&lt;/span>&lt;span class="nx">_0x1c497f&lt;/span>&lt;span class="p">;};}()),&lt;/span>&lt;span class="nx">_0x4b63bb&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x130d92&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x982257&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x4b63bb&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x184&lt;/span>&lt;span class="p">)]()[&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x192&lt;/span>&lt;span class="p">)](&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x198&lt;/span>&lt;span class="p">))[&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x184&lt;/span>&lt;span class="p">)]()[&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19f&lt;/span>&lt;span class="p">)](&lt;/span>&lt;span class="nx">_0x4b63bb&lt;/span>&lt;span class="p">)[&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x192&lt;/span>&lt;span class="p">)](&lt;/span>&lt;span class="nx">_0x982257&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x198&lt;/span>&lt;span class="p">));});&lt;/span>&lt;span class="nx">_0x4b63bb&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">_0x2f2ee3&lt;/span>&lt;span class="o">=!!&lt;/span>&lt;span class="p">[];&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0xf1a2dc&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x12daa7&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x2c78dc&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x2f2ee3&lt;/span>&lt;span class="o">?&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x12daa7&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x1e1bbf&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x12daa7&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;apply&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0xf1a2dc&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">arguments&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x12daa7&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x1e1bbf&lt;/span>&lt;span class="p">;}}&lt;/span>&lt;span class="o">:&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){};&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x2f2ee3&lt;/span>&lt;span class="o">=!&lt;/span>&lt;span class="p">[],&lt;/span>&lt;span class="nx">_0x2c78dc&lt;/span>&lt;span class="p">;};}()),&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">this&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">_0x1c1520&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="k">try&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x48284c&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nb">Function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18d&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18a&lt;/span>&lt;span class="p">)&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="s1">&amp;#39;);&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>&lt;span class="nx">_0x1c1520&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x48284c&lt;/span>&lt;span class="p">();}&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x560e71&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="nx">_0x1c1520&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">;}&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x4777cb&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x1c1520&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;console&amp;#39;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x1c1520&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a5&lt;/span>&lt;span class="p">)]&lt;/span>&lt;span class="o">||&lt;/span>&lt;span class="p">{},&lt;/span>&lt;span class="nx">_0x10f092&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a4&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a0&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x187&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18b&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19b&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x193&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x185&lt;/span>&lt;span class="p">)];&lt;/span>&lt;span class="k">for&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">_0x41e094&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mh">0x0&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="nx">_0x41e094&lt;/span>&lt;span class="o">&amp;lt;&lt;/span>&lt;span class="nx">_0x10f092&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x190&lt;/span>&lt;span class="p">)];&lt;/span>&lt;span class="nx">_0x41e094&lt;/span>&lt;span class="o">++&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0xa11f57&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19f&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x197&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="s1">&amp;#39;bind&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x5853a5&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x10f092&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x41e094&lt;/span>&lt;span class="p">],&lt;/span>&lt;span class="nx">_0x418439&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x4777cb&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5853a5&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">||&lt;/span>&lt;span class="nx">_0xa11f57&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="nx">_0xa11f57&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a1&lt;/span>&lt;span class="p">)]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;bind&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0xa11f57&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x184&lt;/span>&lt;span class="p">)]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x418439&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5958bf&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x184&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="s1">&amp;#39;bind&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nx">_0x418439&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x4777cb&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x5853a5&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0xa11f57&lt;/span>&lt;span class="p">;}});&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">validDomains&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x191&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x195&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18e&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x18f&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x19e&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="s1">&amp;#39;adaewfd321fg3.cachefly.net&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x186&lt;/span>&lt;span class="p">),&lt;/span>&lt;span class="s1">&amp;#39;localhost:1313&amp;#39;&lt;/span>&lt;span class="p">];&lt;/span>&lt;span class="kd">function&lt;/span> &lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x30b2be&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x27f11a&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x2f8ec1&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x17e0&lt;/span>&lt;span class="p">();&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x27a7&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x3f0a06&lt;/span>&lt;span class="p">){&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="o">-&lt;/span>&lt;span class="mh">0x183&lt;/span>&lt;span class="p">;&lt;/span>&lt;span class="kd">let&lt;/span> &lt;span class="nx">_0x2ded53&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x2f8ec1&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x11b84d&lt;/span>&lt;span class="p">];&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x2ded53&lt;/span>&lt;span class="p">;},&lt;/span>&lt;span class="nx">_0x27a7&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x30b2be&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="nx">_0x27f11a&lt;/span>&lt;span class="p">);}&lt;/span>&lt;span class="kd">function&lt;/span> &lt;span class="nx">_0x17e0&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="kr">const&lt;/span> &lt;span class="nx">_0x30092e&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;__proto__&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;http://blog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;248mjjPBK&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;log&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;console&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;2331390Rbmidg&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;location&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;toString&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;trace&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;127.0.0.1:1313&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;info&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;1hGmVnj&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;511494uNxHBt&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;{}.constructor(\x22return\x20this\x22)(\x20)&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;error&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;1689000vVCMXN&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;return\x20(function()\x20&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;lelfeng.netlify.app&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;cfblog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;length&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;blog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;search&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;table&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;2697315oyIMgb&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;vlblog.xpdbk.com&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;405444fEnPtY&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;prototype&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;(((.+)+)+)+$&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;hostname&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;422352iCyGvT&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;exception&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;119035WNGFBa&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;80LiPhiY&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;1x000.github.io&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;constructor&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span>&lt;span class="s1">&amp;#39;warn&amp;#39;&lt;/span>&lt;span class="p">];&lt;/span>&lt;span class="nx">_0x17e0&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x30092e&lt;/span>&lt;span class="p">;};&lt;/span>&lt;span class="k">return&lt;/span> &lt;span class="nx">_0x17e0&lt;/span>&lt;span class="p">();}&lt;/span>&lt;span class="k">try&lt;/span>&lt;span class="p">{&lt;/span>&lt;span class="nx">validDomains&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s1">&amp;#39;indexOf&amp;#39;&lt;/span>&lt;span class="p">](&lt;/span>&lt;span class="nb">document&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x183&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x199&lt;/span>&lt;span class="p">)]&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="s1">&amp;#39;:&amp;#39;&lt;/span>&lt;span class="o">+&lt;/span>&lt;span class="nb">document&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x183&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="s1">&amp;#39;port&amp;#39;&lt;/span>&lt;span class="p">])&lt;/span>&lt;span class="o">===-&lt;/span>&lt;span class="mh">0x1&lt;/span>&lt;span class="o">&amp;amp;&amp;amp;&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x183&lt;/span>&lt;span class="p">)][&lt;/span>&lt;span class="s1">&amp;#39;href&amp;#39;&lt;/span>&lt;span class="p">]&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nx">_0x43eb42&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mh">0x1a2&lt;/span>&lt;span class="p">));}&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">_0x573349&lt;/span>&lt;span class="p">){}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>By taking this encrypted code and randomly inserting it into one of the scripts referenced on your site, you&amp;rsquo;ll leave the trash running those mirror sites with no way to bypass it.&lt;/p>
&lt;p>&lt;strong>With this, the problem is basically solved. Let those jerks go cry about it.&lt;/strong>&lt;/p></description></item></channel></rss>