% @ LANGUAGE=VBScript %>
<% Option Explicit %>
<%
'
IF YOU CAN SEE THIS IT MEANS THAT THE WEB SERVER
' DOES NOT SUPPORT ACTIVE SERVER PAGES AND VBSCRIPT
' OR THE WEB SERVER IS FUBAR
'===============================================================
' TDLYWNX.ASP:
' Generate HTML containing bogus addresses, and some not-so-bogus
' addresses like "postmaster".
' The idea is to keep SPAMers and junkmailers who search web pages
' for addresses too busy with bogus addresses to flood valid ones.
' No good web site should be without at least a few thousand bogus
' addresses that are changed often.
'===============================================================
' Original Perl source code kind courtesy of johnbob @ io.com.
' Converted to VBScript (ASP) Brad Berson 1998041900 on a prayer.
' Tested on MS Internet Information Server 4.0 and Option Pack 4.
' Cleaned up some code, added some header HTML to make it look
' less suspicious in context, added some other distractions, and
' added a JavaScript [back] button for errant humans. Also added
' detection of remote domain and/or IP addr to create abuse@ and
' localhost@ destinations for same.
'===============================================================
' Comments or suggestions to brad.berson @ rectaltronics.com.
' Please copy and use freely. Copy updates to Brad Berson.
' If you use this script, I only ask you write to say "thanks."
'===============================================================
' Last Update: 1998041900 - Brad Berson - Original debugged
'===============================================================
'===============================================================
' Global variable and array initialization...
'===============================================================
dim arrCandidateList(4)
arrCandidateList(0)="abcdefghijklmnopqrstuvwxyz"
arrCandidateList(1)="abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz0123456789"
arrCandidateList(2)="abcdefghijklmnopqrstuvwxyz0123456789"
arrCandidateList(3)="ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
arrCandidateList(4)="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
dim arrCandidateListP(4)
arrCandidateListP(0)=844
arrCandidateListP(1)=125
arrCandidateListP(2)=25
arrCandidateListP(3)=5
arrCandidateListP(4)=1
dim arrNameLengthP(7)
arrNameLengthP(0)=1
arrNameLengthP(1)=49
arrNameLengthP(2)=100
arrNameLengthP(3)=150
arrNameLengthP(4)=150
arrNameLengthP(5)=125
arrNameLengthP(6)=100
arrNameLengthP(7)=75
dim arrWordLengthP(15)
arrWordLengthP(0)=1
arrWordLengthP(1)=100
arrWordLengthP(2)=500
arrWordLengthP(3)=400
arrWordLengthP(4)=350
arrWordLengthP(5)=300
arrWordLengthP(6)=250
arrWordLengthP(7)=200
arrWordLengthP(8)=150
arrWordLengthP(9)=100
arrWordLengthP(10)=50
arrWordLengthP(11)=25
arrWordLengthP(12)=1
arrWordLengthP(13)=1
arrWordLengthP(14)=1
arrWordLengthP(15)=1
dim arrWordsOfLength1(1)
arrWordsOfLength1(0)="a"
arrWordsOfLength1(1)="I"
dim arrPartsP(2)
arrPartsP(0)=7
arrPartsP(1)=2
arrPartsP(2)=1
dim arrEndingList(13)
dim arrEndingListP(13)
arrEndingList(0)="com" : arrEndingListP(0)=40
arrEndingList(1)="edu" : arrEndingListP(1)=30
arrEndingList(2)="org" : arrEndingListP(2)=10
arrEndingList(3)="gov" : arrEndingListP(3)=1
arrEndingList(4)="us" : arrEndingListP(4)=1
arrEndingList(5)="fi" : arrEndingListP(5)=1
arrEndingList(6)="nl" : arrEndingListP(6)=5
arrEndingList(7)="uk" : arrEndingListP(7)=4
arrEndingList(8)="net" : arrEndingListP(8)=2
arrEndingList(9)="kr" : arrEndingListP(9)=1
arrEndingList(10)="de" : arrEndingListP(10)=5
arrEndingList(11)="se" : arrEndingListP(11)=1
arrEndingList(12)="no" : arrEndingListP(12)=4
arrEndingList(13)="si" : arrEndingListP(13)=1
dim arrZwho(3)
arrZwho(0)="postmaster"
arrZwho(1)="abuse"
arrZwho(2)="admin"
arrZwho(3)="root"
dim arrZwhereAt(4)
arrZwhereAt(0)=""
arrZwhereAt(1)="@localhost"
arrZwhereAt(2)="@loopback"
arrZwhereAt(3)="@" & Request.ServerVariables("REMOTE_HOST")
arrZwhereAt(4)="@" & Request.ServerVariables("REMOTE_ADDR")
dim arrZautoresponders(21)
arrZautoresponders(0)="jnyynpr@plorecebzb.pbz"
arrZautoresponders(1)="znaerzbir@plorecebzb.pbz"
arrZautoresponders(2)="nohfr@plorecebzb.pbz"
arrZautoresponders(3)="nohfrobg@plorecebzb.pbz"
arrZautoresponders(4)="fraqre@nafjrezr.pbz"
arrZautoresponders(5)="frira@tybonysa.pbz"
arrZautoresponders(6)="yra@hck.arg"
arrZautoresponders(7)="grez@zbarljbeyq.pbz"
arrZautoresponders(8)="gevdhnag@rneguyvax.arg"
arrZautoresponders(9)="qvfarltebhc@nafjrezr.pbz"
arrZautoresponders(10)="yvfgf@nafjrezr.pbz"
arrZautoresponders(11)="serq@svapba.pbz"
arrZautoresponders(12)="rmvar@fcelarg.pbz"
arrZautoresponders(13)="ppo@ploreirefr.pbz"
arrZautoresponders(14)="vasvavgl@haqngn.pbz"
arrZautoresponders(15)="wbuaz@znaafjro.pbz"
arrZautoresponders(16)="wraal31@whab.pbz"
arrZautoresponders(17)="crtnfhf496@cbjrearg.pbz"
arrZautoresponders(18)="pncf@kcbaragvny.pbz"
arrZautoresponders(19)="fgne5@cbobk.unegyrl.ba.pn"
arrZautoresponders(20)="hfpppa@unira.vbf.pbz"
arrZautoresponders(21)="rkarg@obbgf.pbz"
dim HelpScreen : HelpScreen = 0
dim DebugMode : DebugMode=0
dim title : title="SPAM bait"
dim RandomTitle : RandomTitle=-1
dim NumLow : NumLow=900
dim NumHigh : NumHigh=1100
dim FromMode : FromMode=0
dim Chaff : Chaff=0
dim TimeOut : TimeOut=90
dim Svar
dim strConsonants : strConsonants = "bcdfghjklmnpqrstvwxyz"
dim strVowels : strVowels = "aeiou"
'===============================================================
' Read command-line parameters...
'===============================================================
' chaff mode includes random stuff interspersed among addresses
Svar = Request.QueryString("chaff")
if Svar > "" then
Chaff=Svar
NumLow=250
NumHigh=400
end if
' override number of addresses to write
Svar = Request.QueryString("nlow")
if Svar > "" then
NumLow=Svar
NumHigh=Svar
end if
' set to 0 for fixed default title instead of random
Svar = Request.QueryString("randomtitle")
if Svar > "" then RandomTitle=Svar
' over-ride default title if not random
Svar = Request.QueryString("title")
if Svar > "" then
title=Svar
RandomTitle=0
end if
' from mode writes out "from addr" instead of mailto HTML links
Svar = Request.QueryString("frommode")
if Svar > "" then FromMode=Svar
' increase server timeout for running the script if slow
Svar = Request.QueryString("timeout")
if (IsNumeric(Svar)) and (Svar => 90) then Server.ScriptTimeout=Svar
' debug mode?
Svar = Request.QueryString("debug")
if Svar > "" then DebugMode=Svar
' help...
Svar = Request.QueryString("help")
if Svar > "" then HelpScreen=Svar
'===============================================================
' Main code...
'===============================================================
dim tp, p, NumMailTo, strAddress, addresses
randomize
'make a random title
if ( RandomTitle ) then
title = ""
tp = RandomInteger(2,6)
for p = 1 to tp
' pick one or the other
title = title & " " & Capitalize(RandomWordP(""))
' title = title & " " & Capitalize(RandomPronounceableWord(""))
next
end if
'HTML headers
Response.Write("" & vbNewLine)
Response.Write("
") Response.Write("
") Response.Write("Syntax: http://hostname/scriptname.asp[?parameter=value[&...]]" & vbNewLine) Response.Write(" where value must be 0, 1, or desired numeric or URL compliant text" & vbNewLine & vbNewLine) Response.Write("?title= Page Title" & vbNewLine) Response.Write("?nlow= Number of addresses to write" & vbNewLine) Response.Write("?randomtitle= 0 to use fixed default title" & vbNewLine) Response.Write("?frommode= Write from:'s instead of mailto:'s" & vbNewLine) Response.Write("?chaff= Include random text with mail links interspersed" & vbNewLine) Response.Write("?timeout= Set to 90 or longer to increase script timeout" & vbNewLine) Response.Write("?debug= Write debugging data" & vbNewLine) Response.Write("") else 'write out title in heading Response.Write("
") 'how many fake addresses to make? NumMailTo = RandomInteger(NumLow,NumHigh) 'main loop to write fake addresses... for addresses = 1 to NumMailTo 'intersperse some paragraphs? if ((Chaff) and (RandomInteger(0,10))) then Response.Write("
" & RandomParagraph() & "
" & vbNewLine) end if strAddress = FakeAddress if (FromMode) then Response.Write("From: " & strAddress) else Response.Write("" & strAddress & "") end if if (RandomInteger(1,3) = 1) then 'throw in an occasional cr-lf Response.Write("" & vbNewLine) Response.Write(" |