Project Web Form Flooder

For when you need to pound a lot of data into a website, and can't waste time creating configuration scripts

Sourceforge Project Page

Freshmeat Project Page

News We welcome Jim Clark as a developer on the project!

New beta-0.2.0 released 21 DEC 2003

Current Releases
BETA 0.2.0source
BETA 0.2.0release notesrelease-notes-beta-0.2.0.txt
BETA 0.2.0executable

What is it? The web form flooder is a utility program that will put a lot of plausible data into website forms.

You tell Web Form Flooder to look at a website, and it will evaluate the forms on that page, fill them out with it's best guess about what data that page is looking for, and submit that data. It can crawl all links on the page to identify other web pages within the site and flood them as well.

What's it good for? This utility is great for QA testing of your web forms to make sure they can handle a load, that all of your links work, and that all of your forms submit correctly. Entering test data is a horribly tedious task, and it's rare that a developer will load up enough data to realisticly simulate what will actually occurr in actual usage.

Anything else it's good for? It's possible to use this utility to abuse websites that aren't yours, but I strongly recommend this not be done. There are better methods to attack spammers that don't involve net abuse, and although they might not be as immediately satisfying in the long-run they're probably more effective.

Become a part! Volunteer to help this project by emailing Greg at formflood_AT_letiecq_DOT_org if you'd like to stretch your java skills and make a difference in this project.

We can also use testers, help with documentation, and anyone familiar with website code obfuscation.

Design Philosophy I want to create a truly platform-independent java console application that doesn't have any dependencies on graphical platforms, is optimized for size and speed, and is as simple to use as possible. I hope to make this as data-driven as possible so users can tweak the behavior of the application by editing text files. I hope that other coders out there will build on this in order to flex their coding muscles, have some fun, and give a great tool to the community. Whether ths project reaches the pinnacle of technical excellence or not is irrelevant to me. Whether it works, whether it's easy to use, and how capable it is are my only concerns.

Developers Info Current tasks:

nekromancer - javascript pre-parser and general javascript support

jclark7777 - waiting for Jim to pick a development task

gletiecq - bug cleanup, proxy implementation, general feature enhancements

I have included "empty" classes to indicate the functionality that needs to be developed, with notes about what the classes and their methods are expected to accomplish and some notes about how this may be done. If you'd like to help out, take a look at these and if the challenge interests you, take a whack at completing the class. My intent is that developers "own" and become responsible for individual classes and use me as a conduit to negotiate interactions between these classes. For now, email me your source, and I'll review it and integrate it. At the very least, it's an opportunity to apply your skills to a useful project, and I'm more than happy to provide references to potential employers regarding your contributions. Maybe it's sort of an internship with flex hours?

Current empty classes are com.html.JSPreParser and com.html.JSPostParser

If you'd like to develop an awt-based front end as a plug-in module, I'll be considering that as an inclusion once all the basic functionality is completed. (Good experience to help you pass your Java Certificaiton Test!)

TESTERS: If you really don't feel like you're competent to develop code but have an idea what java is all about, testing this application can be a great way to learn how Java works. Much of my skill set in Java was developed doing QA for web apps that used Struts/OJB/JSP's. If you find problems and dig into the code to see where the problems actually originate, you learn a lot about how the Java classes and application code works. You help the project immesurably, you learn without being pressured to produce code, and have some fun in the process slamming websites. I'd recommend getting eclipse to help you debug the specific errors you find, as it's a free Java IDE that's in widespread use, it works well, and it has one of the better debuggers. You can look through the code and see precisely what's going on during execution, and tell a developer precisely why things are going south. Even if you'd rather be a casual user, helping us in some way on our QA really makes a huge difference.

Related Links

HTTPUnit an automated HTTP testing suite written in java.

Unsolicited Commando a project to flood websites under the control of a central server.