ブラックリスト型(サニタイズ型)のセキュリティ対策クイズ 解答編
昨日のエントリのクイズです。今回はその解答です。 ブラックリスト型のセキュリティ対策は、どうしても仕方がない限り使ってはなりません。以下のサニタイズコードは "../" 、".." を無効な文字列として取り除きます。このサニタイズコードを回避しカレントディレクトリよりも上の階層からのパスへアクセスするパストラバーサルを行う文字列を考えてみて下さい。(/etc…
PHPスクリプトアップロード対策
今日はWordPressの脆弱性を例にスクリプトアップロード対策を紹介します。ファイルアップロードをサポートしているシステムの場合、PHPスクリプトとして実行されてしまう拡張子を持つファイルをアップロードされてしまうとサーバーを乗っ取られてしまいます。
APIとエスケープ/バリデーションとセキュリティ
今回はセキュリティ対策におけるAPIとエスケープ/バリデーションをどう考えるかの話です。
ブログアプリをb2evolutoinからWordPressに移行しました
昨日までブログアプリはb2evolutionでしたが、今日からWordpressに変わりました。 (さらに…)
フレームワーク対決:Node.js+SailsとPHP+Phalconのベンチマーク
Node.jsは速いと言われています。Node.jsのMVCフレームワークであるSailsとPHP最速フレームワークであるPhalconとの性能を比較しました。 (さらに…)
Fedora19用のPhalconのRPM/SRPMパッケージ
PHP最速フレームワークPhalcon 1.2.4のRPM/SRPMパッケージを作りました。バイナリRPMはFedora19 x86_64用のみ作りました。 (さらに…)
SSLでの圧縮の利用は禁止
他人のブログのコメントに書いて、自分のブログに書かないのも良くないので一応ここにも書いておきます。 「SSLでの圧縮の利用は禁止した方が安全」です。 (さらに…)
SQLのエスケープ
SQLにエスケープなんて必要ないと考えている方も居るとは思いますが、現実にはエスケープを知っておくことは必須と言っても構わないと思います。 既にSQL識別子のエスケープについては書きましたが、今回はSQLエスケープというよりは安全にSQLデータベース利用する話です。先ずはエスケープの話を全て終わらせよう、と思っているのですがSQLエスケープのエントリが無いの…
JavaScript: / の \ によるエスケープのみによるセキュリティ対策は禁止
RFC 4696をもう一度読みなおしてみると/もエスケープ可能文字に定義してありました。JavaScriptのエスケープシークエンスの処理の部分も間違っていたので全面的に書き直します。 (さらに…)
PHPのJSONのエスケープ
追記:最近のOWASPガイドの更新でJavaScript文字列はUnicodeエンコードで安全性を確保するよう変更されました。元々このブログでもUnicodeエスケープのまま利用するように書いています。他の言語のユーザーはUnicodeエスケープを利用しましょう。PHPもASCII領域の文字をUnicodeエスケープするようにした方が良いと思います。これは提…