タグ

2015年4月16日のブックマーク (2件)

  • URL中のPath部分のパーセントエンコード - ある異邦人の技術メモ

    URLのPath部分でURLエンコードした文字列を扱いたい! Apacheの裏でPassenger動かしている環境において、パス部分にパーセントエンコードされた文字列を含む、たとえば以下のようなURLを扱おうとすると、問題に直面する。 http://example.com/foo/http%3A%2F%2Fexample.org%2Fbar/baz 何がおこるかというと、Railsにわたる前にApacheが勝手にパーセントデコードしてしまうため、 Railsのroutes.rbで受ける段階で、たとえば以下のような記述をしてもちゃんと意図した形でマッチがなされないためだ。 match '/foo/:url/baz' => .. この問題の解決のため(解決にはなっていないのだが)、泣く泣くサービスの外部仕様を捻じ曲げて、扱うURLの中で、以下のようにパーセントエンコードを2重でかけるという手段

    URL中のPath部分のパーセントエンコード - ある異邦人の技術メモ
  • Time-based SQL Injectionは意外に実用的だった

    このエントリでは、Time-based SQLインジェクション、すなわち時間差を利用したSQLインジェクションが意外に実用的だったという報告をします。デモ映像ありです。 はじめに Time-based SQL Injectionという攻撃があります。これはブラインドSQLインジェクションの一種で、ある条件の場合に一定時間(例えば5秒)スリープし、そうでない時との応答時間の差で情報を盗もうというものです。1回のHTTPリクエストで1ビットの情報が得られるので、それを積み重ねることによって、いくらでも情報を盗めるはずです…理論的には。 しかし、「理屈はそうでも、時間が掛かりすぎるよね」ということで、深くは追っかけていませんでした。SQLインジェクションの検査には有効でも、悪用としての実用性はあまりないと考えていたのです。 きっかけ きっかけは、以下のYahoo!知恵袋に以下の質問です。 SQL

    Time-based SQL Injectionは意外に実用的だった