タグ

SQLインジェクションに関するnakunaruのブックマーク (11)

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

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

    Time-based SQL Injectionは意外に実用的だった
  • 間違いだらけのSQL識別子エスケープ

    これから3回連載の予定で、SQL識別子のエスケープの問題について記事を書きます。SQL識別子のエスケープについてはあまり解説記事などがなく、エンジニア間で十分な合意がないような気がしますので、これらの記事が議論のきっかけになれば幸いです。 3回の予定は以下のとおりです。 間違いだらけのSQL識別子エスケープ(稿) SQL識別子エスケープのバグの事例 SQL識別子は結局どうすればよいか ということで、まずはSQL識別子のエスケープの失敗例について説明します。この失敗例はあくまで説明のために作ったもので、実際のものではありません。また、想定が「ありえない」と思われるかもしれませんが、意図的なものですのでご容赦いただければと思います。また、「間違いだらけの」というタイトルは、今回の題材が間違いだらけという意味であり、巷のSQL呼び出しがそうであるという意味ではありません。稿に登場する人物と団

    nakunaru
    nakunaru 2013/12/26
    クラックされすぎw
  • SQLインジェクションについてのスライドを作成した - Kentaro Kuribayashi's blog

    社内で、SQLインジェクションについてあらためて原理・原則から議論したいねという風潮がにわかに起こったので、ひとまずは叩き台として僕の方でまとめて皆で議論しましょうというわけで、以下のような資料を作成した。 社内勉強会用の資料なのだけど、僕は別にセキュリティに詳しいわけでもないし、ましてやPHPのことは素人なので、外部の識者にレビューしていただいて、できるだけ正しい知識に基づいて議論できればと思い、まずスライドを先行公開することにした。そうしたところ、Twitter上で多数の識者よりいろいろとご指摘いただいて、少くとも決定的におかしな内容にはなっていないものになったようだ。ありがとうございます。 僕らの職務のひとつに「セキュリティ関連」というものも謳われているので、そのあたりの知識普及・基盤整備についても、仕事のひとつとして行っている。先にも書いた通り、僕自身がその点についてよく理解できて

    SQLインジェクションについてのスライドを作成した - Kentaro Kuribayashi's blog
  • SQL Injection Cheat Sheet | Invicti

    Use our SQL Injection Cheat Sheet to learn about the different variants of the SQL injection vulnerability. In this cheat sheet you can find detailed technical information about SQL injection attacks against MySQL, Microsoft SQL Server, Oracle and PostgreSQL SQL servers. What is an SQL injection cheat sheet? An SQL injection cheat sheet is a resource where you can find detailed technical informati

    SQL Injection Cheat Sheet | Invicti
  • 「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog

    このエントリでは、ネット上で「SQLインジェクション対策」でGoogle検索した結果の上位15エントリを検証した結果を報告します。 SQLインジェクション脆弱性の対策は、既に「安全なSQLの呼び出し方」にファイナルアンサー(後述)を示していますが、まだこの文書を知らない人が多いだろうことと、やや上級者向けの文書であることから、まだ十分に実践されてはいないと思います。 この状況で、セキュリティのことをよく知らない人がSQLインジェクション対策しようとした場合の行動を予測してみると、かなりの割合の人がGoogle等で検索して対処方法を調べると思われます。そこで、以下のURLでSQLインジェクション対策方法を検索した結果の上位のエントリを検証してみようと思い立ちました。 http://www.google.co.jp/search?q=SQLインジェクション対策 どこまで調べるかですが、以前NH

    「SQLインジェクション対策」でGoogle検索して上位15記事を検証した - ockeghem's blog
  • データベース・セキュリティの実装 第4回 最前線の防御を可能にするOracle Database Firewall | oracletech.jp

    最終回は、今年に新たにデータベース・セキュリティ製品に加わったOracle Database Firewallについて取り上げよう。Firewallという名がつくことから、何となく機能のイメージはできるかもしれないが、このOracle Database Firewallは、今までのデータベース関連の製品とは毛色の違う、非常に面白い製品である。しかしながら、その中身は質実剛健のごとく的を射たものであり、その代表的な機能について触れていきたい。 ■SQLインジェクション その前に、やはりSQLインジェクションについて説明が必要かもしれない。SQLインジェクション攻撃は以前から存在してはいたが、特に2005年頃から猛威を振いはじめ、2010年もその衰えは見せてはいない。Gumblar(ガンブラー)と並ぶウェブサイトを経由した攻撃の2大トレンドといってもよいだろう。「SQLインジェクション」と

  • [Think IT] 第2回:PHPのSQLインジェクションを実体験 (1/3)

    セキュリティ最前線】 セキュリティホールをついて遊ぶ 第2回:PHPSQLインジェクションを実体験 著者:大垣 靖男 公開日:2008/1/18(金) PHPSQLインジェクションを実体験 記事では、セキュリティに対する課題を実体験していく。第2回となる今回は、いよいよ実際にテスト環境を構築し、攻撃を行う。標的となるのはWebシステムの開発で幅広く利用されている「PHP」だ。 PHP体にはWebブラウザからの入力のデコード処理をはじめとして、Webシステム開発に必要不可欠な機能が組み込まれている。2008年1月3日に最後のPHP 4.x系のリリースとなる「PHP 4.4.8」がリリースされ、これ以降PHP 4.x系の開発は行われなくなった。現在はPHP 5.x系のPHP 5.2.5のみがPHPプロジェクトにより正式にサポートされている状態だ。 データベースサーバへのアクセスもWe

  • 第31回 番外編:sqlmapの紹介 | gihyo.jp

    今回は「第29回 SQLインジェクションの復習」で紹介したSQLインジェクションツールのsqlmapを紹介します。開発者や運用管理者のセキュリティ意識が向上しない原因の一つは、脆弱性がどのようなリスクを持っているのか理解していないことが原因であることも少なくありません。今回はSQLインジェクションのリスクの一部である自動化された攻撃ツールを紹介します。 sqlmapとは? sqlmapとはブラインドSQLインジェクション攻撃を実行するツールです。オープンソースで開発され執筆時点の最新版は2010年3月14日にリリースされたバージョン0.8です。 http://sqlmap.sourceforge.net/ 筆者は偶然、最初のリリースからこのツールを知っていたのですが、このツールの進歩には目を見張る物があります。 sqlmapの概要 記述言語:Python MySQL, Oracle, Po

    第31回 番外編:sqlmapの紹介 | gihyo.jp
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

    「安全なSQLの呼び出し方」というSQLセキュリティに焦点を当てたドキュメントが、2010年3月にIPA(独立行政法人情報処理推進機構)から公開された。 これは2006年1月から提供されている、Webサイト開発者や運営者向けのセキュアWebサイト構築のための資料「安全なウェブサイトの作り方」の別冊として書かれたものである。「安全なウェブサイトの作り方」が92ページなのに対して、SQLインジェクションについてだけで40ページもの分量がある。なぜこんなに分厚いのだろうか。 このドキュメント作成に協力したという、独立行政法人産業技術総合研究所 情報セキュリティ研究センターの高木浩光氏にお話を伺うことができた。高木氏は個人ブログ「高木浩光@自宅の日記」で、セキュリティ関連の問題を追求する論客としても知られている。筆者も以前、この連載の「今夜わかるSQLインジェクション対策」の回(2006年11月

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • SQLインジェクションとは何か?その正体とクラッキング対策。

    世間では、今Gumblar祭りが勃発中であり、SQLインジェクションがニュースに出てくることは少なくなったが、だからと言ってSQLインジェクションの脅威がなくなったわけではない。SQLインジェクションはGumblarを仕掛ける手段としても利用されることがあり、Webアプリケーションを提供する全ての人にとって、対策を講じなければいけない驚異であることに変わりはない。SQLインジェクションという攻撃手法が認識され、大いに悪用されているにも係わらず、その質に迫って解説している記事は少ないように思う。従来のWeb屋だけでなく、今やアプリケーション開発の主戦場はWebであると言っても過言ではなく、そういう意味ではSQLインジェクションについて理解することは、全てのプログラマにとっての嗜みであると言えるだろう。 というわけで、今日は改めてSQLインジェクションについて語ってみようと思う。 SQLイン

    SQLインジェクションとは何か?その正体とクラッキング対策。
  • そろそろSQLインジェクションについてひとこと言っておくか。 - だらだらやるよ。

    ちょっとSQL Injectionについて未だに情報が少ないのにいらついていたので。 というか対策ばっかりで何ができますよーってのはほとんどログインできますよーくらいじゃねえか。 具体的な攻撃方法もわからずにぼんやり対策してるだけの人多いような気がするのでちょっと攻撃方法書いとく。 SQLインジェクションってなに? アプリのユーザ入力領域からSQL文を注入されてしまうこと。 サーバでこういうコード書いてると、user_nameに「' or '1'='1';#」とか書かれて素敵なことになる。(mysqlの場合) String sql = "SELECT * FROM users WHERE = name = '"+user_name+"' AND password='"+user_password+"'"; 簡単に言うと、開発者の意図しないSQLをユーザの入力によって行う攻撃手法ですね。 S

    そろそろSQLインジェクションについてひとこと言っておくか。 - だらだらやるよ。
  • 1