タグ

sqlに関するsuVeneのブックマーク (36)

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    suVene
    suVene 2010/09/03
  • 今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた

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

    今夜こそわかる安全なSQLの呼び出し方 ~ 高木浩光氏に聞いてみた
  • 徳丸浩の日記 - そろそろSQLエスケープに関して一言いっとくか - SQLのエスケープ再考

    補足 この記事は旧徳丸浩の日記からの転載です。元URL、アーカイブはてなブックマーク1、はてなブックマーク2。 備忘のため転載いたしますが、この記事は2007年11月26日に公開されたもので、当時の徳丸の考えを示すものを、基的に内容を変更せずにそのまま転載するものです。 補足終わり 稿ではSQLインジェクション対策として、SQLのエスケープ処理の方法について検討する。 最近SQLインジェクション攻撃が猛威を振るっていることもあり、SQLインジェクションに対する解説記事が増えてきたようだが、対策方法については十分に書かれていないように感じる。非常に稀なケースの対応が不十分だと言っているのではない。ごく基的なことが十分書かれていないと思うのだ。 SQLインジェクション対策には二通りある。バインド機構を使うものと、SQLのエスケープによるものだ。このうち、SQLのエスケープについて、十分

  • IPA、PDF資料「安全なSQLの呼び出し方」を公開 SQLインジェクション攻撃への具体的な対策書

    IPA(独立行政法人情報処理推進機構)は18日、Webアプリケーションの安全な実装方法を解説した資料「安全なSQLの呼び出し方」(PDF)を公開した。全5章(計40ページ)および付録からなり、冊子「安全なウェブサイトの作り方」(PDF)の別冊として、公式サイトより入手できる。 「安全なSQLの呼び出し方」では、SQLインジェクション攻撃にどのような対策を取れば安全であるかの要件を検討し、安全なSQL呼び出しを実現する考え方を製品によって整理しながら、具体的なケースの調査結果を示している。 特に第5章では、5種類のプログラミング言語とデータベースの組み合わせ(JavaOraclePHPとPostgreSQLPerlJavaMySQLASP.NETSQL Server)における安全な実装方法とソースコードの書き方を解説しているほか、付録には、文字コードに関する問題など特定のデータ

    IPA、PDF資料「安全なSQLの呼び出し方」を公開 SQLインジェクション攻撃への具体的な対策書
  • 続:SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog

    前回のエントリSQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem(徳丸浩)の日記に対応して、mi1kmanさんのブクマ経由で、訂正が出ていることを知った。 訂正内容 1ページ目を下記のように変更いたしました(2個所)。 バインド値はエスケープ処理した後にプレースホルダにはめ込むので、悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 ↓ SQL文のひな型とバインド値は個別にデータベースに送られ、構文解析されるので、バインド値に悪意あるSQL文が挿入されても、その実行を阻止することができる(図1-2)。 http://www.impressit.co.jp/inside/?p=791 なんとなく私のエントリの断片が散りばめられているのを別にしても、『悪意あるSQL文…の実行を阻止することができる』というあたりに、サニタイズ的発想が依

    続:SQLのバインド機構は「エスケープ処理された値」をはめ込むのか - ockeghem's blog
  • 第14回 減らないSQLインジェクション脆弱性 | gihyo.jp

    SQLインジェクション脆弱性を狙った大規模な攻撃が繰り返し行われ、数万から数十万ページが改竄される事件が何度も発生しています。SQLインジェクションは簡単に対策できる脆弱性ですが、未対策のアプリケーションが多く利用されています。外部からの脆弱性の検出も容易であるため、現在でもWebアプリケーション脆弱性の代表的存在です。 SQLインジェクション脆弱性が無くならない理由には以下のようなものが考えられます。 過去のコードやアプリケーションの再利用 基的なセキュリティ知識不足 セキュアコーディングプラクティスの未実施 コード監査の不在 SQLインジェクション脆弱性の発見だけを目的にコード監査を行うことはあまりありませんが、SQLインジェクション脆弱性のコード監査は比較的簡単です。MySQLモジュールまたはPostgreSQLモジュールを利用している場合を例に紹介します。 題に入る前にSQL

    第14回 減らないSQLインジェクション脆弱性 | gihyo.jp
    suVene
    suVene 2008/09/18
    『すべてのパラメータを文字列として取り扱っているか』 って、Indexとか無効になったりしね? digitチェックじゃダメなん?つか、prepared でよくね。 / 『実際時々見かける間違いですが』 あんまりみたことない。
  • Oracle の隠し関数 wmsys.wm_concat が非常に強力な件について

    Oracle には非公開の隠し関数やパラメータが非常に多く存在します。そんな中でもつい最近知った wmsys.wm_concat という関数が非常に強力です。機能としては集約関数に相当するもので、正規化したテーブルを非正規化して出力するような要件にピッタリですが、Oracle 11g のマニュアルにも記載されていないので Undocumented な関数であることを理解して使用する必要があります。(※つまりは Oracle 保守でもサポート外ってわけです。) さて、実際どのようなことができるかをみてみます。例えばポイントサイトのようなサービスにおけるポイント管理テーブルを考えてみます。たとえば、以下のような簡易なテーブル構造であったとします。※このエントリ用の仮想的なテーブルですので実用的ではないです。 名前 NULL? 型 備考 ----------------- -------- --

    suVene
    suVene 2008/09/15
    縦を横にするのも(decode駆使とか), 横を縦にするのも(union 駆使とか), どっちにしろ面倒なことが多いもんなぁ
  • SQLインジェクション検出ツール「iLogScanner」を機能強化:IPA 独立行政法人 情報処理推進機構

    なお、iLogScannerでSQLインジェクション攻撃が検出された場合や、特に攻撃が成功した可能性が検出された場合は、ウェブサイトの開発者やセキュリティベンダーに相談されることを推奨します。 iLogScannerは簡易ツールであり、ウェブサイトの脆弱性を狙った攻撃のアクセスログが無ければ脆弱性を検出しません。また、実際の攻撃による脆弱性検査は行っていません。攻撃が検出されない場合でも安心せずに、ウェブサイトの脆弱性検査を行うことを推奨します。 IPAとしては、ウェブサイト運営者が、この脆弱性検出ツールを利用することにより、自組織のウェブサイトに潜む脆弱性を確認するとともに、ウェブサイト管理者や経営者に対して警告を発し、セキュリティ監査サービスを受けるなど、脆弱性対策を講じるきっかけとなることを期待しています。 また、ウェブサイトの開発者やセキュリティベンダーが、ツールを取引先等に紹介

  • Google Spreadsheets を簡易 SQL DB に!「Google Visualization API」 - WebOS Goodies

    WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。 皆さん、 Google Docs のガジェット機能はもう使ってみましたでしょうか。データをさまざまな方法で可視化するガジェットをシート上に配置できるというもので、このガジェットは自作することもできます(iGoogle ガジェットベース)。その際にスプレッドシートの情報を取得するために使われるのが、日ご紹介する Google Visualization API

    suVene
    suVene 2008/03/26
    join を実装できたら強烈になりそうだなぁ
  • 分析関数の衝撃(前編):CodeZine

    はじめに Oracle9iから(厳密には、8.1.6 Enterprise Edition)から使用可能な分析関数について解説します。分析関数はSQL ServerやDB2でも使用できますし、標準SQLなので、いずれは他のDBでも使えるようになるはずです。 稿では分析関数の便利さを実感しやすくするために、CodeZineのミック氏の記事で記載されたSQLを、分析関数を使って記述していきます。対象読者SQLで分析関数を使ったことがない方SQLの可読性を向上させたい方SQLのパフォーマンスを向上させたい方 分析関数について SQLで分析関数を使ったことがない方は、@ITSQLクリニック(8) 極めよう! 分析関数によるSQL高速化計画』@ITSQLクリニック(9) SQL分析関数をさらに深く追求してみよう』@ITSQLクリニック(10) まだまだあるぞ! 分析関数の究極テクニック

    suVene
    suVene 2007/06/13
  • SQLインジェクションをスキャンしてくれるツール: ある SE のつぶやき

    無料で使えるSQLインジェクション対策スキャナ トップ15(ホームページを作る人のネタ帳) フリーの SQLインジェクション スキャナー トップ15(うさぎ文学日記) なにやら、SQLインジェクションをスキャンしてくれるツールがあるようです。 SQLIer Sqlbftools SQL Injection Brute-forcer (.tar.gz) SQLBrute (.py) BobCat sqlmap: a blind SQL injection tool Absinthe :: Automated Blind SQL Injection SQL Injection Pentesting TooL SQID - SQL Injection digger Blind SQL Injection POC (.pl) SQL Power Injector FG-Injector Frame

  • SQL*Plusメモ(Hishidama's sqlplus for Oracle9i Memo)

    sqlplusの起動(オプション) [/2008-02-20] exp・imp [/2008-12-17] WindowsSQL*Plus [/2008-01-13] 起動時実行SQL [2006-11-21] SQL*Plusのコマンド [/2008-08-23] 起動 sqlplusの引数にユーザー名を指定すると、そのユーザーでログオン(接続)する。[2008-02-20] ユーザーの指定形式は「ユーザー」「ユーザー/パスワード」「ユーザー/パスワード@接続名」「ユーザー@接続名」等。 パスワードを指定していない場合は別途パスワードの入力が求められる。 接続名(サービス名)を省略した場合はデフォルトの接続先になる。 存在しないユーザーだったりパスワードが違ったり接続名が認識できなかったり間違っていたりするとエラーとなり、再度ユーザー名とパスワードの入力が要求される。(-Lオプションを

    suVene
    suVene 2007/03/28
    sql*plus command
  • SQL Injection Cheat Sheet

    Examples; (MS) means : MySQL and SQL Server etc. (M*S) means : Only in some versions of MySQL or special conditions see related note and SQL Server Table Of Contents About SQL Injection Cheat Sheet Syntax Reference, Sample Attacks and Dirty SQL Injection Tricks Line Comments SQL Injection Attack Samples Inline Comments Classical Inline Comment SQL Injection Attack Samples MySQL Vers

  • Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos

    Celine Dion posts rare family photo to mark awareness for stiff person syndrome

    Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos
  • 忘れっぽいエンジニアのオラクルSQLリファレンス

    物忘れの激しい管理人は、調べたこともすぐ忘れてしまうので、同じことを、何度も調べながら開発しています。 ただ、IT業界は覚えることが多過ぎて、文法などの細かいことはあまり覚える気が無いというのもありますが(笑) そこで、何度も同じことを調べなくてもいいように、ORACLE SQLリファレンスをサイトにまとめる事にしました。 私と同じようなプログラマーやSEも結構いるんじゃないかと思いますので使えそうだったら利用してみて下さい。

  • 相関サブクエリで行と行を比較する:CodeZine

    はじめに SQLでは、同じ行内の列同士を比較することは簡単にできます。普通にWHERE句に「col_1 = col_2」のように書けばよいだけですから。一方、異なる行の間で列同士を比較することは、それほど簡単ではありません。ですがそれは、SQLで行間比較ができないということではありません。手続き型言語とはかなり異なる発想に基づいていますが、SQLでもそうした処理を記述することが可能です。 SQLで行間比較をする際に威力を発揮するのが相関サブクエリ、特に自己結合と組み合わせた「自己相関サブクエリ」です。稿では、この技術を使った行間比較の応用方法を、具体例を通して解説します。稼働環境OracleSQL ServerDB2PostgreSQLMySQL(バージョン4.1以上) 対象読者 相関サブクエリの基的な使い方を知っている方。CASE式、自己結合、スカラ・サブクエリについての知識があると

    suVene
    suVene 2007/02/08
    内容自体はたいした事書いてないっぽいのでみてない。ページ分けが気になる。
  • Collection & Copy - Firefox 2.0、Storage(SQLite)、ポイント

    JavaScriptMDC - Storage これを読んで、僕が思ったポイント。 Firefox 2.0には、SQLiteが組み込まれている。同じくFirefox 2.0で導入された、クライアントサイドストレージ(sessionStorage/globalStorage)とは異なるもの。 (クライアントサイドストレージの中では、このSQLiteが利用されている。)基的にchrome URLや拡張からの利用を想定し、ウェブページからは利用できない。システムや拡張のデータファイルはプロファイル*1に、拡張子sqliteで保存されている。mozIStorageConnection#executeSimpleSQLは、値を返さない。 テーブルの作成や削除、データ追加などに利用する。セキュリティ的にもパフォーマンス的にもmozIStorageConnection#createStatementを

    suVene
    suVene 2007/01/27
    sqlite
  • Works - 逆引きSQL比較

    Works > 逆引きSQL比較 > ORACLE 逆引きSQL比較 [ 共通事項 ]  [ ORACLE ]  [ MSSQL ]  [ SSA ]  [ Postgres ]  [ MySQL ]  [ Jet ]  ORACLE Niche Tips オラクル・ニッチ・チップス Last Updated. 14-May-2006

    suVene
    suVene 2007/01/25
    逆引き
  • http://x7net.com/~access/index.php?option=com_content&task=view&id=2&Itemid=4

    suVene
    suVene 2007/01/19
    Baron Schwartz 翻訳
  • CASE と DECODE 関数の違い - オラクル・Oracleをマスターするための基本と仕組み

    CASE 式 と DECODE 関数の違い 標準 SQL の CASE 式 とオラクルの SQL 特有の DECODE 関数は、ほぼ同じ機能をもち、CASE 式 も DECODE 関数 も短絡評価(※)であるが、この2つは NULL の取り扱い方で大きく異なっている。 (※) 短絡評価(ショートサーキット:short circuit evaluation):条件に該当するものが見つかると後続の条件は評価しない DECODE 関数 よく知られた非常に便利な変換関数、引数がある値のときに別の値に変換する関数である。 DEOCDE のパラメータ数の上限は 255 であり、当然条件指定はそれ以下(条件と結果で 2 パラメータのため 127 以下)になる。 CASE 式 もほぼ同数の上限がある。 検索 CASE 式 のように評価する式が個々に設定できないため、範囲指定などの条件指定が基的に行えない

    suVene
    suVene 2007/01/04