PHPを勉強中の者です。よくPHPに関して脆弱性の事を言われてますが、脆弱性があると具体的にどういう危険性があるのか教えて頂けますか?
特定の関数使うとパスワードが空でも認証とおるとかそんなん。
制作者の意図しない動きをしてしまうということです。直接的なところをいうと、サーバーが管理している情報を持っていかれるとか、データを消去されてしまうとか、一定の司令(たとえば投稿など)を断続的に自動で行うとか、そういうことですね。
全く関係ない文字列の比較が通る、SQLのエスケープ回避、O/Rマッパーで更新すべきでないカラムを更新させるなど。最近話題になった遠隔操作ではCSRFによって違法な書き込みが役所に送信された。
PHP特有ではないけど、バリデーションをしっかりしていないシステムだと、デベロッパーツールなりで本来選べない値を選択させて予期せぬ動作を起こしたり、全く関係ないサイトからPOST通信が送られてもそれを通してしまったりとか。
補足で。PHP自体が脆弱性が何度も報告されている言語だというのはあるけど、それ以上に単純にサイトの作り込みが甘かったり、制作者に知識がなかったり、抜け穴を知らなかったりといった人的な脆弱性の方が大きい。そして大規模サービスでない限り、上で書いたような簡単な抜け穴さえ防げていないサイトがほとんどだと思われる。
概ね同感。PHPに限らず、どんな言語でも製作者の知識による所が多いと思う。HTMLと違ってプログラミングなのでweb上に公開する以上、最低限といわずしっかりとしたセキュリティの知識が必要。
みんなの回答 3 件
特定の関数使うとパスワードが空でも認証とおるとかそんなん。
制作者の意図しない動きをしてしまうということです。
直接的なところをいうと、サーバーが管理している情報を持っていかれるとか、データを消去されてしまうとか、一定の司令(たとえば投稿など)を断続的に自動で行うとか、そういうことですね。
全く関係ない文字列の比較が通る、SQLのエスケープ回避、O/Rマッパーで更新すべきでないカラムを更新させるなど。
最近話題になった遠隔操作ではCSRFによって違法な書き込みが役所に送信された。
PHP特有ではないけど、バリデーションをしっかりしていないシステムだと、デベロッパーツールなりで本来選べない値を選択させて予期せぬ動作を起こしたり、全く関係ないサイトからPOST通信が送られてもそれを通してしまったりとか。
関連するトピックス