CGI Security Issues

When you are creating or using CGI routines, you must be careful to keep
good coding techniques, security and just plain common sense in mind.
Sometimes you can do things that cause serious unexpected site effects. In
fact, sometimes you may think you are making your CGI routine secure only
to find out it just doesn't work like you expected.

A good example of a this phenomenon is a simple CGI routine called FormMail.
This was written a number of years ago by a fellow named Matt Wright to
allow data to be entered in a form, then emailed to a recipient.

I first looked at FormMail because I wanted to cut down on spam. You see, my
web site had my email address embedded on every single page. I thought this
was a good idea to allow people to send me an email message when they wanted
to contact me. In fact, all of the web design books indicate that all good
web sites include an email link of this kind.

I soon discovered, much to my horror, that spammers use special programs
called Spam Harvesters to scan websites for email addresses. They add these
addresses to their mailing lists and resell them over and over. The result
is a large increase in the amount of spam that I received.

After much research, I came to the conclusion that the best defense against
spam robots was to simply stop including my email address on my web sites.
This left the question of how to allow users to contact me when they had
questions or comments.

The answer is simple - use a form. The advantage is that the email address
is hidden within the CGI routine or a text file and it is simply not
possible for a spam harvester to pick it up. As long as the email address is
coded into the CGI routine or in a database you are relatively secure.

However, many people use FormMail in a different way. Let's say you want to
allow your visitors to "tell a friend" about your site. So you include a
form which allows visitors to enter their message and a target email
address. If you are not very careful you could find that you have set
yourself up as a spam relay.

You see, spammers are always looking for ways to hide their identity. One
common method is to search the internet for occurrences of FormMail.
Sometimes I wonder if spammers rub their hands together in glee when they
find sites which use FormMail with user-entered email addresses.

The spammer essentially "hijacks" the FormMail CGI routine and causes it to
send out emails as fast and furiously as they can. I know of one instance
where a spammer sent over one million emails in a single day before someone
noticed that their web server was going very slowly (I wonder how long it
would have taken had the spammer tried limiting the load on the server so it
didn't show up as much).
What happens here is very simple. The FormMail CGI routine is simply called
remotely by the spammer, once for each spam email that he wants to send.

Ah, you say, but you could code the FormMail routine to check the referrer
field. This would surely prevent a spammer from using it remotely, as his
referrer would not be the website URL.

Sorry, no. The referrer field is actually a text string passed to the CGI
routine by the browser. The spammer is most likely using a program which
appears, to your web site, to be just another browser. Since the spammer
controls the program he can code it to send the CGI routine whatever value
he wants for the referrer field.

As it turns out, it is very difficult to make a CGI routine such as FormMail
even relatively secure, and it may be impossible to make it bullet-proof.
All you can do is check enough things and put in delays here and there to
slow down and discourage spammers.

You could, for example, only allow one posting per IP address per hour. You
could also check referrer just to block out the more ignorant spammers. I
suppose you could count the number of times the routine is called, and have
it just stop working after a certain amount. For example, only allow one
hundred calls per day from anywhere.

The point here is not to tear apart the FormMail routine. The goal is to
show how difficult it can be to make anything secure on the internet, and
demonstrate that some assumptions (that the referrer field is a valid check)
may not be true in all cases.

What do you do? Before you implement any CGI or similar interface, be sure
and do a little research to be sure you completely understand and handle
the ramifications. If you don't do this, you may find yourself the victim of
a hacker or spammer.


About the Author

Richard Lowe Jr. is the webmaster of Internet Tips And Secrets
at http://www.internet-tips.net - Visit our website any time to
read over 1,000 complete FREE articles about how to improve your
internet profits, enjoyment and knowledge.

More Web Development and other resouces to help you locate great articles just like CGI Security Issues :

Here are other categories to find more must know information on anything and everything.
Auto and Trucks
Business and Finance
Computers and Internet
Education
Environment
Family
Food and Drink
Gadgets and Gizmos
Gardening
Government
Health
Hobbies
Home Improvement
Kids and Teens
Legal Matters
Marketing
Music and Entertainment
Online Business
Parenting
Pets and Animals
Recreation and Sports
Self Improvemen
Site Promotion
Travel and Leisure
Web Development
Women
Writing
Here are more Web Development articles to give you more must know information just like in CGI Security Issues article.

Turn Browsers Into Buyers with Effective Web Copy
Ok, so you've got a website, and you're ready to tell the world
about it. Before you do, review these tips and create copy that
turns browsers into buyers.

Talk to Your Customers

Use the word "you" throughout your web site. Liberal...
Read more


3 Tips to improve your RSS marketing
You have created an RSS feed, or maybe you have several feeds and you post at least once a week to keep your RSS subscribers interested. So now you can sit back and watch your hit counter tally up al...
Read more


How To Shop and Save On Website Hosting
What's your web address?"

From small "mom and pop" home-based businesses to mega-stores, people ask this question in business every single
day. Even if you only operate a small, local business, if you don't have a website (or at least ema...
Read more


Want A Sticky Website That Sells? Forget Content!
An interesting debate is raging among copywriters, web designers
and content providers about the key differences, if any, between
writing copy for the web versus writing content.

According to prolific copywriter Nick Usborne, a survey conduct...
Read more


Dreamweaver vs FrontPage
There are two major WYSIWYG(What You See Is What You Get) editors available for beginners. These are: Microsoft FrontPage and Macromedia Dreamweaver. So the question is which one is better? This art...
Read more


 

Thank you very much for viewing this must know article: CGI Security Issues . Hopefully you have found all the information you were looking for in " CGI Security Issues ". If you feel like you need more information feel free to check out Info Pom HOMEPAGE to look for more articles in our humangous database

Site Partners:
Background Check