問題タブ [sql-injection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - LIKE および IN 条件を使用したパラメーター化されたクエリ
.Net のパラメーター化されたクエリは、例では常に次のようになります。
しかし、私は次のことをしようとしてレンガの壁にぶつかっています:
どこ
- CategoryIDs は、数字 "123,456,789" (引用符なし) のカンマ区切りのリストです。
- 名前は文字列です。単一引用符やその他の不適切な文字が含まれている可能性があります
これの正しい構文は何ですか?
.net - ASP.NET アプリケーションで SQL インジェクション攻撃を回避するにはどうすればよいですか?
ASP.NET アプリケーションで SQL インジェクションに対して脆弱にならないようにする必要があります。どうすればこれを達成できますか?
asp.net - Sqlインジェクションを防ぐのにパラメータは本当に十分ですか?
私は同僚と SO の両方に、特に .NET アプリケーションで SQL クエリでパラメーターを使用することの利点について説教してきました。私は、SQL インジェクション攻撃に対する免疫を与えると約束するところまで行きました。
しかし、私はこれが本当なのか疑問に思い始めています。パラメータ化されたクエリに対して成功する既知の SQL インジェクション攻撃はありますか? たとえば、サーバーでバッファ オーバーフローを引き起こす文字列を送信できますか?
もちろん、Web アプリケーションが安全であることを確認するために考慮すべきことは他にもあります (ユーザー入力のサニタイズなど) が、今は SQL インジェクションについて考えています。MsSQL 2005 および 2008 は私のプライマリ データベースであるため、これらに対する攻撃に特に関心がありますが、どのデータベースも興味深いものです。
編集:パラメーターとパラメーター化されたクエリの意味を明確にするため。パラメータを使用するとは、SQL クエリを文字列で作成する代わりに「変数」を使用することを意味します。
したがって、これを行う代わりに:
これを行います:
次に、クエリ/コマンド オブジェクトで @Name パラメータの値を設定します。
sharepoint - SharePoint に SQL インジェクションの脆弱性がないという証拠は?
私の会社には、すべての実動サイトが AppScan セキュリティー・スキャンに合格するという要件があります。SharePoint のインストールをスキャンすると、ソフトウェアがブラインド SQL インジェクションの脆弱性を検出することがあります。これは誤検知であると確信しています。AppScan はおそらく、HTTP 応答内の他のアクティビティをブラインド インジェクションの成功として解釈しています。しかし、これが事実であることを証明することは困難です。
MOSS 07 と WSS 3.0 の両方の SharePoint は、バックグラウンドでのみストアド プロシージャを使用していると思われます。Microsoft からこの趣旨のドキュメントがあるかどうか、さらに、ストアド プロシージャのいずれかが動的に生成された SQL を使用しているかどうかを知っている人はいますか? すべてが sproc であり、いずれも動的ではない場合、SharePoint に SQL インジェクションの脆弱性がないという十分な証拠が得られます。
mysql - この MySQL クエリは SQL インジェクションに対してどのように脆弱ですか?
前の質問へのコメントで、誰かが次の sql ステートメントが私を sql インジェクションに導くと言っていました:
変数が適切にエスケープされていると仮定すると、$userid
これによりどのように脆弱になるのでしょうか?また、それを修正するにはどうすればよいでしょうか?
security - 「Bobby Tables」XKCD コミックからの SQL インジェクションはどのように機能しますか?
ただ見て:
(出典: https://xkcd.com/327/ )
この SQL は何をしますか:
私は両方を知って'
おり、コメント用ですが、同じ行の一部であるため--
、単語もコメントされませんか?DROP
sql - ActiveRecord / nHibernate SQLの生成は「安全」ですか?
私はこのシステムをStackedで実行しており、検索機能を作成しています。そして、その過程で、おそらくAR / nHibernate Expression.Like(および兄弟)は、次のようなものを作成できるという点で100%「安全」ではない可能性があります。"\ r \ ndrop database xxx; ---"と同様のもの...?
安全だと思いますが、よくわかりません...
php - MySQL/PHP - データベースの速度が低下する (または予期しないパフォーマンスが発生する) 文字のエスケープ
すべての整数を a で実行して(int)Integer
、クエリ文字列で安全に使用できるようにします。
また、この関数コードを使用して文字列を実行します:-
私は明らかに $cleanedString 変数を返します。% 文字は mySQL のワイルドカードであり、ユーザーが挿入するとクエリが遅くなる (または正しくないデータが返される) 可能性があるため、ここで % 文字を置き換えます。心配する必要がある mySQL のその他の特殊文字はありますか?
2 番目のメモとして、私の検索と置換の後に間違っていることや冗長なことはありmysql_real_escape_string
ますか? 私が最初に始めたときにウェブサイトからそれを入手しました.(私の記憶が正しければ)エスケープ文字列に加えてこの検索/置換を使用する必要があると書かれていました. 以前にエスケープされたインジェクション文字を削除しようとしているように見えますか?
java - Java/jsp の SQL/javascript インジェクションを保護するためのライブラリ
文字列が挿入される前に文字列を実行できる優れたライブラリを知っている人はいますか? jsp ページで実行します。
理想的には、ライブラリは次のようになります。
- 無料
- 軽量
- 使いやすい
喜んで返信してくれるSOコミュニティに事前に感謝します:)