Security」タグアーカイブ

SQLインジェクション

システムで想定外のSQLコマンドを実行する攻撃手法

例えば、変数whereに適切な条件が設定されることを想定して

statement = "SELECT * FROM table WHERE " + where + " ;"
db.execute(statement)

のようなスクリプトを作ったとします。

ここで、where

where = "name; DROP TABLE table;"

のような値が入っていた場合に、次のようなコマンドが実行されることになり、セキュリティ上のリスクとなるようです。

SELECT * FROM table WHERE name;
DROP TABLE table;

この手法は、入力(今の場合は変数where)を適切にエスケープすることで回避可能なようです。

Python

PythonでSQLiteを使う場合は、文字列操作でSQLコマンドを作らないで、次のようにした方が良いそうです。

db.execute("SELECT * FROM table WHERE name=?", (name,))

a:visitedのbackground-colorは使えない

CSSの:visitedセレクタでは、セキュリティー上の都合でcolorbackground-colorなどが使えなくなっています。

a:visited {
  color: red;
}

関連する話題が楽天ad4Uです。

楽天ad4Uは、Flashオブジェクトの中に数千個のURLへのリンクを埋め込み、それぞれのURLを訪れた形跡があるか否かによって、ユーザーのアクセス動向を調べる。このようなことができるのは、ウェブブラウザーがURLへのリンクを表示する際に、訪問済みのURLと未訪問のURLとで異なる色で表示することについて、そのどちらの状態であるか、Cascading Style Sheets(CSS)をJavaScriptによって参照することで判別できるためである。

楽天ad4U – Wikipedia
https://ja.wikipedia.org/wiki/%E6%A5%BD%E5%A4%A9ad4U

少し不便ですが、プライバシーのことを考えると使えない方がいいですね。

リンク

html – background-color doesn’t work on a:visited but it works if i add any background color to a {backgroud:#fff}, Is it a bug? – Stack Overflow
http://stackoverflow.com/questions/7647459/background-color-doesnt-work-on-avisited-but-it-works-if-i-add-any-background

SSL 3.0のPOODLE脆弱性への対応

SSL 3.0にPOODLEと呼ばれる脆弱性が見つかり問題となっているようです。そこで、SSL 3.0を無効にする設定をまとめてみました。

Firefox

about:configからsecurity.tls.version.minの値を1以上に設定します。

security.tls.version.minには0から3までの値を設定でき、設定値の意味は次のようになります。

0SSL 3.0 is the minimum required
1TLS 1.0 is the minimum required
2TLS 1.1 is the minimum required
3TLS 1.2 is the minimum required

リンク

Security.tls.version.* – MozillaZine Knowledge Base
http://kb.mozillazine.org/Security.tls.version.*

Internet Explorer

[ツール] » [インターネットオプション] » [詳細設定]

より「セキュリティ」の項目にある「SSL 3.0を使用する」のチェックをOFFにします。


2014年11月25日に予定されているバージョン以降でSSL 3.0のサポートが打ち切られるとのことです。そうなれば、この設定も不要になります。