I have added an item to the GnuDIP "To Do":

  http://gnudip2.sourceforge.net/gnudip-www/latest/TODO.html

Here is the item:

Suppress Automated Abuse of "Self Registration" and "Forgotten Password"
========================================================================

At present the GnuDIP Web Interface is vulnerable to being used as the
"man in the middle" for an E-mail bombardment attack. 

A program can "GET" and "POST" the "Self Registration" page repeatedly
to send an E-mail bombardment to a third party. The bombardment will
seem to come from the GnuDIP site. 

The "Forgotten Password" page may be used in a similiar way to bombard
the E-mail address that a GnuDIP user has registered with. 

Many popular sites are vulnerable to this same type of attack. (This
includes a certain very popular dynamic DNS service! So I feel better
now.)

These features are optional and may be disabled. 

To prevent this attack, this approach could be used: 

1.Generate a random string of characters before writing the page. 

2.Generate an image (jpeg would be best) with this character string
represented in it. Include this in the page. 

3."Sign" the character string using the GnuDIP server key and include
this signature in the page as a "hidden" form field. 

4.Require the user to enter the character string they see in the image. 

5.When the response to the page is received, sign the value entered by
the user and compare it to the hidden form field. 

It would require extremely sophisticated pattern recognition software to
automate a response to this page that GnuDIP would accept. 

This would of course make it difficult for people using a text-mode
browser to use this feature. Vision impaired people would be out of
luck. 

===

Any volunteers?

To do this for use just on my own system or a client's system would not
be hard for me. But to do it for the common GnuDIP code without making
its installation much more complicated would be impossible. In
particular non-standard Perl modules would be needed. I am not going
down that road.

===

To some extent, GnuDIP right now is just the software that I run at my
little site.

I really just set up that site as a way to test the GnuDIP code, since
no one volunteereed to help with this. Also, after 25 years in the
software developmemt business, I have learned that it is impossible to
completely design a system before going to production. You don't really
know the requirements until you give it a go.

And this has been a very successful test!!

Also, GnuDIP has really been an intellectual excercise for me, as I am
semi-retired now. My backgound is really in IBM mainframe and then later
Windows/UNIX application development, and project planning (most
recently MQ Series and all that "suit" crap - in fact I probably did
qualify as a "suit") - not networking and web site construction. I
thought this would be a good way to learn this stuff, and become
familiar with working on the Internet. And indeed it was.

I will leave my site up for the people using it until I see that they
have lost interest in it.

If I do any more work in the area of dynamic DNS sites, it will be with
the idea of earning a few extra bucks to supplement my retirement income
- sort of a home business. I doubt then that I will maintain a GnuDIP
site as such any more. So my dynamic DNS system and GnuDIP may be about
to part ways.

This will clearly affect support levels. Oh well. What can you expect
for free?

-- 
Creighton MacDonnell
http://macdonnell.ca/

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

--
GnuDIP Mailing List
http://gnudip2.sourceforge.net/gnudip-www/#mailinglist

Reply via email to