問題タブ [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.
sql - SQL インジェクションやその他の悪意のある Web リクエストの捕捉
悪意のあるリクエスト (明らかな SQL インジェクションの取得や投稿など) を検出し、リクエスタの IP アドレスを即座に禁止する/ブラックリストに追加するツールを探しています。理想的な世界では、コードがそのようなリクエストを処理し、それに応じて処理できる必要があることは承知していますが、サイトがこの種の攻撃から安全な場合でも、そのようなツールには多くの価値があります。帯域幅の節約、分析の肥大化の防止など。
LAMP/.NET
理想的には、テクノロジ スタックよりも高いレベルにあるクロスプラットフォーム ( ) ソリューションを探しています。おそらくWebサーバーまたはハードウェアレベルで。ただし、これが存在するかどうかはわかりません。
いずれにせよ、実装とアプローチに関して自分の選択肢が何であるかを確認できるように、コミュニティのフィードバックを聞きたいと思います。
xss - ユーザー入力をサニタイズするのに最適な時期はいつですか?
ユーザーは信頼できません。信頼できないユーザーの入力は決して信用しないでください。わかりました。ただし、入力をサニタイズするのに最適な時期はいつかと思います。たとえば、ユーザー入力をやみくもに保存し、アクセス/使用されるたびにサニタイズしますか?それとも、入力をすぐにサニタイズしてから、この「クリーンな」バージョンを保存しますか? これらに加えて、私が考えていない他のアプローチもいくつかあるかもしれません。私は最初の方法にもっと傾いています。なぜなら、ユーザー入力から得られたデータにはまだ慎重にアプローチする必要があり、「クリーンアップされた」データが知らないうちに、または偶然に危険である可能性があるからです。いずれにせよ、人々はどの方法が最善だと考えていますか? また、その理由は何ですか?
sql - SQL インジェクションを検出する正規表現
文字列内の SQL を検出できる正規表現はありますか? 共有するために以前に使用したもののサンプルを持っている人はいますか?
xss - 見込み顧客にセキュリティの脆弱性を知らせますか?
私たちは潜在的なクライアントと多くのオープンな議論を行っており、彼らは現在のプロジェクトの仕事の範囲を含め、私たちの技術的専門知識のレベルについて頻繁に尋ねます. スタッフが現在使用している、または以前使用していた専門知識のレベルを測定するために私が最初に行うことは、XSS や SQL インジェクションなどのセキュリティの脆弱性をチェックすることです。脆弱な潜在的なクライアントをまだ見つけていませんが、彼らは実際にこの調査が役に立ったと考えるでしょうか、それとも「ええと、彼らと取引をしなければ、彼らは私たちのサイトを台無しにするだろう」と考えるでしょうか? ." 技術に詳しくない人は、このようなことでかなり簡単に怖がってしまうので、これは誠実さの表れなのか、それともビジネス慣行の悪さなのか疑問に思っています。
php - PHPでSQLインジェクションを防ぐにはどうすればよいですか?
次の例のように、ユーザー入力を変更せずにSQLクエリに挿入すると、アプリケーションはSQLインジェクションに対して脆弱になります。
これは、ユーザーがのようなものを入力できvalue'); DROP TABLE table;--
、クエリが次のようになるためです。
これを防ぐために何ができるでしょうか?
coldfusion - ColdFusion cfquery パラメータをプログラムでサニタイズするにはどうすればよいですか?
大規模なレガシー ColdFusion アプリを継承しました。<cfquery> some sql here <cfqueryparam value="#variable#"/> </cfquery> の行に沿ってパラメータ化する必要がある <cfquery>some sql here #variable#</cfquery> ステートメントが何百もあります。
パラメータ化をプログラムで追加するにはどうすればよいですか?
正規表現または sed/awk'y のような解決策を書くことを考えましたが、どこかで誰かがそのような問題に取り組んでいるようです。SQL 型を自動的に推測することでボーナス ポイントが付与されます。
sql - ' 文字が削除されても SQL を挿入する方法はありますか?
SQL クエリからすべての ' 文字を削除した場合、データベースに対して SQL インジェクション攻撃を行う他の方法はありますか?
どうすればそれができますか?誰でも例を挙げてもらえますか?
sql - 侵入テスト ツール
ASP、.net、Java で開発された何百もの Web サイトがあり、セキュリティの抜け穴をチェックするためにサイトの侵入テストを行う外部機関に多額の費用を支払っています。これを行うための (良い) ソフトウェア (有料または無料) はありますか?
または.. このツールの開発に役立つ技術記事はありますか?
php - PHP ADOdb の変数バインディング
ADOdb はデフォルトで同じ機能内でデータのサニテーションまたはエスケープを行いますか? それとも、Code Igniter の組み込みプロセスと混同しているだけですか?
ADOdb for PHPで変数をパラメータにバインドすると、SQLインジェクションが何らかの形で防止されますか?
vb.net - SQL パラメータを使用して、IN 句でデータを処理しますか?
プリペアド ステートメントが SQL インジェクション攻撃を防御する最良の方法の 1 つであることは誰もが知っています。「IN」句を使用して準備済みステートメントを作成する最良の方法は何ですか? 不特定の数の値でこれを行う簡単な方法はありますか? たとえば、次のクエリを見てください。
現在、可能な値のループを使用して、次のような文字列を構築しています。
クエリ パラメータの値として配列を渡すだけで、次のようにクエリを使用することは可能ですか?
重要な場合は、VB.Net で SQL Server 2000 を使用しています。