Home > アーカイブ > ラボメンバー「tatsumi」の投稿一覧
ラボメンバー「tatsumi」の投稿一覧
PHPでバッチ処理を書いてみる
- 2007年12 月25日(火)
- PHP
毎度!
話せるシステム屋を目指しています。
tatsumiです。こんにちは。
とある人の話なんですけれどね、
その人は3人いる兄弟の中で唯一離婚経験があるもんだから
正月が嫌で嫌で仕方ないんだそうです。
それと言うのも、正月は親族一同が集まってご飯を食べるのが恒例となっていて
弟達のお嫁さんに囲まれるのが居心地が悪く肩身が狭いそうなんですよ。
まあ、なんて言うか…
これが本当の「バツが悪い」ですね!
(会場がどっかんどっかん爆笑に…)
(なる訳ない!)
すみません…。
こんな小話は置いておいて本題に入りたいと思います。
PHPでバッチ処理を書いてみる
業務系の仕事をやっていると
絶対に避けて通れないのがバッチ処理ですよね。
現在でもバッチ処理はC言語やCOBOLで書かれることが多いようですが、
数億・数十億円といったような大規模なシステムでない限り
PHPを使用していても十分に要件を満たせると思います。
(もちろん、状況によって異なりますが)
ということで、今回はPHP(cli)でバッチ処理に挑戦してみます。
ウェブアプリケーションの脆弱性、XSIO を知っていますか?
もしもしかめYO!かめさんYO!
みなさん、どうも初めまして。
ヒップホップでの初登場と相成りましたtatsumiでございます。
本日はみなさんとウェブアプリケーションの脆弱性について
少しお勉強していこうかなと思っております。
よろしくお願い致しますー。
1.XSIOとは
突然ですが、みなさんは XSIO をご存知ですか?
「既に知っているよー」という方は以下を読む必要はありませんが、
「新しいデジカメだよね」と笑顔で答えてくれたそこのあなた!
あなたの作ったウェブアプリケーションには危険が潜んでいるかも知れませんので
ここでしっかりと押さえていきましょう。
XSIO とは Cross Site Image Overlaying の略で
その名前の通りに画像を使用した攻撃手法のことです。
具体的にはCSSを使って画像を任意の場所に配置・参照させるのですが、
実際どのように攻撃されるのか?また、それがどのような問題を引き起こすのか?
それらについて基本的な仕組みが同じである XSS(Cross Site Scripting) と比較して説明します。
2.基本的な仕組み
下記のような、フォームから入力された情報を動的に表示するページがあり、
そこで適切なエスケープ処理が施されていないときに発生します。
<span>(入力された情報)</span>
| ●XSSの場合
このとき、フォームにて
を入力すると、実際に生成されるのが
となり、スクリプトが実行されてしまいます。 |
| ●XSIO場合
このとき、フォームにて
を入力すると、実際に生成されるのが
となり、画像の表示位置を自由に指定されてしまいます。 |
3.何が悪いのか?
両者の例を見てどのように感じられたでしょうか?
XSS は動きがあるため直感的に危険だと分かりますが、
XSIO はいまいち何が悪いのか分からない人もいるかと思います。
「ただ画像の表示位置を指定できただけだよね?」と。
しかし、表示位置を指定できることが状況によっては大きな問題につながります。
例えば、このミュートスラボの画面左上には
ブログTOPへのリンクが含まれている
「ミュートス・ラボ Mythos-labo」というタイトルが表示されているのですが、
この上に

のような画像をかぶせたらどうなるでしょう?
いとも簡単にリンク先を変更できますよね。
つまり、しかるべき場所でこのような性質を利用されるとフィッシング詐欺の踏み台になりますし、
いかにも運営者からのお知らせのようにして偽の情報を表示することも可能ですし、
もちろんサイト改変が行なわれる可能性もあるということです。
4.対策
では、どうすればこの XSIO を防ぐことができるのか?
基本的には「style属性をエスケープしてしまうこと」と「CSSを編集できるような状態にしないこと」です。
しかし、注意して頂きたいのがこれだけで安全になる訳ではないということです。
言うまでもないと思いますが、ウェブアプリケーションの脆弱性はこれだけはありません。
本当の安全を維持するためには、他の脆弱性にも対策を施していくことが重要です。
自分の作ったウェブアプリケーションが悪用されないためにも、
しっかりとこういったセキュリティのお話にアンテナをはりましょう。
5.参考
もう少し詳しく知りたい方はXSIO - Cross Site Image Overlaying(PDF)を読んでみてください。
Home > Archives > ラボメンバー「tatsumi」の投稿一覧

