This is a small Java program, called IIServerSlayer, that repeatedly hits an IIS 
web server with a varying length URL until the web server stops responding
due to the IIS bug. To run the program, first ensure that you have Java 1.0.2
installed on your machine and running properly. Put the IIServerSlayer.class
file in a directory and open a command window located at that directory. Use
the following command line:

java -classpath .;%classpath% IIServerSlayer  

We use a starting URL length of between 8200 and 8300 to crash our server,
but one of our servers crashed in a much lower range of around 4000 bytes.
Trial and error is the only way to determine the threshold and I suggest starting
at a length of 8300. Also, don't use http:// in front of the server name; the
program does that for you.

One of the things to note about the program is that it can't really detect if the
web request is being served properly. Because the bug doesn't always surface
on the first document request with the problematic URL, the program only
decrements the length counter if an error occurs, but assumes that server is
about to crash if an error doesn't occur and the counter has remained the
same. This means that if you start the program and don't see a series of lines
ike the following:

Trying length xxxx...Done
Trying length xxxx...Done
Trying length xxxx...Done
...

and instead see this:

Almost dead! Retrying length xxxx...Done
Almost dead! Retrying length xxxx...Done
Almost dead! Retrying length xxxx...Done

you have started with too low a URL length and need to Ctrl-C the program and
restart it with a higher length. When the program pauses for more than a few
seconds on a particular statement, you can be sure that the web server has
died. When you go to the web server and clear the error, IIServerSlayer
detects that the error occurred and gives you a message stating so.

Todd Fast
tfast@eden.com
More Information: http://www.eden.com/~tfast/pencilneck1.html