新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > 投稿順表示 (114/282)

投稿順表示 (114/282)

[3525] Re: 「情報処理試験でNUL文字攻撃の問題など」

PANDA (2006年4月26日 21時2分)

話が脱線していますが懐かしい話なので・・・。

> そういえば'$'で文字列を終えるファンクションもあった気のせいがしてきましたが、

MS-DOS の頃には AH=9, DX=「$で終わる文字列へのアドレス」を指定して INT 21H すると文字列を表示できましたね。

[3524] Re: 「IPAX2006 受賞者プレゼン枠」

yuu (2006年4月25日 18時2分)

>>>お、喋るんですか?

>> 受賞者8名に対して3枠なので、確実にしゃべれるかどうかはわからないのですが。

>

> しゃべれることになった模様です。

> 5/17 の 11:00~11:30 の枠です。

残念ながら別件の先約があり、聞きに行けないです。

[3523] Re: 「IPAX2006 受賞者プレゼン枠」

ばけら (2006年4月25日 11時52分)

>>お、喋るんですか?

> 受賞者8名に対して3枠なので、確実にしゃべれるかどうかはわからないのですが。

 しゃべれることになった模様です。

 5/17 の 11:00~11:30 の枠です。

[3522] Re: 「情報処理試験でNUL文字攻撃の問題など」

えむけい (2006年4月24日 7時28分)

>>MS-DOSでできましたっけ? MS-DOSのファンクションリクエストもNUL文字でパスを終える仕様だった気が。

>終端文字は'$'だと勘違いしてました。NULは使えませんね。

そういえば'$'で文字列を終えるファンクションもあった気のせいがしてきましたが、ASCIZ文字列【謎】をパラメータに取るファンクションもあったはずです。

今思いつきましたがFCBファンクションとか使うとNULを混入できたりしないでしょうか。

[3520] Re: 「情報処理試験でNUL文字攻撃の問題など」

びい (2006年4月23日 19時41分)

>MS-DOSでできましたっけ? MS-DOSのファンクションリクエストもNUL文字でパスを終える仕様だった気が。

終端文字は'$'だと勘違いしてました。NULは使えませんね。

[3519] Re: 国立市民は犯罪者になりたいですか。

ばけら (2006年4月23日 17時42分)

 ちなみに問題のリモートホストは 43.244.133.129 なのですが、逆引きすると

129.133.244.43.ap.yournet.ne.jp

 という名前が得られます。そして

 にアクセスしてみると……なかなか気の利いたものが用意されているようですね。ISP のこういう対応はありがたいです。

[3518] Re: 国立市民は犯罪者になりたいですか。

ばけら (2006年4月23日 17時36分)

>> コミュニケーションしたいと真剣に願っているとは思えない

>ことがログから明白であれば削除していいかもしれません。

「竹島 掲示板」のキーワード検索で飛んできて、迷わずPOSTですね。

 どう見ても無差別爆撃です。本当にありがとうございました。

 かなり大規模に爆撃が行われたようで、「無防備地域宣言の嘘を暴く国立市民の会」で検索すると、いろいろヒットしますね。

[3517] Re: 「情報処理試験でNUL文字攻撃の問題など」

えむけい (2006年4月23日 17時22分)

>パス名の扱いはプログラミング言語とは別の世界なので、パス名にNUL文字を入れられるかどうかはOSによりますが、MS-DOSとN88-BASICなら可能だったと思います。

MS-DOSでできましたっけ? MS-DOSのファンクションリクエストもNUL文字でパスを終える仕様だった気が。

[3516] Re: 「情報処理試験でNUL文字攻撃の問題など」

びい (2006年4月23日 12時0分)

PascalならNUL文字は終端として扱われないので

Path := 'path/to/' + #0 + 'file'

Reset(F, Path)

とかできます。

パス名の扱いはプログラミング言語とは別の世界なので、パス名にNUL文字を入れられるかどうかはOSによりますが、MS-DOSとN88-BASICなら可能だったと思います。

[3515] Re: 国立市民は犯罪者になりたいですか。

えむけい (2006年4月22日 6時6分)

>わけわかんないよ~とりつくしまもないよ~。コミュニケーションしたいと真剣に願っているとは思えないよ~。わるいけどパス。

ご参考【謎】:

http://bakera.jp/hatomaru.aspx/htmlbbs/inthread/889

http://bakera.jp/hatomaru.aspx/htmlbbs/inthread/980

> これはあくまで私の考えですが、この手の書き込みが何故迷惑なのかというと、それはまさにその spam 性に由来します。普通のコメントだと思って見たくもない宣伝を見せられるのは苦痛でしょうし (これを苦痛に感じない人もいるでしょうけれども)、なにより、まともな話題だと思ってコメントをつけても返事があるはずも無く、コミュニケーションが成立しません。

というわけで、

> コミュニケーションしたいと真剣に願っているとは思えない

ことがログから明白であれば削除していいかもしれません。

[3514] Re: 国立市民は犯罪者になりたいですか。

スターダスト (2006年4月21日 23時35分)

わけわかんないよ~とりつくしまもないよ~。コミュニケーションしたいと真剣に願っているとは思えないよ~。わるいけどパス。

[3512] Re: 「しつこいサバレンジャー」

あいうえお (2006年4月21日 11時19分)

でもなんだか笑えた!

なんじゃこれ。

[3511] Re: 「情報処理試験でNUL文字攻撃の問題など」

ばけら (2006年4月20日 22時19分)

>>Perl の open が NUL 以降を無視するのですか?

> はい。少なくとも事実上「Perl の open は NUL 以降を無視する」と言って良い状況であろうと思います。

 ちょっと補足です。

 Perl が文字列の NUL 以降を無視しているわけではないので、「open() に渡った文字列の NUL から後ろが無視される」わけではなくて、「ファイル名のNULから後ろが無視される」ことになります。両者はほぼ同じですが、パイプを使おうとするときに大きな違いが出ます。

open(FOO, "foo\0bar|")

 ではコマンド foo が実行されますが、

open(FOO, "foo|\0bar")

 ではコマンド foo は実行されません。

 このことからも、Perl が NUL 以降を切っているのではなく、単に NUL を含むパスをそのまま OS に渡しているだけだということが伺えますね。

[3510] Re: 「情報処理試験でNUL文字攻撃の問題など」

ばけら (2006年4月20日 21時53分)

>Perl の open が NUL 以降を無視するのですか?

 はい。少なくとも事実上「Perl の open は NUL 以降を無視する」と言って良い状況であろうと思います。これは、「Perl は文字列の NUL以降を無視する」ということではありません (後述)。

>パス名として NUL 文字を含めることができるプログラミング言語というのもOSというのも聞いたことがありません。

 確かに含めることができるものは私も聞いたことがありませんが、「NULから後ろを無視する」という動作にならない言語は存在します。たとえば、.NET Framework では、NUL を含むパス名を開こうとすると、ArgumentException がスローされるようになっています。

 それに対して、Perl の open は単に NUL 以降を無視して開いてしまいます。これは仰るように、Perl が単に OS の API をそのまま呼んでいるために結果としてそうなっているのでしょう。

>print length("abc\x00def"); の結果は 7 ですから、Perl は NUL 以降を無視していないようです。

 そのとおりで、これは重要です。なぜかというと、Perl では foo.html(NUL).cep という文字列が /\.cep$/ にマッチしてしまうからです。拡張子が .cep かどうかを正規表現で検査しようとしても、正規表現の書き方によっては回避されてしまうことがあります。「Perl の open は NUL 以降を無視します」が、「Perl は文字列の NUL 以降を無視するわけではない」ということが重要ですね。

>で、問題冊子末尾の解説を読んでも「Perl の open 関数における NUL の扱い方」についての説明が無いので解答方法に窮しました。

 これは確かにそうですね。Perl の open が NUL を拾ったらエラーを返すという実装になっていると仮定すれば、NUL による攻撃はできないですね。

[3509] Re: 「情報処理試験でNUL文字攻撃の問題など」

PANDA (2006年4月20日 20時36分)

> Perl の open は NUL を含むファイル名を渡されると NUL 以降を無視します。

Perl の open が NUL 以降を無視するのですか?

私は、OSの API の仕様として「パス名は NUL で終端する(から NUL 以降の部分は無視される)」ようになっているだけで、 Perl に限った話では無いと思います。

パス名として NUL 文字を含めることができるプログラミング言語というのもOSというのも聞いたことがありません。

(Perl のソースを見た訳では無いですが)Perl は単にOSの API を呼び出すために文字列の末尾に NUL を付加しているだけであって、 Perl が NUL 以降を無視しているのではないと思います。

print length("abc\x00def"); の結果は 7 ですから、Perl は NUL 以降を無視していないようです。

で、問題冊子末尾の解説を読んでも「Perl の open 関数における NUL の扱い方」についての説明が無いので解答方法に窮しました。

NUL 文字のことなんだろうなと思いつつも用語が定義されていないので、「パス名の終端文字として認識される文字で$fnameを終端させる」と解答するにとどめました。

[3508] Re: 「CSSXSS対策された模様」

スターダスト (2006年4月19日 23時37分)

> 追記部分消しておきました。

ありがとうございました m(_?_)m

[3507] Re: 「IPAX2006 受賞者プレゼン枠」

ばけら (2006年4月19日 19時14分)

>お、喋るんですか?

 とりあえず手は挙げてみました。

 受賞者8名に対して3枠なので、確実にしゃべれるかどうかはわからないのですが。

[3506] Re: 「情報処理試験でNUL文字攻撃の問題など」

あきら (2006年4月19日 17時54分)

別解:

パイプを使って,任意ファイルを.cepファイルとしてコピー。

文字数収まらなくて舌足らずにしかかけなかったorz.

#アクセスって意味なら読めなくても書き込めればOK?

[3505] Re: 「IPAX2006 受賞者プレゼン枠」

yuu (2006年4月19日 17時13分)

お、喋るんですか?

[3504] Re: 「色遣い」

ばけら (2006年4月19日 14時13分)

>大丈夫です。

>私は日常的に黒背景に黒文字の艱難辛苦 (何) を受けさせられていますから。

 Ctrl+A がデフォルトな感じですか。

最近の日記

関わった本など