」に詳しく書いたのでそちらを参照してください)。そのため、除算をするときは自前でクエリを作る必要があります。 テーブル同士のコンペア――集合の相等性チェック:基本編 さて、それでは集合演算の実践的な応用を見ていきましょう。 DB環境を移行したり、バックアップと最新環境を比較したい場合など、2つのテーブルが等しいか否かを調べたいことがあります。...
赤坂さんに指摘されたもう1つの「危険な脆弱性」とは? 隠された脆弱性を見つけ出せ!
最近SQLインジェクション攻撃が猛威を振るっていることもあり、SQLインジェクションに対する解説記事が増えてきたようだが、対策方法については十分に書かれていないように感じる。非常に稀なケースの対応が不十分だと言っているのではない。ごく基本的なことが十分書かれていないと思うのだ。 SQLインジェクション対策には二通りある。バインド機構を使うものと、SQLのエ...
\がescape用文字のDBで\のescapeが必須になる理由が明確に書かれてない。\'が与えられたとき'だけescapeすると…。自作escapeは危うい。「安全な…作り方」3版で追加の「3.失敗例」ではDBで用意されたescape機能しか推奨していない このうち、まず「\」のエスケープが必須となる(MySQLやPostgreSQLで)理由を説明しよう。 「\」をエスケープしないと処理がおかしくなる MySQLにおいて、文字列...
3月以来、世界中の多くのインターネットサイトが、悪意のユーザーによるSQLインジェクション攻撃に遭い、被害を出していることが報じられている。SQLインジェクションとは何か、またなぜこのように流行し被害が広がったのか、被害を防ぐにはどうすればいいのか、3回にわたり考えてみたい。 ● SQLインジェクションとは何か SQLインジェクションによる攻撃では、不正な...
『 こういうことをAutoでやってくれる、PHPUnit3を書くと、すげぇことになるかも。 』
『 SQLインジェクションの方法についての例が書かれており、SQLインジェクション対策に使えます。 』
昨今、Web サーバー上のコンテンツが不正に改ざんされ、改ざんされたコンテンツを閲覧した利用者がマルウェア感染等の二次的な被害を受ける事案が継続的に発生しています。この攻撃は、Web サーバーを狙ったものではなく、Web サーバー上で動作する、お客様が開発または導入した Web アプリケーションを狙って行われており、"SQL インジェクション攻撃"と呼ばれています。SQL ...
今までは専門的なスキルが必要だったWebサーバのアクセスログ解析が、iLogScannerを使えば誰でも簡単に行うことができ、危険な攻撃と思われる痕跡を確認することが出来ます。 iLogScannerは、ブラウザ上で実行するJavaアプレット形式のツールとなっているので、ホームページを見ることができる環境ならば、どこでも簡単に使用することができます。 現在は、次の攻撃と思わ...
そこで、僭越ながら、「サニタイズ言うなキャンペーン」について、 私なりの解釈を書いてみようと思う。 もっともこれが正解であるという保証はないのだが、 間違っていたらどなたかツッコミいただけることを期待しています(_o_) そもそも何のせいで「エスケープ」しなければならないのか たとえば住所氏名を登録させるWebアプリケーションは珍しいものではないと思う。 ...
本記事では、セキュリティに対する課題を実体験していく。第2回となる今回は、いよいよ実際にテスト環境を構築し、攻撃を行う。標的となるのはWebシステムの開発で幅広く利用されている「PHP」だ。 PHP本体にはWebブラウザからの入力のデコード処理をはじめとして、Webシステム開発に必要不可欠な機能が組み込まれている。2008年1月3日に最後のPHP 4.x系のリリースとなる「PHP 4.4....
ここのところ、いくつかのSQL Injectionツールについて調べていました。今日はその結果を日記に書いてみようと思います。はじめにSQL InjectionツールとはSQL Injection脆弱性の発見と、発見した脆弱性を突いてのDB内情報の取得を行なうためのツールです。ただし、多くのツールでは「脆弱性の発見」はおまけで、後者のDB内情報の取得に主眼を置いています。一般的には、汎用のWeb脆弱...