<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
> <channel><title>kahunaburger &#187; Spam</title> <atom:link href="http://www.kahunaburger.com/category/spam/feed/" rel="self" type="application/rss+xml" /><link>http://www.kahunaburger.com</link> <description>home of pia, max, frisco and tobias</description> <lastBuildDate>Fri, 03 Feb 2012 13:50:45 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>5 years into it, Vistaprint spam post still going strong</title><link>http://www.kahunaburger.com/2009/07/24/5-years-into-it-vistaprint-spam-post-still-going-strong/</link> <comments>http://www.kahunaburger.com/2009/07/24/5-years-into-it-vistaprint-spam-post-still-going-strong/#comments</comments> <pubDate>Fri, 24 Jul 2009 18:39:30 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/?p=1771</guid> <description><![CDATA[In March 2004 I was fed up with the constant spam that linked to a company called VistaPrint (not hot-linked here for obvious reasons). I put on my engineering hat and dissected spam emails to find out where the stuff was coming from. I also posted my findings in an open letter to VistaPrint end [...]]]></description> <content:encoded><![CDATA[<p><img
src="http://www.kahunaburger.com/wp-content/uploads/2009-07-24-vistaprint.png" alt="vistaprint" title="vistaprint" width="201" height="84" class="alignright size-full wp-image-1770" />In March 2004 I was fed up with the constant spam that linked to a company called VistaPrint (not hot-linked here for obvious reasons).</p><p>I put on my engineering hat and dissected spam emails to find out where the stuff was coming from. I also posted my findings in an <a
href="http://www.kahunaburger.com/2004/03/03/open-letter-to-vistaprintcom-stop-the-spam/">open letter to VistaPrint end of March 2004</a>.<br
/> Nothing happened for a while and then, out of the blue, an employee from VistaPrint responded and offered to look into the issue. I sent a number of spam samples, which I still happened to have lying around, to that person and, surprise, surprise, never received a response from anybody at VistaPrint (most likely those forwarded spam messages along with my comments were filed under junk mail as well).</p><p>If I can trust the traffic analysis for kahunaburger, that very same VistaPrint open letter above is one of the busiest pages on my server. Just in the last few weeks it received at least 10 comments from people who suffer under the constant spam bombardment or who have been duped into signing up for something that they don&#8217;t want. Searching for <a
href="http://www.google.com/search?q=vistaprint+spam">&#8220;vistaprint spam&#8221; on Google</a>, shows that kahunaburger is listed as the very first entry.</p><p>I have little hope that any of those actions mentioned in the comments to the open letter will make any difference. VistaPrint, with <a
href="http://www.vistaprint.com/about/offices.aspx">headquarters in the Bermudas</a>, lives from <a
href="http://www.vistaprint.com/affiliate.aspx">affiliate networks driving traffic to their site</a>. Those affiliate networks have been linked to spam since the beginning of spam. VistaPrint claims that they don&#8217;t allow affiliate members to send unsolicited emails, but they don&#8217;t do anything about it proactively, but instead just pretend to investigate whenever too many people complain about a particular spam incident. Even if they sack the responsible affiliate and terminate his account, that guy just turns around and signs up under a different name/email to do the very same again.</p><p>Just take a look at all the <a
href="http://www.ripoffreport.com/searchresults.asp?q5=VistaPrint&#038;q1=ALL&#038;q4=&#038;q6=&#038;q3=&#038;q2=&#038;q7=&#038;searchtype=0&#038;submit2=Search!&#038;Search=Search">information that&#8217;s posted about VistaPrint on ripoffreport.com</a> &#8211; makes you really wonder how they can still be in business.</p><p>Anyway, what I found interesting was the fact that a 5-year old post on this site could still generate substantial traffic today &#8230;</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2009/07/24/5-years-into-it-vistaprint-spam-post-still-going-strong/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>dontevercallmyname</title><link>http://www.kahunaburger.com/2005/08/11/dontevercallmyname/</link> <comments>http://www.kahunaburger.com/2005/08/11/dontevercallmyname/#comments</comments> <pubDate>Thu, 11 Aug 2005 19:25:52 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/08/11/dontevercallmyname/</guid> <description><![CDATA[Sometimes I don&#8217;t get comment spammers: I&#8217;ve seen tons of attempts to place comments on kahunaburger.com that refer to dontevercallmyname.com, dontevercallmyname2.org or dontevercallmyname3.net. Always the same BS: &#8220;great site! keep up the good work! etc.&#8221;. What baffles me is the fact that those domains are not even registered. Does anybody have a clue why I [...]]]></description> <content:encoded><![CDATA[<p>Sometimes I don&#8217;t get comment spammers: I&#8217;ve seen tons of attempts to place comments on kahunaburger.com that refer to dontevercallmyname.com, dontevercallmyname2.org or dontevercallmyname3.net. Always the same BS: &#8220;great site! keep up the good work! etc.&#8221;. What baffles me is the fact that those domains are not even registered. Does anybody have a clue why I and tons of other places (see <a
href="http://www.google.com/search?q=dontevercallmyname">Google Search for &#8220;dontevercallmyname&#8221;</a>) getting spammed this way?</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/08/11/dontevercallmyname/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Spammer discover &#8220;banner&#8221;</title><link>http://www.kahunaburger.com/2005/04/17/spammer-discover-banner/</link> <comments>http://www.kahunaburger.com/2005/04/17/spammer-discover-banner/#comments</comments> <pubDate>Sun, 17 Apr 2005 18:46:04 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/04/17/spammer-discover-banner/</guid> <description><![CDATA[Wow &#8211; that&#8217;s gonna be hard to pattern-match. Top part of this screenshot is from my Email-client, bottom part is the beginning of the source for the message: Looks like somebody discovered that &#8220;banner&#8221; (if you&#8217;re on a Unix system try this from a shell: banner &#8220;foo&#8221;) with a small font-size yields machine-unreadable but human-readable [...]]]></description> <content:encoded><![CDATA[<p>Wow &#8211; that&#8217;s gonna be hard to pattern-match. Top part of this screenshot is from my Email-client, bottom part is the beginning of the source for the message:</p><p><img
src="/images/2005-04-17-banner.gif" alt="spam using banner"></p><p>Looks like somebody discovered that &#8220;banner&#8221; (if you&#8217;re on a Unix system try this from a shell: banner &#8220;foo&#8221;) with a small font-size yields machine-unreadable but human-readable content. Almost a reverse-<a
href="http://en.wikipedia.org/wiki/Captcha">captcha</a>, let&#8217;s call it raptcha &#8230;</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/04/17/spammer-discover-banner/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>&#8220;69.50.182.154&#8243; &#8211; is it just me?</title><link>http://www.kahunaburger.com/2005/02/21/6950182154-is-it-just-me/</link> <comments>http://www.kahunaburger.com/2005/02/21/6950182154-is-it-just-me/#comments</comments> <pubDate>Tue, 22 Feb 2005 02:13:37 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/02/21/6950182154-is-it-just-me/</guid> <description><![CDATA[The a$$-clown going through &#8220;69.50.182.154&#8243; has been pretty persistent in trying to drop comment spam on my server over the last few days. I would almost say the behaviour is borderline ambitious. In fact: localhost$ grep "69.50.182.154" access_log &#124; wc -l 303 localhost$ (that&#8217;s since this morning 2am). And: localhost$ zcat access_log.1.gz&#124; grep "69.50.182.154" &#124; [...]]]></description> <content:encoded><![CDATA[<p>The a$$-clown going through &#8220;69.50.182.154&#8243; has been pretty persistent in trying to drop comment spam on my server over the last few days. I would almost say the behaviour is borderline ambitious. In fact:</p><blockquote><p><code>localhost$ grep "69.50.182.154" access_log | wc -l</p><p>303</p><p>localhost$<br
/> </code></p></blockquote><p>(that&#8217;s since this morning 2am). And:</p><blockquote><p><code>localhost$ zcat access_log.1.gz| grep "69.50.182.154" | wc -l</p><p>1398</p><p>localhost$<br
/> </code></p></blockquote><p>(that would be last week)</p><p>So <a
href="http://www.dnsstuff.com/tools/whois.ch?ip=69.50.182.154">Emil</a> has earned himself already a permanent place in my heart for providing an open proxy to the world, but I can&#8217;t believe that <a
href="http://www.google.com/search?q=%2269.50.182.154%22">nobody else is being targeted</a> &#8211; or are you being bugged by &#8220;69.50.182.154&#8243; as well?</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/02/21/6950182154-is-it-just-me/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Interview with a link spammer</title><link>http://www.kahunaburger.com/2005/02/02/interview-with-a-link-spammer/</link> <comments>http://www.kahunaburger.com/2005/02/02/interview-with-a-link-spammer/#comments</comments> <pubDate>Wed, 02 Feb 2005 11:58:09 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/02/02/interview-with-a-link-spammer/</guid> <description><![CDATA[This &#8220;Interview with a link spammer &#124; The Register&#8221; is a very interesting interview with somebody who&#8217;s bugging public blogs with comment/link spam. &#8220;So Sam, like other link spammers, uses the thousands of &#8216;open proxies&#8217; on the net. These are machines which, by accident (read: clueless sysadmins) or design (read: clueless managers) are set up [...]]]></description> <content:encoded><![CDATA[<p>This &#8220;<a
title="Interview with a link spammer | The Register" href="http://www.theregister.co.uk/2005/01/31/link_spamer_interview/">Interview with a link spammer | The Register</a>&#8221; is a very interesting interview with somebody who&#8217;s bugging public blogs with comment/link spam.</p><blockquote><p> <i>&#8220;So Sam, like other link spammers, uses the thousands of &#8216;open proxies&#8217; on the net. These are machines which, by accident (read: clueless sysadmins) or design (read: clueless managers) are set up so that anyone, anywhere, can access another website through them. Usually intended for internal use, so a company only needs one machine facing the net, they&#8217;re actually hard to lock down completely.&#8221;</i></p></blockquote><p>This validates <a
href="/blog/archives/000192.html">mt-proxyplug</a> as a means to get rid of comment spam. Since I have it running on my web site I had to deal with only a few comment spam submissions here.</p><p>Also, <a
href="http://sixapart.com/pronet/">Sixapart&#8217;s Professional Network</a> seems to have picked up the story and issues recommendations on how to avoid the problem.</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/02/02/interview-with-a-link-spammer/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Referer Spammer of the Month Award</title><link>http://www.kahunaburger.com/2005/01/21/referer-spammer-of-the-month-award/</link> <comments>http://www.kahunaburger.com/2005/01/21/referer-spammer-of-the-month-award/#comments</comments> <pubDate>Fri, 21 Jan 2005 19:26:57 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/01/21/referer-spammer-of-the-month-award/</guid> <description><![CDATA[Kahunaburger.com is proud to present the first &#8220;Referer Spammer of the Month Award&#8221;. It was a close race between the two favorites and only a few hundred referer spam entries separate them, but in the end, there can only be one winner. We analyzed our Apache server logs from the last few weeks and looked [...]]]></description> <content:encoded><![CDATA[<p>Kahunaburger.com is proud to present the first &#8220;Referer Spammer of the Month Award&#8221;.</p><p>It was a close race between the two favorites and only a few hundred referer spam entries separate them, but in the end, there can only be one winner.<br
/> <span
id="more-196"></span><br
/> We analyzed our Apache server logs from the last few weeks and looked up all log entries that show &#8220;referer&#8221; information. Here&#8217;s a sample line from the logs that shows the <code>free-online-texas-holdem.fidelityfunding.net</code> site refering to an entry on kahunaburger.com:</p><p><code>82.194.62.16 - - [17/Jan/2005:09:21:26 -0700] "GET /blog/archives/000113.html HTTP/1.1" 200 10196 "http://free-online-texas-holdem.fidelityfunding.net/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CL<br
/> R 1.1.4322)"</code></p><p>Of course, nobobdy on fidelityfunding.net knows that kahunaburger.com even exists, but that&#8217;s a different story.</p><p>Anyway, we extracted similar lines from the log-files and looked up the ip-address for the host that refered our site. In this case the ip-address for <code>free-online-texas-holdem.fidelityfunding.net</code> would be <code>219.150.118.16</code>.<br
/> We counted how often a certain ip-address refered to us and what hostname was used in the referal process.</p><p>To make it short, there&#8217;s only a first and a second place. First place goes to <b>64.234.220.141</b> with <b>1621 referer spam entries</b> and second place goes to <b>219.150.118.16</b> with <b>1315 referer spam entries</b>.</p><p><i>Congratulations to the winners!</i> You really make the web a better place with all the useful advice you offer for free! Keep up the good work! And hopefully we&#8217;ll see some other people join the competition for next months awards?!</p><p>The detailed findings, in case you are still interested:</p><table
border="1"><tr><td
colspan="2"><b>64.234.220.141</b></td></tr><tr><td>hits</td><td>hostname</td></tr><tr><td>64</td><td>texasholdem.4free.gb.com</td></tr><tr><td>44</td><td>forex.web4u.gb.com</td></tr><tr><td>42</td><td>www.mediavisor.com</td></tr><tr><td>40</td><td>www.handmade2000.co.uk</td></tr><tr><td>37</td><td>www.hermosa.us</td></tr><tr><td>32</td><td>generic-viagra.4free.gb.com</td></tr><tr><td>32</td><td>adipex.4free.gb.com</td></tr><tr><td>31</td><td>tax.web4u.gb.com</td></tr><tr><td>31</td><td>ambien.4free.gb.com</td></tr><tr><td>31</td><td>pacific-poker.web4u.gb.com</td></tr><tr><td>30</td><td>taxes.web4u.gb.com</td></tr><tr><td>29</td><td>www.thatwhichis.com</td></tr><tr><td>28</td><td>weight-loss-pills.web4u.gb.com</td></tr><tr><td>28</td><td>www.philippestarckwatches.co.uk</td></tr><tr><td>26</td><td>www.academyofmusic.us</td></tr><tr><td>26</td><td>poker.4free.gb.com</td></tr><tr><td>25</td><td>student-loans.4free.gb.com</td></tr><tr><td>24</td><td>poker-rules.4free.gb.com</td></tr><tr><td>24</td><td>turbo-tax.web4u.gb.com</td></tr><tr><td>23</td><td>blackjack.web4u.gb.com</td></tr><tr><td>23</td><td>www.condodream.com</td></tr><tr><td>22</td><td>www.slatersdvds.co.uk</td></tr><tr><td>22</td><td>play-poker.web4u.gb.com</td></tr><tr><td>21</td><td>www.kardtoons.co.uk</td></tr><tr><td>20</td><td>top-one-credit-card.web4u.gb.com</td></tr><tr><td>20</td><td>private-mortgages.4free.gb.com</td></tr><tr><td>20</td><td>cheap-phentermine.web4u.gb.com</td></tr><tr><td>20</td><td>buy-phentermine.web4u.gb.com</td></tr><tr><td>20</td><td>www.fortisenterprises.co.uk</td></tr><tr><td>19</td><td>viagra.hosting4u.gb.com</td></tr><tr><td>19</td><td>viagra.cn.mediavisor.com</td></tr><tr><td>19</td><td>www.tmsathai.org</td></tr><tr><td>19</td><td>www.berwickfoundation.org</td></tr><tr><td>17</td><td>texas-holdem-poker.web4u.gb.com</td></tr><tr><td>17</td><td>buy-viagra.web4u.gb.com</td></tr><tr><td>16</td><td>www.forex-market-4u.info</td></tr><tr><td>16</td><td>www.instant-quick-money-cash-advance-personal-loans-until-pay-day.com</td></tr><tr><td>15</td><td>mortgage-loans.web4u.gb.com</td></tr><tr><td>15</td><td>www.hdic.org</td></tr><tr><td>15</td><td>www.devilofnights.org</td></tr><tr><td>15</td><td>insurance.mall.uk.net</td></tr><tr><td>15</td><td>www.alphacarolinas.org</td></tr><tr><td>15</td><td>cialis.be.uaeecommerce.com</td></tr><tr><td>14</td><td>poker-online.web4u.gb.com</td></tr><tr><td>14</td><td>tramadol.pk.mediavisor.com</td></tr><tr><td>14</td><td>www.pagetwo.org</td></tr><tr><td>13</td><td>poker.mall.uk.net</td></tr><tr><td>13</td><td>www.ourtownhelps.org</td></tr><tr><td>13</td><td>www.digitaltwist.co.uk</td></tr><tr><td>12</td><td>www.stmaryonline.org</td></tr><tr><td>12</td><td>www.sportingcolors.org</td></tr><tr><td>12</td><td>mortgages.myhost.gb.com</td></tr><tr><td>12</td><td>www.hometeaminspection.org</td></tr><tr><td>12</td><td>www.maloylawn.com</td></tr><tr><td>12</td><td>private-mortgages.mall.uk.net</td></tr><tr><td>11</td><td>www.tclighting.org</td></tr><tr><td>11</td><td>credit-cards.hosting4u.gb.com</td></tr><tr><td>11</td><td>online-casino.mall.uk.net</td></tr><tr><td>11</td><td>www.uaeecommerce.com</td></tr><tr><td>11</td><td>www.flafeber.com</td></tr><tr><td>11</td><td>texas-hold-em.mall.uk.net</td></tr><tr><td>11</td><td>www.marshallyachts.org</td></tr><tr><td>10</td><td>www.twinky.org</td></tr><tr><td>10</td><td>www.ingyensms.org</td></tr><tr><td>10</td><td>www.catchathief.org</td></tr><tr><td>10</td><td>www.forex-trading-system-4u.info</td></tr><tr><td>10</td><td>www.texasproptax.com</td></tr><tr><td>10</td><td>www.currency-converter-4u.info</td></tr><tr><td>10</td><td>www.australia-online-travel.com</td></tr><tr><td>9</td><td>casino.myhost.gb.com</td></tr><tr><td>9</td><td>credit-card.hosting4u.gb.com</td></tr><tr><td>9</td><td>texas-holdem.myhost.gb.com</td></tr><tr><td>9</td><td>cialis.hosting4u.gb.com</td></tr><tr><td>9</td><td>www.psychexams.org</td></tr><tr><td>9</td><td>www.top-deals-online-pharmacy.info</td></tr><tr><td>8</td><td>www.currency-trading-4u.info</td></tr><tr><td>8</td><td>www.rifp.org</td></tr><tr><td>8</td><td>www.spoodles.com</td></tr><tr><td>8</td><td>www.ansar-u-deen.org</td></tr><tr><td>8</td><td>www.vintage-watces-4u.info</td></tr><tr><td>8</td><td>www.stories-on-cd.org</td></tr><tr><td>8</td><td>www.lvcpa.org</td></tr><tr><td>8</td><td>soma.hosting4u.gb.com</td></tr><tr><td>8</td><td>www.tecrep-inc.org</td></tr><tr><td>8</td><td>www.krantas.org</td></tr><tr><td>7</td><td>www.reservedining.org</td></tr><tr><td>7</td><td>www.parkviewsoccer.org</td></tr><tr><td>7</td><td>www.atlanta2000.org</td></tr><tr><td>7</td><td>levitra.hosting4u.gb.com</td></tr><tr><td>7</td><td>payday-loans.hosting4u.gb.com</td></tr><tr><td>7</td><td>mortgage-rates.uaeecommerce.com</td></tr><tr><td>6</td><td>www.best-deals-diet.info</td></tr><tr><td>6</td><td>www.rethyassociates.org</td></tr><tr><td>6</td><td>www.suttonjames.org</td></tr><tr><td>6</td><td>www.currency-exchange-4u.info</td></tr><tr><td>5</td><td>www.monavaletoys.com</td></tr><tr><td>5</td><td>www.top-deals-pills.info</td></tr><tr><td>5</td><td>www.mor-lite.org</td></tr><tr><td>5</td><td>www.newtruths.com</td></tr><tr><td>5</td><td>www.azian.org</td></tr><tr><td>5</td><td>mortgage.top.uaeecommerce.com</td></tr><tr><td>4</td><td>www.best-deals-hotels.info</td></tr><tr><td>4</td><td>www.best-deals-levitra.info</td></tr><tr><td>3</td><td>www.paramountseedfarms.org</td></tr><tr><td>3</td><td>carisoprodol.hosting4u.gb.com</td></tr><tr><td>2</td><td>www.nehrucollege.org</td></tr><tr><td>2</td><td>www.acrs.us</td></tr><tr><td>2</td><td>www.best-deals-weight-loss.info</td></tr><tr><td>2</td><td>www.sedonaretreat.org</td></tr><tr><td>2</td><td>www.top-deals-viagra.info</td></tr><tr><td
colspan="2">1621 total hits</td></tr></table><table
border="1"><tr><td
colspan="2"><b>219.150.118.16</b></td></tr><tr><td>hits</td><td>hostname</td></tr><tr><td>23</td><td>www.alumnicards.com</td></tr><tr><td>22</td><td>ambien.eg.fidelityfunding.net</td></tr><tr><td>22</td><td>casinos.online-deals-4u.info</td></tr><tr><td>19</td><td>poker.online-deals-4u.info</td></tr><tr><td>18</td><td>www.ingyensms.net</td></tr><tr><td>17</td><td>cash.pl.fidelityfunding.net</td></tr><tr><td>16</td><td>www.suttonjames.net</td></tr><tr><td>16</td><td>www.psychexams.net</td></tr><tr><td>16</td><td>hold-em.fidelityfunding.net</td></tr><tr><td>15</td><td>student-loans.online-deals-4u.info</td></tr><tr><td>15</td><td>texas-holdem-poker.tr.fidelityfunding.net</td></tr><tr><td>15</td><td>forex.gd.fidelityfunding.net</td></tr><tr><td>15</td><td>www.devilofnights.net</td></tr><tr><td>14</td><td>student-credit-cards.jp.fidelityfunding.net</td></tr><tr><td>13</td><td>www.goapplyonline.com</td></tr><tr><td>13</td><td>free-online-texas-holdem.fidelityfunding.net</td></tr><tr><td>13</td><td>learn-to-play-poker.fidelityfunding.net</td></tr><tr><td>13</td><td>casino.ps2cool.com</td></tr><tr><td>13</td><td>poker.reachcasino.com</td></tr><tr><td>13</td><td>www.parkviewsoccer.net</td></tr><tr><td>13</td><td>play-poker.fidelityfunding.net</td></tr><tr><td>13</td><td>www.bigyonet.com</td></tr><tr><td>13</td><td>www.mor-lite.net</td></tr><tr><td>13</td><td>hold-em-poker.online-deals-4u.info</td></tr><tr><td>13</td><td>online-casinos.online-deals-4u.info</td></tr><tr><td>12</td><td>www.zalaszentgrot.com</td></tr><tr><td>12</td><td>weight-loss-pill.sp.fidelityfunding.net</td></tr><tr><td>12</td><td>low-interest-credit-cards.ps2cool.com</td></tr><tr><td>12</td><td>carisoprodol.de.fidelityfunding.net</td></tr><tr><td>12</td><td>casino-poker.fidelityfunding.net</td></tr><tr><td>12</td><td>buy-phentermine.online-deals-4u.info</td></tr><tr><td>12</td><td>www.internet-merchant-account-pro.com</td></tr><tr><td>12</td><td>www.mp-forum.com</td></tr><tr><td>12</td><td>www.1a1merchantaccounts.com</td></tr><tr><td>11</td><td>www.tclighting.net</td></tr><tr><td>11</td><td>www.lvcpa.net</td></tr><tr><td>11</td><td>hold-em-poker.fidelityfunding.net</td></tr><tr><td>11</td><td>diet-pills.cheat-elite.com</td></tr><tr><td>11</td><td>texas-holdem.ps2cool.com</td></tr><tr><td>11</td><td>pacific-poker.cheat-elite.com</td></tr><tr><td>11</td><td>texas-holdem-poker-game.fidelityfunding.net</td></tr><tr><td>11</td><td>www.hasslerenterprises.net</td></tr><tr><td>11</td><td>texas-hold-em-poker-game.fidelityfunding.net</td></tr><tr><td>10</td><td>www.lowinterestratecreditcards.net</td></tr><tr><td>10</td><td>www.smart-debt-consolidation-and-credit-services.com</td></tr><tr><td>10</td><td>online-poker-rooms.fidelityfunding.net</td></tr><tr><td>10</td><td>free-texas-hold-em.fidelityfunding.net</td></tr><tr><td>10</td><td>online-video-poker.fidelityfunding.net</td></tr><tr><td>10</td><td>www.neweighweb.net</td></tr><tr><td>10</td><td>www.low-low-rates.com</td></tr><tr><td>10</td><td>party-poker.online-deals-4u.info</td></tr><tr><td>10</td><td>online-pharmacy.cheat-elite.com</td></tr><tr><td>10</td><td>free-texas-hold-em-online-play.fidelityfunding.net</td></tr><tr><td>10</td><td>www.zone-b51.com</td></tr><tr><td>10</td><td>paradise-poker.fidelityfunding.net</td></tr><tr><td>9</td><td>generic-viagra.cheat-elite.com</td></tr><tr><td>9</td><td>online-poker-game.fidelityfunding.net</td></tr><tr><td>9</td><td>www.middlecay.net</td></tr><tr><td>9</td><td>casino.reachcasino.com</td></tr><tr><td>9</td><td>www.1st-advantage-credit-repair.com</td></tr><tr><td>9</td><td>www.jfcadvocacy.net</td></tr><tr><td>9</td><td>www.consolidate-debt-usa.net</td></tr><tr><td>9</td><td>www.creditsharpie.com</td></tr><tr><td>9</td><td>empire-poker.online-deals-4u.info</td></tr><tr><td>9</td><td>www.123-home-improvement-equity-loans.com</td></tr><tr><td>9</td><td>www.hometeaminspection.net</td></tr><tr><td>9</td><td>online-casino.reachcasino.com</td></tr><tr><td>9</td><td>low-interest-credit-cards.online-deals-4u.info</td></tr><tr><td>9</td><td>on-line-poker.fidelityfunding.net</td></tr><tr><td>8</td><td>www.fast-cash-quick-money-easy-loan.com</td></tr><tr><td>8</td><td>holdem-poker.fidelityfunding.net</td></tr><tr><td>8</td><td>www.hdic.net</td></tr><tr><td>8</td><td>texas-hold-em-online.fidelityfunding.net</td></tr><tr><td>8</td><td>texas-hold-em-poker.online-deals-4u.info</td></tr><tr><td>8</td><td>credit-cards.online-deals-4u.info</td></tr><tr><td>8</td><td>personal-loans.online-deals-4u.info</td></tr><tr><td>8</td><td>www.ps2cool.com</td></tr><tr><td>8</td><td>phendimetrazine.ps2cool.com</td></tr><tr><td>8</td><td>payday-loans.online-deals-4u.info</td></tr><tr><td>8</td><td>credit-card.ps2cool.com</td></tr><tr><td>8</td><td>empire-poker.cheat-elite.com</td></tr><tr><td>8</td><td>www.targetindustries.net</td></tr><tr><td>8</td><td>online-poker-games.fidelityfunding.net</td></tr><tr><td>8</td><td>www.stories-on-cd.net</td></tr><tr><td>8</td><td>soma.ps2cool.com</td></tr><tr><td>8</td><td>celebrity-poker.fidelityfunding.net</td></tr><tr><td>8</td><td>online-casinos.cheat-elite.com</td></tr><tr><td>8</td><td>party-poker.ps2cool.com</td></tr><tr><td>8</td><td>www.credit-cards-credit-cards-credit-cards.net</td></tr><tr><td>8</td><td>www.exclaim4creditcardprocessingmerchantaccount.com</td></tr><tr><td>8</td><td>www.repair-restore-bad-credit-report-identity-theft.com</td></tr><tr><td>7</td><td>texas-holdem-poker.ps2cool.com</td></tr><tr><td>7</td><td>personal-loans.cheat-elite.com</td></tr><tr><td>7</td><td>www.darkangelclan.com</td></tr><tr><td>7</td><td>www.jmsimonr.com</td></tr><tr><td>7</td><td>www.repaircreditonline.net</td></tr><tr><td>7</td><td>www.all-calmortgage.com</td></tr><tr><td>7</td><td>online-casino.online-deals-4u.info</td></tr><tr><td>7</td><td>blackjack.reachcasino.com</td></tr><tr><td>7</td><td>poker-games.ps2cool.com</td></tr><tr><td>7</td><td>pai-gow-poker.fidelityfunding.net</td></tr><tr><td>7</td><td>poker-games.online-deals-4u.info</td></tr><tr><td>7</td><td>texas-poker.fidelityfunding.net</td></tr><tr><td>7</td><td>generic-viagra.online-deals-4u.info</td></tr><tr><td>7</td><td>private-mortgages.online-deals-4u.info</td></tr><tr><td>7</td><td>www.acceptcreditcardsonlineinternetmerchantaccountservices.com</td></tr><tr><td>6</td><td>www.mortgagemarketinginc.com</td></tr><tr><td>6</td><td>texas-hold-em.reachcasino.com</td></tr><tr><td>6</td><td>payday-loans.cheat-elite.com</td></tr><tr><td>6</td><td>three-card-poker.fidelityfunding.net</td></tr><tr><td>6</td><td>levitra.cheat-elite.com</td></tr><tr><td>6</td><td>student-loans.ps2cool.com</td></tr><tr><td>6</td><td>levitra.online-deals-4u.info</td></tr><tr><td>6</td><td>free-online-texas-hold-em.fidelityfunding.net</td></tr><tr><td>6</td><td>texas-hold-em.online-deals-4u.info</td></tr><tr><td>6</td><td>carisoprodol.online-deals-4u.info</td></tr><tr><td>6</td><td>viagra.online-deals-4u.info</td></tr><tr><td>6</td><td>texas-holdem.reachcasino.com</td></tr><tr><td>6</td><td>soma.online-deals-4u.info</td></tr><tr><td>6</td><td>online-loan.cheat-elite.com</td></tr><tr><td>6</td><td>pacific-poker.online-deals-4u.info</td></tr><tr><td>5</td><td>poker.cheat-elite.com</td></tr><tr><td>5</td><td>diet-pills.online-deals-4u.info</td></tr><tr><td>5</td><td>party-poker.reachcasino.com</td></tr><tr><td>5</td><td>texas-hold-em.cheat-elite.com</td></tr><tr><td>5</td><td>free-texas-hold-em-poker-games.fidelityfunding.net</td></tr><tr><td>5</td><td>loans.ps2cool.com</td></tr><tr><td>5</td><td>online-casino.ps2cool.com</td></tr><tr><td>5</td><td>texas-holdem-online.fidelityfunding.net</td></tr><tr><td>5</td><td>www.lowest-interest-rate-credit-cards-online.com</td></tr><tr><td>5</td><td>www.mortgagequestaz.com</td></tr><tr><td>5</td><td>poker-game.fidelityfunding.net</td></tr><tr><td>5</td><td>www.gargzdai.net</td></tr><tr><td>4</td><td>www.cheat-elite.com</td></tr><tr><td>4</td><td>texas-holdem.online-deals-4u.info</td></tr><tr><td>4</td><td>cialis.ps2cool.com</td></tr><tr><td>4</td><td>credit-card.online-deals-4u.info</td></tr><tr><td>4</td><td>weight-loss-diet-pills.online-deals-4u.info</td></tr><tr><td>4</td><td>tramadol.ps2cool.com</td></tr><tr><td>4</td><td>www.firstchoicebanksandpremiercredit.com</td></tr><tr><td>3</td><td>loans.online-deals-4u.info</td></tr><tr><td>3</td><td>butalbital.online-deals-4u.info</td></tr><tr><td>3</td><td>www.acceptcreditcardsrealtime.com</td></tr><tr><td>2</td><td>www.home-equity-loans-mortgage-refinancing.com</td></tr><tr><td>2</td><td>texas-holdem-poker.online-deals-4u.info</td></tr><tr><td>2</td><td>casinos.ps2cool.com</td></tr><tr><td>1</td><td>absolute-poker.fidelityfunding.net</td></tr><tr><td>1</td><td>www.mcdortaklar.com</td></tr><tr><td
colspan="2">1315 total hits</td></tr></table> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/01/21/referer-spammer-of-the-month-award/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>mt-proxyplug shut down comments through proxies</title><link>http://www.kahunaburger.com/2005/01/15/mt-proxyplug-shut-down-comments-through-proxies/</link> <comments>http://www.kahunaburger.com/2005/01/15/mt-proxyplug-shut-down-comments-through-proxies/#comments</comments> <pubDate>Sat, 15 Jan 2005 20:12:57 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Perl]]></category> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/01/15/mt-proxyplug-shut-down-comments-through-proxies/</guid> <description><![CDATA[A few days ago I posted Deny Comment Spam from open proxies in MovableType which showed a technique to limit comment submissions through proxies. Unfortunately there are a number of issues with the small plugin, which made me create mt-proxyplug, presented in this article. How it all started I am a longtime user of Jay [...]]]></description> <content:encoded><![CDATA[<p>A few days ago I posted <a
href="/blog/archives/000191.html">Deny Comment Spam from open proxies in MovableType</a> which showed a technique to limit comment submissions through proxies. Unfortunately there are a number of issues with the small plugin, which made me create <b>mt-proxyplug</b>, presented in this article.</p><p><i>How it all started</i></p><p>I am a longtime user of <a
href="http://mt-plugins.org/archives/entry/blacklist.php">Jay Allen&#8217;s Blacklist</a> and was happy with it for a long time. Recently I could not keep up with adding new keywords/urls to the black list. There seem to be a million variations of &#8220;Texas Hold&#8217;em&#8221; out there and I ended up adding those items slowly to the Blacklist system (in the end I actually added &#8220;texas&#8221; as a Blacklist item only to find a &#8220;texa$ H0ld&#8217;em&#8221; the next day in my list of moderated comments).</p><p>I started to look more carefully at the offending posts and investigated the submitting IP addresses in detail. Soon I realized that most of the stuff was coming from public proxy servers. Companies stupid enough to run public proxies and hijacked user systems are on top of the list of systems that submitted spam to my server.</p><p><i>Monitoring the proxies</i></p><p>My apache configuration was changed to include some proxy specific information in my access_logs. I changed the line:<br
/> <code>LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined</code><br
/> to<br
/> <code>LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %{HTTP_X_FORWARDED_FOR}e" combined</code></p><p>This means that the apache server will also log the contents of the environment variable &#8220;HTTP_X_FORWARDED_FOR&#8221; to the access_log, whenever that environment variable is present. And the environment variable is present if the current request contains a &#8220;X-Forwarded-For:&#8221; header item. The presence of this item is almost always a clear indication that the request was handled by a proxy server. Items that would have previously been logged like this:</p><p><code>200.242.249.70 - - [15/Jan/2005:11:31:52 -0700] "POST /blog/mt-comments.cgi HTTP/1.0" 302 0 "http://www.kahunaburger.com/blog/mt-comments.cgi?entry_id=113" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"</code></p><p>suddenly looked like this:</p><p><code>200.242.249.70 - - [15/Jan/2005:11:31:52 -0700] "POST /blog/mt-comments.cgi HTTP/1.0" 302 0 "http://www.kahunaburger.com/blog/mt-comments.cgi?entry_id=113" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)" 168.41.192.0</code></p><p>(note the addition of the IP address at the end of the line)</p><p>That&#8217;s when I started focusing on proxies and developed mt-commentproxyblock, which evolved into mt-proxyplug.</p><p><i>What does it do?</i></p><p>mt-proxyplug when installed on a MovableType system will act as a &#8216;CommentFilter&#8217;. Every comment submission is passed through it, before it is committed to the database. The plugin will inspect the remote IP address of the system that submits the comment. First it will check if there is a &#8220;X-Forwarded-For:&#8221; header item in the current comment submission request. The mere presence of the header field is an indication that stuff is being submitted through a proxy server. It will then query the <a
href="http://www.dsbl.org/">Distributed Sender Blackhole List</a> and the <a
href="http://opm.blitzed.org/">Blitzed Open Proxy Monitor List</a> for entries for the submitting remote IP address. If either one knows about the IP address, then we assume that the comment comes from a known public proxy system.</p><p>In a last test the remote system is probed on a number of common proxy ports. We try to get access through the system to a well-known and relatively stable host on the internet. If this request is processed successfully on any of the probed ports we also assume that the remote end is indeed a public proxy.</p><p>If any one of the above tests is positive we are not executing the other tests and simply flag the current comment submission as suspicious.</p><p>A configuration section at the top of the file allows for customization of the list of tests the plugin should run.<br
/> There is also a <code>CACHE_COUNT</code> definition that specifies how many found proxies the plugin should keep track of (this will make it much quicker on subsequent requests, if a proxy is used numerous times in a row).</p><p>A log of the plugin&#8217;s actions is also provided in MT&#8217;s Activity Log. Here&#8217;s just a small section from my current log:</p><p><img
src="/images/2005-01-15-mt-activity-log.gif"/></p><p>Since I installed the plugin on kahunaburger.com&#8217;s blog it has caught 121 of 122 comment submissions. The one that slipped through was actually caught by <a
href="/blog/archives/000189.html">mt-spamassassin</a>. During the same time period I also received 4 good comment submissions which made it through the system without any problems.</p><p><i>How to use mt-proxyplug</i></p><p>Just drop the file below into your MovableType&#8217;s plugins folder. Modify the &#8220;settings&#8221; section to your liking (the default values are the recommended values) and you&#8217;re set.<br
/> No other modules are required (I assume that IO::Socket is available on all newer perl installations). HTTP::CheckProxy (as used in the previous version of the plugin) has been dropped, because it would report false positives (or is it &#8220;true negatives&#8221;?).</p><p><b>Update 01/20/2005:</b> I&#8217;ve updated the plugin below to version 0.6. Two changes since the original version:<br
/> 1) I set CHECK_LIST_DSBL_ORG to &#8220;0&#8243; by default, based on ioerror.us&#8217;s comments <a
href="/blog/mt-comments.cgi?entry_id=191">here</a><br
/> 2) I fixed the require list at the top of the file to include &#8220;LWP::UserAgent&#8221; after receiving a problem report from <a
href="http://cj69collins.us/blog/">Chris</a>.</p><p>You can download the plugin here: <a
href="/tmp/mt-proxyplug.pl.gz">mt-proxyplug.pl.gz (2.5KB, gzip)</a></p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/01/15/mt-proxyplug-shut-down-comments-through-proxies/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>Deny Comment Spam from open proxies in MovableType</title><link>http://www.kahunaburger.com/2005/01/13/deny-comment-spam-from-open-proxies-in-movabletype/</link> <comments>http://www.kahunaburger.com/2005/01/13/deny-comment-spam-from-open-proxies-in-movabletype/#comments</comments> <pubDate>Thu, 13 Jan 2005 14:40:37 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Perl]]></category> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/01/13/deny-comment-spam-from-open-proxies-in-movabletype/</guid> <description><![CDATA[Update 2005/01/15: Please consider using mt-proxyplug instead of this plugin below. Along the same lines as yesterday&#8217;s SpamAssassin and MovableType entry, here&#8217;s another weapon against the &#8220;texas hold&#8217;em&#8221; and &#8220;football&#8211;betting&#8221; idiots. Those morons have a tendency to conceal their identity. They are hiding behind public proxy servers and bombard your servers with their crap from [...]]]></description> <content:encoded><![CDATA[<p><b><i>Update 2005/01/15</i>: Please consider using <a
href="/blog/archives/000192.html">mt-proxyplug</a> instead of this plugin below</b>.</p><p>Along the same lines as yesterday&#8217;s <a
href="/blog/archives/000189.html">SpamAssassin and MovableType</a> entry, here&#8217;s another weapon against the &#8220;texas hold&#8217;em&#8221; and &#8220;football&#8211;betting&#8221; idiots.</p><p>Those morons have a tendency to conceal their identity. They are hiding behind public proxy servers and bombard your servers with their crap from there. So all we have to do is to check for a public proxy when somebody tries to submit a comment. If I detect a submission through a public proxy server it will not end up on the site, but will be ignored silently.</p><p>The proxy check is done in two stages:<ul><li> if we find the HTTP_X_FORWARDED_FOR environment variable we assume that a proxy has handled the request and we don&#8217;t even look any further.</li><li> if no HTTP_X_FORWARDED_FOR is found, we grab Apache&#8217;s REMOTE_ADDR environment variable (the ip-address of the system who sent the current request) and use the <a
href="http://cpan.uwinnipeg.ca/dist/HTTP-CheckProxy" target="_blank">HTTP::CheckProxy</a> module to test whether the submitting system is a public proxy server</li></ul><p>If a comment submission is coming from a public proxy we drop a line in the server&#8217;s error_log. Here are just some of the entries I captured since I installed it:</p><pre>
[Thu Jan 13 08:35:21 2005] comment denied - using proxy: 216.49.49.118 80.25.156.151 -
poker/bushmills1614@rocketmail.com/80.58.4.111
[Thu Jan 13 08:35:46 2005] comment denied - using proxy: 24.215.40.47 -
football betting/bob@y6322o.com/63.110.140.28
[Thu Jan 13 08:39:00 2005] comment denied - using proxy: 58.40.89.127 -
phentermine/gocha9985@see.it/203.199.92.158
[Thu Jan 13 08:48:59 2005] comment denied - using proxy: 115.120.174.78, 127.0.0.1 -
online poker/absolut5129@freemail.com/80.255.49.222
</pre><p>And before somebody points me at Brad&#8217;s <a
href="http://mt-plugins.org/archives/entry/dbsl.php" target="_blank">DBSL</a> plugin: I&#8217;ve tested all the proxies listed above and they do not appear in the DSBL.</p><p>In order to use the plugin you will need to have the perl module HTTP::CheckProxy on your system. Drop the perl-code below into your MT plugins folder and you should be ready to go. Again, this has only been tested under Apache!</p><p>You can download the compressed version here: <a
href="/tmp/mt-commentproxyblock.pl.gz">mt-commentproxyblock.pl.gz (1 Kb,gzip)</a></p><pre>
#!/usr/bin/perl -w
package MT::Plugin::CommentProxyBlock;
use strict;
use lib '../lib';
use vars qw ($VERSION);
$VERSION='0.2';
use constant ACCEPT_RESPONSE =&gt; 1;
use constant DENY_RESPONSE   =&gt; 0;
use MT;
use MT::App::Comments;
use HTTP::CheckProxy;
eval{ require MT::Plugin };
unless ($@) {
&nbsp;&nbsp;&nbsp;&nbsp;my $plugin = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name =&gt; qq{Comment Proxy Block for Movable Type v$VERSION},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description =&gt; qq{Will block attempts to post a comment via a proxy server},
&nbsp;&nbsp;&nbsp;&nbsp;};
&nbsp;&nbsp;&nbsp;&nbsp;MT-&gt;add_plugin(new MT::Plugin($plugin));
&nbsp;&nbsp;&nbsp;&nbsp;# tell MT that we want to be called to filter comments
&nbsp;&nbsp;&nbsp;&nbsp;MT-&gt;add_callback('CommentFilter', 1, $plugin, \&amp;proxyCheck_filter);
}
# proxyCheck_filter
#
# checks environment for an entry which indicates we are handling a request that
# came from a proxy server (HTTP_X_FORWARDED_FOR). If environment does not give
# any indication, check REMOTE_ADDR and see if it proxies requests for us. If
# either is true we deny the comment posting attempt. Tested in Apache only!
sub proxyCheck_filter {
&nbsp;&nbsp;&nbsp;&nbsp;my($eh,$app,$comment)=@_;
&nbsp;&nbsp;&nbsp;&nbsp;my($isProxy,$proxy)=(0,'');
&nbsp;&nbsp;&nbsp;&nbsp;# uncomment to get a complete dump of the environment
&nbsp;&nbsp;&nbsp;&nbsp;# dumpEnv();
&nbsp;&nbsp;&nbsp;&nbsp;# check environment
&nbsp;&nbsp;&nbsp;&nbsp;$proxy=$ENV{HTTP_X_FORWARDED_FOR};
&nbsp;&nbsp;&nbsp;&nbsp;if(defined($proxy) &amp;&amp; length($proxy)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] proxy request forwarded for: $proxy\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if we have a X-Forwarded-For header, it was most likely
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# added by the system that sent the request
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$proxy=$ENV{REMOTE_ADDR};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$isProxy++;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;# check remote address
&nbsp;&nbsp;&nbsp;&nbsp;unless($isProxy) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$proxy=$ENV{REMOTE_ADDR};
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] probing for open proxy: $proxy\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $p=HTTP::CheckProxy-&gt;new($proxy,qq{http://www.google.com/});
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$isProxy++ if($p-&gt;guilty());
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;if($isProxy) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] comment denied - " .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"using proxy: $proxy - " .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;join("/",$comment-&gt;author,$comment-&gt;email,$comment-&gt;ip) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return DENY_RESPONSE;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE;
}
sub dumpEnv {
&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] environment for $0:\n";
&nbsp;&nbsp;&nbsp;&nbsp;foreach my $key (sort keys %ENV) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."]   $key = ",$ENV{$key},"\n";
&nbsp;&nbsp;&nbsp;&nbsp;}
}
1;
</pre>]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/01/13/deny-comment-spam-from-open-proxies-in-movabletype/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Spam Assassin and Movable Type</title><link>http://www.kahunaburger.com/2005/01/11/spam-assassin-and-movable-type/</link> <comments>http://www.kahunaburger.com/2005/01/11/spam-assassin-and-movable-type/#comments</comments> <pubDate>Tue, 11 Jan 2005 16:34:25 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Perl]]></category> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2005/01/11/spam-assassin-and-movable-type/</guid> <description><![CDATA[Update 2005/01/15: Please consider combining the plugin below with mt-proxyplug for best results. A few days ago I saw the post on ioerror.us which details a solution to link WordPress&#8217;s comment checking system with Spam Assassin. I run MovableType and a WordPress solution does not work for me. The code needed to change a bit [...]]]></description> <content:encoded><![CDATA[<p><b><i>Update 2005/01/15</i>: Please consider combining the plugin below with <a
href="/blog/archives/000192.html">mt-proxyplug</a> for best results</b>.</p><p>A few days ago I saw the <a
href="http://www.ioerror.us/wp-spamassassin/" target="_blank">post on ioerror.us</a> which details a solution to link WordPress&#8217;s comment checking system with Spam Assassin. I run MovableType and a WordPress solution does not work for me. The code needed to change a bit before it was usable on my system.</p><p>After enabling it last night and disabling mt-blacklist, I&#8217;m happy to report that it has caught every single comment spam attempt (a total of 32 attempts were registered). Spam indications appear in my server&#8217;s error_log like this:</p><pre>
[Tue Jan 11 08:33:34 2005] spam from diet pills/jane_doe7082@work.com/
148.244.150.58: score 10.7 (limit 5.0)
</pre><p>A message like this indicates that the &#8216;CommentFilter&#8217; implemented in mt-spamassassin.pl has received notification from the Spam Assassin daemon that the current comment is over the Spam Assassin threshold.</p><p>In order to use the mt-spamassassin.pl plugin you will need to have Spam Assassin&#8217;s spamd running on your own network or need access to spamd running on a remote system. Enter the name of the system that runs spamd in <code>$sa_spamd_host</code> (use &#8216;localhost&#8217; if it&#8217;s running on the same host as MovableType) and also enter the port number where spamd can be reached in <code>$sa_spamd_port</code>. And because I did not find a way to retrieve a blog owners email address from within the MoveableType plugin, please also enter your email address in <code>$mt_owner</code>. For SpamAssassin&#8217;s user_prefs to work, you should also set your real (unix) userid in <code>$mt_userid</code>. Drop the modified file in your blog&#8217;s plugins folder and it should be ready to go.</p><p>Thanks to <a
href="http://www.ioerror.us/" target="_blank">http://www.ioerror.us/</a> for the cool idea!</p><p>You can download the compressed version here: <a
href="/tmp/mt-spamassassin.pl.gz">mt-spamassassin.pl.gz (1.5 Kb,gzip)</a></p><p><i><b>Update 01/14/2005:</b> I&#8217;ve since added another plugin called <a
href="/blog/archives/000191.html">mt-commentproxyblock</a>, which has detected <b>every single spam submission on 01/13/2005</b> before it was passed through mt-spamassassin. It seems that the majority of spammers do use public proxies and those are easy to detect.</i></p><p><i><b>Update 01/20/2005:</b> I just posed a new version of the plugin with a few enhancements. If you have both mt-spamassassin and <a
href="/blog/archives/000192.html">mt-proxyplug</a> on your system, a comment will be shortcut if mt-proxyplug has already determined that it comes from an open proxy. Specifically, mt-spamassassin will look at the visible-flag of the comment and will not work on comments which are not visible. This will cut down on processing time for spam comments.<br
/> Second, <a
href="http://taint.org/">Justin</a> was nice enough to correct the fake Message-header I&#8217;ve been sending to spamd to make it more RFC-2822 compliant. Thanks!<br
/> Third, you can now specify a <code>$mt_moderate</code> threshold value. This means that if a comment submission is below the Spam threshold (defined in Spam Assassin), but above the <code>$mt_moderate</code> value, it will be moderated instead of being allowed all the way through to the blog. </i></p><pre>
#!/usr/bin/perl -w
package MT::Plugin::SpamAssassin;
use strict;
use lib '../lib';
use vars qw ($VERSION);
$VERSION='0.4';
# (CHANGE ME) what host is running spamd?
my $sa_spamd_host = q{localhost};
# (CHANGE ME) what port is spamd listening on?
my $sa_spamd_port = 783;
# (CHANGE ME) who is the owner of the blog?
my $mt_owner      = q{me@localhost.com};
# (CHANGE ME) what is the userid for SpamAssassin?
my $mt_userid     = q{me};
# (CHANGE ME) what is the moderate threshold?
my $mt_moderate   = 1.5;
use constant ACCEPT_RESPONSE =&gt; 1;
use constant DENY_RESPONSE   =&gt; 0;
use MT;
use MT::App::Comments;
use IO::Socket;
use Time::Local qw(timegm);
use POSIX;
eval{ require MT::Plugin };
unless ($@) {
&nbsp;&nbsp;&nbsp;&nbsp;my $plugin = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name =&gt; qq{Spamassassin for Movable Type v$VERSION},
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;description =&gt; qq{Spamassassin for Movable Type},
&nbsp;&nbsp;&nbsp;&nbsp;};
&nbsp;&nbsp;&nbsp;&nbsp;MT-&gt;add_plugin(new MT::Plugin($plugin));
&nbsp;&nbsp;&nbsp;&nbsp;# tell MT that we want to be called to filter comments
&nbsp;&nbsp;&nbsp;&nbsp;MT-&gt;add_callback('CommentFilter', 10, $plugin, \&amp;sa_filter);
}
# sa_filter
#
# 'CommentFilter' that is called for each attempt to post a comment
# on your blog. We'll pass the incoming comment to spamd running on
# $sa_spamd_host:$sa_spamd_port. If spamd responds with an indication
# that the comment was spam, then we'll repond with DENY_RESPONSE.
# If spamd says it's no spam or we can't get a good connection to
# spamd, we'll respond with ACCEPT_RESPONSE
sub sa_filter {
&nbsp;&nbsp;&nbsp;&nbsp;my($eh,$app,$comment)=@_;
&nbsp;&nbsp;&nbsp;&nbsp;unless($comment-&gt;visible()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;#print STDERR "[".scalar(localtime())."] mt-spamassassin: " .
&nbsp;&nbsp;&nbsp;&nbsp;#  join("/",$comment-&gt;author,$comment-&gt;email,$comment-&gt;url,$comment-&gt;ip) . "\n";
&nbsp;&nbsp;&nbsp;&nbsp;my $now=rfc822_date();
&nbsp;&nbsp;&nbsp;&nbsp;my $hostname=gethostbyaddr(inet_aton($comment-&gt;ip), AF_INET);
&nbsp;&nbsp;&nbsp;&nbsp;my $message="From " . $comment-&gt;email . " " . $now . "\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Received: from client ([" . $comment-&gt;ip . "] ".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;($hostname?$hostname:$comment-&gt;ip) . ")" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" by " . $ENV{HTTP_HOST} . " via MovableType; " . $now . "\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Message-id: &lt;". sprintf("%x\$%x",time,rand(65535)) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\@" . ($hostname?$hostname:sprintf("[%s]",$comment-&gt;ip)) . "&gt;\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"From: " . $comment-&gt;author .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" &lt;" . $comment-&gt;email . "&gt;\nDate: " . $now . "\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Subject: MovableType comment\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"To: $mt_owner\n\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$comment-&gt;url . "\n".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$comment-&gt;text;
&nbsp;&nbsp;&nbsp;&nbsp;# make sure all lines end in "\r\n";
&nbsp;&nbsp;&nbsp;&nbsp;$message =~ s/\r\n/\n/gs;
&nbsp;&nbsp;&nbsp;&nbsp;$message =~ s/\r/\n/gs;
&nbsp;&nbsp;&nbsp;&nbsp;$message =~ s/\n/\r\n/gs;
&nbsp;&nbsp;&nbsp;&nbsp;# now send it off to Spamassassin
&nbsp;&nbsp;&nbsp;&nbsp;my $socket=IO::Socket::INET-&gt;new(PeerAddr =&gt; $sa_spamd_host,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PeerPort =&gt; $sa_spamd_port,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Proto    =&gt; "tcp",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type     =&gt; SOCK_STREAM);
&nbsp;&nbsp;&nbsp;&nbsp;# no socket - no spam check
&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE unless($socket);
&nbsp;&nbsp;&nbsp;&nbsp;# create the CHECK message for spamd
&nbsp;&nbsp;&nbsp;&nbsp;$message = "CHECK SPAMC/1.2\r\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"User: $mt_userid\r\n" .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"Content-Length: ".length($message).
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"\r\n\r\n".
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$message;
&nbsp;&nbsp;&nbsp;&nbsp;# print STDERR "[".scalar(localtime())."] sending to spamd:\n$message\n";
&nbsp;&nbsp;&nbsp;&nbsp;# send it to spamd
&nbsp;&nbsp;&nbsp;&nbsp;my $toSend=$message;
&nbsp;&nbsp;&nbsp;&nbsp;while(length($toSend)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $written = $socket-&gt;send($toSend);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unless(defined($written)) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# oh no, something went wrong <img src='http://www.kahunaburger.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$toSend=substr($toSend,$written);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;# close writing end of socket
&nbsp;&nbsp;&nbsp;&nbsp;$socket-&gt;shutdown(1);
&nbsp;&nbsp;&nbsp;&nbsp;# suck in response from SpamAssassin
&nbsp;&nbsp;&nbsp;&nbsp;my $response;
&nbsp;&nbsp;&nbsp;&nbsp;while(1) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $buffer;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unless(defined($socket-&gt;recv($buffer, 1024))) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last unless(length($buffer));
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response .= $buffer;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;# trim  whitespace off the beginning of the response
&nbsp;&nbsp;&nbsp;&nbsp;$response =~ s/^\s*//;
&nbsp;&nbsp;&nbsp;&nbsp;# check if it is really a SpamAssassin response
&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE unless ($response =~ /^spamd\/[\d\.]+/i);
&nbsp;&nbsp;&nbsp;&nbsp;# now find "Spam: True|False ; score / limit" header
&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unless ($response =~ /spam:\s*(\S+)\s*;\s*([\d\.]+)\s*\/\s*([\d\.]+)/is);
&nbsp;&nbsp;&nbsp;&nbsp;my($flag,$score,$limit)=($1,$2,$3);
&nbsp;&nbsp;&nbsp;&nbsp;#if($flag =~ /false/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#print STDERR "[".scalar(localtime())."] no spam:\n$message\n";
&nbsp;&nbsp;&nbsp;&nbsp;#}
&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] spam $flag from " .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;join("/",$comment-&gt;author,$comment-&gt;email,$comment-&gt;ip) .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;": score $score (limit $limit)\n";
&nbsp;&nbsp;&nbsp;&nbsp;if($flag =~ /false/i) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($score &gt; $mt_moderate) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print STDERR "[".scalar(localtime())."] moderating comment\n";
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$comment-&gt;visible(0);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return ACCEPT_RESPONSE;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;# log a line to the error_log
&nbsp;&nbsp;&nbsp;&nbsp;return DENY_RESPONSE;
}
# rfc822_date
#
# generate a GMT date according to rfc822
sub rfc822_date {
&nbsp;&nbsp;&nbsp;&nbsp;# offset in hours (from Mail::Sendmail)
&nbsp;&nbsp;&nbsp;&nbsp;my $offset  = sprintf "%.1f", (timegm(localtime) - time) / 3600;
&nbsp;&nbsp;&nbsp;&nbsp;my $minutes = sprintf "%02d", abs( $offset - int($offset) ) * 60;
&nbsp;&nbsp;&nbsp;&nbsp;my $TZ  = sprintf("%+03d", int($offset)) . $minutes;
&nbsp;&nbsp;&nbsp;&nbsp;return POSIX::strftime("%a, %d %b %Y %T $TZ",localtime(time()));
}
1;
</pre>]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2005/01/11/spam-assassin-and-movable-type/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Open letter to vistaprint.com: Stop the Spam!</title><link>http://www.kahunaburger.com/2004/03/03/open-letter-to-vistaprintcom-stop-the-spam/</link> <comments>http://www.kahunaburger.com/2004/03/03/open-letter-to-vistaprintcom-stop-the-spam/#comments</comments> <pubDate>Wed, 03 Mar 2004 19:57:24 +0000</pubDate> <dc:creator>Tobias</dc:creator> <category><![CDATA[Spam]]></category> <guid
isPermaLink="false">http://www.kahunaburger.com/2004/03/03/open-letter-to-vistaprintcom-stop-the-spam/</guid> <description><![CDATA[&#8220;Claim 250 Full-Color Business Cards FREE!&#8221; it screams at me every few days. Vistaprint.com is giving away those 250 Business Cards, because they know you&#8217;ll like the quality and will come back for more. What they don&#8217;t know is that people are getting fed up with the constant stream of spam advertising their service. So [...]]]></description> <content:encoded><![CDATA[<p><b>&#8220;Claim 250 Full-Color Business Cards FREE!&#8221;</b> it screams at me every few days. Vistaprint.com is giving away those 250 Business Cards, because they know you&#8217;ll like the quality and will come back for more.<br
/> What they don&#8217;t know is that people are getting fed up with the constant stream of spam advertising their service. So here&#8217;s an open letter to those guys at vistaprint.com<br
/> <span
id="more-115"></span><br
/> Dear vistaprint.com,</p><p>it looks like some of your &#8220;Refer-A-Friend&#8221; participants are seeing the whole world as their friend and advertise your service in form of bulk-email to milions of people. This is rather annoying.<br
/> In reading through your &#8220;Refer-A-Friend&#8221; Terms and Conditions (go to the <a
href="http://www.vistaprint.com/vp/ns/customer_care/help/default.aspx" target="_blank">VistaPrint Help Section</a> and select &#8220;Refer-a-Friend Terms and Conditions&#8221; in the right column) I can see under point 7 (quote):</p><blockquote><p>7. If a Referring Customer provides a Personal Link to another person by email, the email must be created and distributed in a personal manner that is appropriate and customary for communications with friends and family members. Bulk email distribution, distribution to strangers, or any other promotion of a Personal Link in a manner that would constitute or appear to constitute unsolicited commercial email or &#8220;spam&#8221; under any applicable law or regulation is expressly prohibited and will be grounds for immediate termination of the Referring Customer&#8217;s account and deactivation of the Personal Link.</p></blockquote><p>This makes me believe that you don&#8217;t like the way that your services are advertised via the message I receive every few days.<br
/> Would you be able to investigate whether those messages are being sent under the umbrella of bluk-mail and whether there is a way to stop the sender from bombarding us?</p><p>Here&#8217;s a small snapshot of the mails I received over the last few weeks:<br
/> <img
src="/images/vistaprint.gif" alt="Spam Emails advertising vistaprint.com"></p><p>What all those spam messages seem to have in common is that they refer to the <b>bigdls.com</b> and <b>4grtdlz.com</b> domains. Here are just the last few ones (obviously not linked):<ul><li>http://rlmeeamsem.bigdls.com/icgkfet.html</p><li>http://vtcggkczgc.bigdls.com/zfmnfwm.html<li>http://loswwfszws.bigdls.com/pxkipqk.html<li>http://zvbwwpbswb.bigdls.com/zfmwwpm.html<li>http://eraeeuabea.bigdls.com/yqmvqqw.html<li>http://zvbwwpbswb.bigdls.com/icfgebk.html<li>http://tuxhhexvhx.bigdls.com/glktslk.html<li>http://xbskkwscks.4grtdlz.com/kxjbmmj.html<li>http://loswwfszws.4grtdlz.com/oanauoa.html</ul><p>I followed the mind-blowing sequence of redirects for each one of them. Here&#8217;s just one example for the first link:</p><p><code><br
/> $ GET -x http://rlmeeamsem.bigdls.com/icgkfet.html<br
/> LWP::UserAgent::new: ()<br
/> LWP::UserAgent::request: ()<br
/> LWP::UserAgent::send_request: <b>GET http://rlmeeamsem.bigdls.com/icgkfet.html</b><br
/> LWP::UserAgent::_need_proxy: Not proxied<br
/> LWP::Protocol::http::request: ()<br
/> LWP::Protocol::collect: read 302 bytes<br
/> LWP::UserAgent::request: Simple response: Found<br
/> LWP::UserAgent::request: ()<br
/> LWP::UserAgent::send_request: <b>GET http://c.azjmp.com/az/ch.php?f=586&amp;i=162</b><br
/> LWP::UserAgent::_need_proxy: Not proxied<br
/> LWP::Protocol::http::request: ()<br
/> LWP::Protocol::collect: read 110 bytes<br
/> LWP::UserAgent::request: Simple response: OK<br
/> &lt;Script language = javascript&gt; window.location.href='<b>http://c.azjmp.com/az/ch.php?f=625&amp;i=162&amp;sub=</b>';&lt;/script&gt;</p><p>$ GET -x 'http://c.azjmp.com/az/ch.php?f=625&amp;i=162&amp;sub='<br
/> LWP::UserAgent::new: ()<br
/> LWP::UserAgent::request: ()<br
/> LWP::UserAgent::send_request: GET http://c.azjmp.com/az/ch.php?f=625&amp;i=162&amp;sub=<br
/> LWP::UserAgent::_need_proxy: Not proxied<br
/> LWP::Protocol::http::request: ()<br
/> LWP::Protocol::collect: read 120 bytes<br
/> LWP::UserAgent::request: Simple response: Found<br
/> LWP::UserAgent::request: ()<br
/> LWP::UserAgent::send_request: GET http://www.azoogleads.com/az/ch.php?f=625&amp;i=162&amp;sub=&amp;pop=&amp;aux=&amp;bypass=<br
/> LWP::UserAgent::_need_proxy: Not proxied<br
/> LWP::Protocol::http::request: ()<br
/> LWP::Protocol::collect: read 412 bytes<br
/> LWP::UserAgent::request: Simple response: OK<br
/> &lt;SCRIPT LANGUAGE="JavaScript"&gt;<br
/> function randwin() {<br
/> allwin=window.open("http://c.azjmp.com/az/ch.php?pop=0&amp;f=548&amp;i=162&amp;sub=popup",'TheNewpop','toolbar=1,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1');<br
/> allwin.blur();<br
/> window.focus();<br
/> }<br
/> randwin()<br
/> &lt;/SCRIPT&gt;<br
/> &lt;Script language = javascript&gt;<br
/> window.location.href='<b>http://www.vistaprint.com/vp/gateway.asp?S=7979826309</b>';<br
/> &lt;/script&gt;</p><p>$</p><p></code></p><p>You can see that after this sequence of redirects (and a popup madness on the screen), we end up on your site with the URL: <b>http://www.vistaprint.com/vp/gateway.asp?S=7979826309</b>.  &#8211; could it be that the &#8220;7979826309&#8243; is a referral ID which allows you to track down the source of this spam-message and thus the spam-sender? All those other bigdls.com and 4grtdlz.com URLs above also end up on your site with the same referral ID.</p><p>Would it also be possible to apply your &#8220;Refer-A-Friend&#8221; Terms and Conditions to this particular friend and make sure that we are not receiving any more Spam from this source?</p><p>Regards<br
/> &nbsp;&nbsp;Tobias</p> ]]></content:encoded> <wfw:commentRss>http://www.kahunaburger.com/2004/03/03/open-letter-to-vistaprintcom-stop-the-spam/feed/</wfw:commentRss> <slash:comments>41</slash:comments> </item> </channel> </rss>
