タグ

SQLに関するYasSoのブックマーク (26)

  • SQLインジェクションゴルフ - なんと3文字で認証回避が可能に

    昨日のエントリ「SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?」にて、認証回避の攻撃文字列が5文字にできる(「'OR'1」)ことを示しましたが、@masa141421356さんと、やまざきさん(お二人とも拙著のレビュアーです)から、idとpwdにまたがった攻撃例を示していただきました。やまざきさんの例は、MySQL限定ながら、なんと3文字です。これはすごい。 @masa141421356さんの攻撃例 @masa141421356さんのツイートを引用します。 @ockeghem 大抵のDBでid=''OR' AND pwd='>' ' が通ると思います(id側に「'OR」, pwd側に「>' 」で6文字)。長さ0の文字列がNULL扱いされないDBなら最後のスペースを消して5文字です。 — masa141421356 (@masa141421356) June

  • MySQLで秘密のトークンを0と比較したら危険だけど AR (>= 3.2.12) 経由なら安全 #MySQL #Rails #ActiveRecord - Qiita

    User.create!(:token => "c4a307708d83f6af91daee857a089587") User.where(:token => 0) # => [#<User id: 1, token: "c4a307708d83f6af91daee857a089587">] 秘密のtokenに 0 で比較するとレコードが出てくる。 MySQLだと 'a' = 0 は 'a'.to_f == 0 相当をやってるっぽい。

    MySQLで秘密のトークンを0と比較したら危険だけど AR (>= 3.2.12) 経由なら安全 #MySQL #Rails #ActiveRecord - Qiita
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

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

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • SQLを使うなら理解しておきたいアルゴリズム?(というか、select文の書き方) - where・order by・join・group by - 何かしらの言語による記述を解析する日記

    SQLのselect文の書き方の覚書です。 なお、文中の動作確認は「mysql Ver 5.0.67」で行いました。 2009/10/05 13:30 追記 予想外に多くのアクセスとブクマをいただき、正直驚いております。 文はsqlの内部処理には一切触れておりません。ごく普通のsqlの書き方にのみ触れています。 釣りのつもりはありませんが、釣られたと感じた方にはごめんなさい。 目次 説明に使用するデータ構造?(というかテーブル) 抽出(where句) ソート(order by句) ソートの例(昇順) ソートの例(降順) 結合(join句) 集計(group by句) 関連記事 説明に使用するデータ構造(というかテーブル) select文の使い方を説明するために、以下のようなテーブルを使います。 create table countries ( name nvarchar(30), cu

    SQLを使うなら理解しておきたいアルゴリズム?(というか、select文の書き方) - where・order by・join・group by - 何かしらの言語による記述を解析する日記
  • [J] ER 図を Mac で書きたい - Jamz

    以前、関連するエントリー ([J] WWW SQL Designer 2.1.1 の日語化 - Jamz (Tech)) を書いたけど、WWW SQL Designer で Google 検索する 4 つ目にランクインしてた。 さておき、Mac で ER 図を書きたい、今日この頃。WWW SQL Designer でも良いのだけれど、なんとなくスタンドアローンなソフトウェアで作業したくて。 以下、そこそこ評判も良さそう。 SQLEditor for Mac OS X ただ、インターフェイスのローカライズはされていない (多分) 加えて、有料。安くすむなら、その方が良い訳で ... やはり WWW SQL Designer かなぁ。向学のためにも、これを UI にして、フレームワークと連携させて、モデルを自動生成するプログラム作ったりすると良さ気だし。 頑張ってやってみるかなぁ。 WWW

  • SQLite が認識する SQL - Third impact

    SQLite ライブラリは標準 SQL 言語の大部分を理解できます。 しかし、いくらかの機能を省略し、 とはいえ同時に、少しの機能を付け加えてもいます。 このドキュメントは SQLite における SQL 言語のサポートする部分と しない部分の正確な記述を目指します。 同様に、キーワードのリストも提供します。 以下の構文図全体で、リテラルテキストを太字の青で示します。 非終端記号は、斜体の赤で示します。 構文マークアップ自体の一部である演算子はローマン体の黒で示します。 このドキュメントは SQLite が実行する SQL 構文の単なる概要に過ぎません。 多くの低レベルのプロダクションを省略します。 SQLite が理解する言語の詳細な資料のために、ソースコードと文法ファイル「parse.y」を 参照してください。 SQLite は以下の構文を実装します。 ALTER TABLE ANAL

  • SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    以前このブログでも取り上げたことのある神戸デジタル・ラボの近藤伸明氏がThink IT上で「SQLインジェクション大全」という連載を執筆しておられる。その第三回「SQLインジェクションの対策」を読んで以下の部分が引っかかった。 バインド機構とは、あらかじめSQL文のひな型を用意し、後から変動個所(プレースホルダ)に実際の値(バインド値)を割り当ててSQL文を生成するデータベースの機能だ。バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://thinkit.jp/article/847/1/ たしかにエスケープ処理を使ってバインド機構を実装する場合もある。JavaMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性 | 徳丸浩の日記から派生して、MyS

    SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • なぜMySQLのサブクエリは遅いのか。

    よくMySQLはサブクエリが弱いと言われるが、これは当だろうか?半分は当で半分は嘘である。MySQLのサブクエリだってなんでもかんでも遅いわけではない。落とし穴をしっかり避け、使いどころを間違えなければサブクエリも高速に実行できるのである。今日はMySQLがどんな風にサブクエリを実行し、どのような場合に遅いのかということについて説明しよう。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリのカラムを参照しているサブクエリのことである。そし

    なぜMySQLのサブクエリは遅いのか。
  • Ywcafe.net

    Ywcafe.net This Page Is Under Construction - Coming Soon! Why am I seeing this 'Under Construction' page? Related Searches: Free Credit Report music videos Migraine Pain Relief Best Mortgage Rates Credit Card Application Trademark Free Notice Review our Privacy Policy Service Agreement Legal Notice Privacy Policy

  • 神戸デジタル・ラボの「セルフチェックかんたん5」は試すな危険 - ockeghem's blog

    株式会社神戸デジタル・ラボが公表している「セルフチェックかんたん5」がWebアプリケーションセキュリティの一部専門家の間で話題になっている。 mi1kmanさん経由。 神戸デジタル・ラボさんの Webセキュリティ診断の販促ページ。 色々と言いたいことはありますが、一番は、「Webサイトセキュリティチェックリスト」の7ページ目:【中略】の部分ですかね。 手元の IE7/Firefox3 で試してみた限りでは、「http://int21h.jp/../」にアクセスした場合、ブラウザから出るリクエストの時点で「GET / HTTP/1.1」になっていました。(ブラウザが勝手に訂正してくれるので、GET /../ HTTP/1.1 のようなリクエストが送信されることは無さそう。) はたして“何らかのエラーメッセージ”が表示されることはあるのでしょうか…。(^-^; http://yamagata.

    神戸デジタル・ラボの「セルフチェックかんたん5」は試すな危険 - ockeghem's blog
  • 書籍「はじめてのPHPプログラミング基本編5.3対応」にSQLインジェクション脆弱性 - 徳丸浩の日記(2008-10-29)

    id:hasegawayosuke氏にそそのかされるような格好で、「はじめてのPHPプログラミング基編5.3対応」という書籍を購入した。 書は、ウノウ株式会社の下岡秀幸氏、中村悟氏の共著なので、現役バリバリのPHP開発者が執筆しているということ、下記のようにセキュリティのことも少しは記述されているらしいという期待から購入したものだ。 目次から抜粋引用 07-07 Webアプリケーションのセキュリティ [セキュリティ] 08-04 データベースのセキュリティ [SQLインジェクション] 09-13 セキュリティ対策 [セキュリティ] 書をざっと眺めた印象は、「ゆるいなぁ」というものであるが、その「ゆるさ」のゆえんはおいおい報告するとして、その経過で致命的な脆弱性を発見したので報告する。 問題の報告 それは、書P280に登場する「SQLインジェクション対策用の関数(dbescape)」

  • SQLインジェクションの仕組み

    前回はSQLインジェクションが急に増えた事情を概説した。今回は,SQLインジェクション攻撃の流れをたどってみよう(図1)。ここではユーザーが指定した商品をデータベースから探せるショッピング・サイトを想定している。 改ざんされたサイトにアクセスしてきたエンド・ユーザーは,最終的にマルウエアに感染してしまう。図中のSQLの内容を変更すれば,攻撃者はデータベースを思うがままに操作できる。なお,図中にある「xxx」という文字列は,ユーザーが入力した「デジタル一眼レフカメラ」という文字列を符号化したもの。 最初に,ユーザーがWebページ上で入力した数値や文字列(「xxx」,これはユーザーが入力した文字列「デジタル一眼レフカメラ」をWebブラウザなどのアプリケーションが符号化したもの)は,HTTPリクエストとしてWebサーバー側に送信される。Webサーバーは,リクエストから数値や文字列を取り出して,W

    SQLインジェクションの仕組み
  • CookieにSQLインジェクションを埋め込む新手の手口、ラックが緊急注意喚起

    株式会社ラックは10月2日、新手のSQLインジェクションを行使するボットが確認されたとして緊急注意喚起を行った。 同社のサイバーリスク総合研究所のコンピュータセキュリティ研究所が緊急注意喚起レポートを公開。それによると、Cookieに攻撃を組み込むことでIDS/IPS、WAFなどの防御システムをすり抜ける、新手のSQLインジェクション攻撃を行使するボットが確認されたという。同攻撃はラックのJSOCでも9月30日から検知されており、実際に被害にあったWebサイトも確認されたため、今回、注意喚起を行ったとしている。 SQLインジェクションは、Webサイトに不正スクリプトを埋め込む攻撃。通常、GETメソッドやPOSTメソッドを利用し、URIの部分に攻撃の内容が含まれているのだが、今回の攻撃は、Cookieの値に対してSQLインジェクションを行うよう進化していた。 Cookieに攻撃が含まれるため

  • 【CSL】CSL緊急注意喚起レポート〜新手のSQLインジェクションを行使するボットの確認〜 | LAC

    セキュリティソリューション分野でのリーディングカンパニー、株式会社ラック(社:東京都港区、代表取締役社長:齋藤理、以下ラック)は、自社の研究機関であるサイバーリスク総合研究所のコンピュータセキュリティ研究所から緊急注意喚起レポートを公開しました。 レポートによると、IDS/IPS、WAF などの防御システムをすり抜け、Webサイトの管理者が気づきにくい手法で攻撃する新手のSQLインジェクション攻撃を行使するボットを確認したと報告されています。また、この新手のSQLインジェクション攻撃はラックのセキュリティオペレーションセンターJSOC(ジェイソック)でも9月30日早朝から検知されており、また、実際の被害に遭ったWebサイトも確認されたため、広く注意喚起する目的でレポートを公開しました。 レポートでは、攻撃の特徴、攻撃による影響、対策方法についてそれぞれを詳細に解説しています。一般利

    【CSL】CSL緊急注意喚起レポート〜新手のSQLインジェクションを行使するボットの確認〜 | LAC
  • 新手のSQLインジェクション攻撃を確認、ラックが緊急注意喚起

    Windows SQL Server 2005サポート終了の4月12日が迫る、報告済み脆弱性の深刻度も高く、早急な移行を

  • SQLエスケープにおける「\」の取り扱い

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2008年6月2日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 昨日のエントリ(徳丸浩の日記 - そろそろSQLエスケープに関して一言いっとくか - SQLのエスケープ再考)は思いがけず多くの方に読んでいただいた。ありがとうございます。その中で高木浩光氏からブクマコメントを頂戴した。 \がescape用文字のDBで\のescapeが必須になる理由が明確に書かれてない。\'が与えられたとき'だけescapeすると…。自作escapeは危うい。「安全な…作り方」3版で追加の「3.失敗例」ではDBで用意されたescape機能しか推奨していない このうち、まず「\」のエスケープが必

  • ページが見つかりません|サウンドハウス

    ページが見つかりません お探しのページが見つかりませんでした。削除、変更されたか、現在利用できない可能性があります。 トップページまたは下記リンクからお探しください。 全カテゴリー一覧

  • SQLインジェクションを考える 第1回:SQLインジェクションとは何か

    3月以来、世界中の多くのインターネットサイトが、悪意のユーザーによるSQLインジェクション攻撃に遭い、被害を出していることが報じられている。SQLインジェクションとは何か、またなぜこのように流行し被害が広がったのか、被害を防ぐにはどうすればいいのか、3回にわたり考えてみたい。 ● SQLインジェクションとは何か SQLインジェクションによる攻撃では、不正なスクリプトをWebサイトに埋め込むことで閲覧したユーザーのPCにウイルスを感染させたり、あるいはサーバーから不正に情報を盗み取られるというような被害が発生している。 通販サイトなどでは、攻撃により利用者のクレジットカード情報が盗み取られたことが発覚し、個人情報が漏洩したお詫びとして、ユーザーに対して金券や現金を配布することになったサイトもあるなど、その被害は金銭的にも大きくなっているようだ。 SQLインジェクションとは簡単に言うと、Web

  • 複文が利用できるデータベースの調査: SQL Serverが狙われるには理由がある - 徳丸浩の日記(2008-05-02)

    _SQL Serverが狙われるには理由がある SQLインジェクションを利用したWebサイトの改ざん事件が頻発している。標的となったサイトの多くがIIS(ASP)とSQL Serverの組み合わせを利用していることから、今回の攻撃がIISやSQL Serverの脆弱性を利用したものだと言う報道があるらしい。 これに対して、マイクロソフトが反論している。 「SQLインジェクション攻撃とIISは無関係」とMicrosoft しかしMicrosoftセキュリティ対策センター(MSRC)のブログで、今回のWebサーバ攻撃では「未知の脆弱性や新しい脆弱性は悪用されていないことが当社の調査で分かった」と説明。攻撃はIISやSQL Serverの脆弱性を突いたものではなく、アドバイザリー951306の脆弱性とも無関係だとした。 これはまぁ、もっともな内容だと思う。しかし、疑問は残る。なぜ、IISとSQ

  • 1:nなデータを検索しやすくDBに入れたい (2008-03-20)

    手元に資料があるもので適当に問題を置き換えたので例が悪いが、とにかくこういうデータをどういうスキーマで格納するかを考える。教科書どおりに沿って考えると、このデータは正規化されていないので、正規形に変える必要があるだろう。 夜行バス ID名前行き先片道運賃 1