[PR]小規模ECサイトに最適なWAF、SiteGuard Lite
徳丸浩の日記
2008年06月27日 複文が利用できるデータベースの調査(2)
_SQL Serverが狙われるにはまだまだ理由がある
徳丸浩の日記 - 複文が利用できるデータベースの調査 - SQL Serverが狙われるには理由があるにおいて、SQLインジェクションで別のSQL文を注入するためには、複文のサポートが必要で、SQLインジェクションの文脈でこれが可能であるDBMSはMS SQL ServerとPostgreSQLであることを示した。
ここで、複文を記述するには、セミコロン「;」で複数のSQL文を区切ると説明していたが、マイクロソフトの公表している文書によると、SQL Serverにおいては、複文の区切りにセミコロンは必要ないことが分かったので報告する
注意 複数の SQL ステートメントを区切るのに、セミコロンは必ずしも必要ありません。必要かどうかは、ベンダまたはインプリメンテーションによって異なりますが、Microsoft SQL server では不要です。たとえば、以下は SQL Server では 2 つの別々のステートメントとして解析されます。
SELECT * FROM MyTable DELETE FROM MyTable
[How To: ASP.NET で SQL 注入から保護する方法より引用]
なんてこったい。20年近くSQLを使ってきたが、複文の区切りでセミコロンが要らない(場合がある)なんて初めて知った。さっそく試してみた。
rs = st.executeQuery("select * from test update test set num2=7777");
見ての通りJavaで試したのだが、すんなり動いてしまった
同じようにPostgreSQLでも試してみた(こちらはPHP)が、エラーとなった。ベンダー依存ということだが、メジャーなDBでは、セミコロンなしで複文が書ける(プログラム中で)のはMS SQL Serverだけらしい。
こんなことを知っても実用的な意味はほとんどないのだが、私にとっては重大な成果があった。SQLインジェクション対策としてセミコロンを削除するよう説明している解説がある(例えばこれ)が、頻発するSQL Serverに対するSQLインジェクション対策としてのセミコロン削除はまったく意味がないことがはっきりしたことになる。
- http://b0gus.blog6.fc2.com/blog-entry-257.html ×6
- http://buzzurl.jp/entry/徳丸浩の日記 - 複文が利用できるデータベースの調査... ×4
- http://sql-links.com/未分類/セミコロン.html ×3
- https://www.google.co.jp/ ×1467
- http://t.co/T8pTjssHhV ×119
- http://d.hatena.ne.jp/ockeghem/20111109/p1 ×67
- http://d.hatena.ne.jp/ockeghem/20090302/p1 ×47
- https://www.google.com/ ×38
- http://t.co/8ykMJSVG ×32
- http://twitmatome.bogus.jp/archives/21546 ×22
- https://www.bing.com/ ×12
- http://www.tokumaru.org/ ×11
- http://okwave.jp/qa/q7102022.html ×10
- https://www.smartnews.be/ ×9
- http://matome.naver.jp/odai/2140284863375833701 ×5
- http://d.hatena.ne.jp/ockeghem/20090302/ ×4
- http://plus.url.google.com/url?sa=z&n=135662121868... ×3
- http://d.hatena.ne.jp/ockeghem/touch/20111109/p1 ×3
- http://d.hatena.ne.jp/ockeghem/20111109 ×3
- http://211.9.52.134/wordpress/?s=複文&cat=0&tag=&m= ×3
- http://yamagata.int21h.jp/d/?category=ALL;year=200... ×2
- http://twitmatome.bogus.jp/archives/7591 ×2
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×2
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×2
- http://sbcgrp.sbcnet.co.jp/cgi-bin/groupware/ag.cg... ×2
- http://okwave.jp/qa/q7102022/a19840504.html ×2
- http://hootsuite.com/dashboard ×2
- http://211.9.52.134/wordpress/?p=42442 ×2
- http://websearch.excite.co.jp/?q=SQL Server GO セミコ... ×1
- https://www.google.com.au/ ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&... ×1
- https://search.yahoo.co.jp/ ×1
- http://yandex.ru/yandsearch?text=www.tokumaru.org&... ×1
- http://yandex.ru/clck/jsredir?from=yandex.ru;searc... ×1
- http://yandex.ru/clck/jsredir?from=yandex.ru;searc... ×1
- http://www.hash-c.co.jp/archives/wasf2008.pdf ×1
- http://www.crowy.net/ ×1
- http://www.crowsnest.tv/mobile ×1
- https://www.google.com/url?sa=t&rct=j&q=&esrc=s&so... ×1
- http://twipple.jp/ ×1
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×1
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×1
- http://search.fenrir-inc.com/?hl=ja&channel=sleipn... ×1
- http://sbcgrp.sbcnet.co.jp/cgi-bin/groupware/ag.cg... ×1
- http://sbcgrp.sbcnet.co.jp/cgi-bin/groupware/ag.cg... ×1
- http://sbcgrp.sbcnet.co.jp/cgi-bin/groupware/ag.cg... ×1
- http://plus.url.google.com/url?sa=z&n=135643773507... ×1
- http://plus.url.google.com/url?sa=z&n=135635683224... ×1
- http://plus.url.google.com/url?sa=z&n=135635614168... ×1
- http://plus.url.google.com/url?sa=z&n=135634412337... ×1
- http://paper.li/haromitsu ×1
- http://kjunichi.cocolog-nifty.com/misc/ ×1
- http://d.hatena.ne.jp/ockeghem/touch/20090302/p1 ×1
- http://api.twitter.com/1/statuses/show/47847581835... ×1
- http://api.twitter.com/1/statuses/show/28314678294... ×1
- sql server セミコロン ×15 / sqlserver セミコロン ×14 / sql 複文 ×5 / sqlserver 複文 ×3 / SQLSEVER セミコロン ×3 / SQLserver セミコロン ×3 / SQL文 複文 ×3 / sql ステートメント セミコロン ×3 / SQLServer セミコロン ×3 / SQL Server セミコロン ×3 / sql セミコロン 必要 ×3 / SQL 複文 ×3 / sql セミコロン 意味 ×3 / mysql セミコロン 不要 ×2 / セミコロン sqlserver ×2 / SQL セミコロン ×2 / SQLインジェクション 複文 ×2 / sql server セミコロン なし ×2 / sql server sql セミコロン 意味 ×2 / sqlserver 分解 複数 ×2 / t-sql セミコロン パフォーマンス ×2 / sql 末尾 セミコロン sqlserver ×2 / mysql 複文 ×2 / SQL セミコロン エラー ×1 / sqlserver ; セミコロン ×1 / sql server injection セミコロン ×1 / sql server 2008 SQLインジェクション ×1 / sql select セミコロンで区切る ×1 / sqlserver セミコロン 対応され ×1 / sql セミコロン ×1 / sqlserver セミコロン create ×1 / sql 区切り セミコロン ×1 / sql セミコロン UPDATE ×1 / sql セミコロン区切り 分解 sqlserver ×1 / sql セミコロン付ける php ×1 / sql エスケープ セミコロン ×1 / sql文 セミコロン ×1 / select 複文 ×1 / java sql ステートメント セミコロン ×1 / java SQL セミコロン ×1 / if 複文 セミコロン ×1 / executeQuery SQLインジェクション ' ×1 / access sql文 セミコロン ×1 / sqlserver 複数sql セミコロン ×1 / sqlserver セミコロン 意味 ×1 / SQLServer セミコロンは ×1 / SQL server 複文 select ×1 / SQL server セミコロン ×1 / sqlserver t-sql "セミコロン" ×1 / sqlserver セミコロン エラー ×1 / st.executeQuery(sql); 意味 ×1 / PHP Injectin サニタイズ コロン ×1 / PHP セミコロン sql 不要 ×1 / MSSQL セミコロン ×1 / Java SQL セミコロン ×1 / JAVA SQL セミコロン ×1 / SQL文 セミコロン ×1 / 複数のsql セミコロン ×1 / セミコロン SQL ×1 / セミコロン sql ×1 / セミコロン エスケープ 理由 ×1 / ストアドファンクション sqlserver セミコロン ×1 / SQL セミコロンが必要 ×1 / t-sql セミコロン ×1 / sql server インジェクション ×1 / htmlentities htmlspecialchars セミコロン ×1 / SQLサーバ インジェクション対策 ×1
[PR]小規模ECサイトに最適なWAF、SiteGuard Lite
HASHコンサルティング株式会社
最近の記事
- 2011年08月30日
- 1. RSSフィードをリダイレクトします
- 2011年07月01日
- 1.
- 2011年03月29日
- 1. PDO/MySQL(Windows版)の文字エンコーディング指定の不具合原因
- 2011年03月22日
- 1. PHP5.3.6からPDOの文字エンコーディング指定が可能となったがWindows版では不具合(脆弱性)あり
- 2011年01月27日
- 1. CSRF対策のトークンをワンタイムにしたら意図に反して脆弱になった実装例
- 2011年01月04日
- 1. escapeshellcmdの危険な実例
- 2011年01月01日
- 1. PHPのescapeshellcmdの危険性
- 2010年10月03日
- 1. 問題点の概要
- 2010年09月27日
- 1. 文字コードに起因する脆弱性を防ぐ「やや安全な」php.ini設定
- 2010年07月25日
- 1. ツッコミSPAM対策で、ツッコミ抜きのRSSフィードを用意しました
- 2010年07月01日
- 1. ぼくがPDOを採用しなかったわけ(Shift_JISによるSQLインジェクション)
- 2010年04月06日
- 1. PROXY(プロキシ)経由でのDNSリバインディングと対策
- 2010年04月05日
- 1. JavaアプレットのDNSリバインディングはJRE側で対策済みだった
- 2010年03月29日
- 1. DNSリバインディングによる無線LANパスフレーズの読み出しに成功
- 2010年03月25日
- 1. DNSリバインディングによるルータへの侵入実験
- 2010年02月22日
- 1. ケータイtwitter(twtr.jp)においてDNS Rebinding攻撃に対する脆弱性を発見・通報し、即座に修正された
- 2010年02月12日
- 1. かんたんログイン手法の脆弱性に対する責任は誰にあるのか
- 2010年01月18日
- 1. iモードブラウザ2.0のXMLHttpRequestでPOSTデータの扱いが困難になった
- 2009年10月19日
- 1. quoteメソッドの数値データ対応を検証する
- 2009年10月14日
- 1. htmlspecialchars/htmlentitiesはBMP外の文字を正しく扱えない
- 2009年10月09日
- 1. htmlspecialcharsのShift_JISチェック漏れによるXSS回避策
- 2009年09月30日
- 1. htmlspecialcharsは不正な文字エンコーディングをどこまでチェックするか
- 2009年09月24日
- 1. SQLの暗黙の型変換はワナがいっぱい
- 2009年09月18日
- 1. 文字エンコーディングバリデーションは自動化が望ましい
- 2009年09月14日
- 1. 既にあたり前になりつつある文字エンコーディングバリデーション
- 2009年08月05日
- 1. 携帯JavaScriptとXSSの組み合わせによる「かんたんログイン」なりすましの可能性
- 2009年03月28日
- 1. IPAは脆弱性の呼び方を統一して欲しい
- 2009年03月27日
- 2009年03月11日
- 1. U+00A5を用いたXSSの可能性
- 2008年12月22日
- 1. JavaとMySQLの組み合わせでUnicodeのU+00A5を用いたSQLインジェクションの可能性