タグ

sqlに関するytRinoのブックマーク (2)

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

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

    Time-based SQL Injectionは意外に実用的だった
    ytRino
    ytRino 2015/04/16
    ソートにもSQLインジェクションにも使えるsleep最強!
  • Android アプリ開発における SQLite のロックとマルチスレッドの話 - ひだまりソケットは壊れない

    Android アプリ開発で SQLite を使っていると、しばしば次のような例外が投げられることがあります。*1 android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5) 軽く調べてみたところ このエラーをぐぐってみると、「複数スレッドから SQLite を使う場合に、それぞれのスレッドで異なる SQLiteDatabase オブジェクトを使っているとこのエラーが出ることがある」 とか書かれていて、回避策として 「複数スレッドで SQLite を使う場合は 1 つの SQLiteDatabase オブジェクトを複数スレッドで使いまわすこと」 というような情報が得られました。 あとは当たり前ですが 「トランザクションがちゃんと閉じられているか確認すること」 とか。 いくつかの質問やブ

    Android アプリ開発における SQLite のロックとマルチスレッドの話 - ひだまりソケットは壊れない
    ytRino
    ytRino 2014/10/27
    つらい
  • 1