h77p.pl 作成メモ  HTTP はテキストベースの、非常に簡単なプロトコルです。 ホストの TCP port 80 に接続し、 GET /file/path/i/want HTTP/1.0 で、結果が返ります。TeraTermPro 等で試す場合、改行コードは Transmit: CR+LF と設定しておきましょう。ローカルエコーも ON に。 サーバからの応答の 1 行目は HTTP/1.1 200 OK であったり、 HTTP/1.0 403 Forbidden であったり、 HTTP/1.1 404 Not found であったり様々ですが、要求したファイルが存在する場合には必ずコード 200 が 返って来ます。そこで、存在するかも知れないファイルをリクエストしてサーバからの 結果が 200 ならそれをレポートするスクリプトを書けば良い訳です。 proxyを通してのリクエストは、例えば proxy.server.com:8080 を通して http://iwantyou.com/index.html を GET したい場合、まず proxy.server.com の TCP port 8080 に接続し、 GET http://iwantyou.com/index.html HTTP/1.0 と送れば良いのです。以上を踏まえれば楽に CGI vulnerability スキャナが書けます。  h77p.pl の売りは、新たにセキュリティホールとなる CGI 等が報告された際に 楽にデータベースに加えられる点です。h77p.dat にその PATH を 1 行追加すれば OKです。IIS 専用のデータベースファイルを作ったりという小回りも利きます。 実行例。 ttj% ./h77p.pl www.*****.co.jp proxy.******.de:80 ---- h77p.pl by White_E ---- start scanning www.*****.co.jp via proxy.******.de:80... /cgi-bin/info2www: F0und! /cgi-bin/survey.cgi: F0und! ---- done. ttj%  40行目以降のコメント行をアンコメント(行頭の # を削除)すれば、404 等のエラー コードも全て吐き出します。あと、proxyは気休め程度に考えた方がいいでしょう。 自分の管理下にないホストに対してスキャンする場合、完全に痕跡を消せると確信 出来る踏み台から行いましょう。 written by White_E