問題タブ [xss]
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.
ruby-on-rails - Rails で出力をサニタイズする
Railsで出力HTMLをサニタイズするための最良のソリューションは何ですか(XSS攻撃を回避するため)?
white_list プラグインまたは Sanitize Helper http://api.rubyonrails.com/classes/ActionView/Helpers/SanitizeHelper.htmlのサニタイズ メソッドの 2 つのオプションがあります。私にとっては、今日まで white_list プラグインの方がうまく機能し、以前は Sanitize に非常にバグがありましたが、コアの一部として、おそらく開発中であり、しばらくの間サポートされるでしょう.
asp.net - クロス サイト スクリプティングと HTML エンコーディング
Web サイトのユーザーが再表示するときに入力したデータを HTML エンコードすると、CSS の脆弱性を防ぐことができますか?
また、ユーザー入力をサニタイズして、独自のルーチンを作成する必要がないようにするツール/製品はありますか。
html - 保存時または表示時にユーザー入力を HTML エンコードする
私を悩ませ続ける単純な質問。
ユーザー入力をすぐに HTML エンコードして、エンコードされたコンテンツをデータベースに保存する必要がありますか? または、生の値を保存して表示時に HTML エンコードする必要がありますか?
エンコードされたデータを保存すると、データが表示されているときに開発者がデータのエンコードを忘れるリスクが大幅に軽減されます。ただし、エンコードされたデータを保存すると、データマイニングがやや面倒になり、通常は問題になりませんが、少し多くのスペースが必要になります。
security - XSS 攻撃で HttpOnly Cookie を取得することは可能ですか?
HttpOnly Cookie に関するこのブログ投稿を読んで、私は考え始めました。HttpOnly Cookie を任意の形式の XSS で取得することは可能でしょうか? Jeff は、「基準を大幅に引き上げる」と述べていますが、XSS から完全に保護するわけではないように聞こえます。
すべてのブラウザーがこの機能を適切にサポートしているわけではないという事実は別として、ユーザーの Cookie が HttpOnly である場合、ハッカーはどのようにしてユーザーの Cookie を取得できるのでしょうか?
HttpOnly Cookie を別のサイトに送信したり、スクリプトで読み取ったりする方法が思いつかないので、これは安全なセキュリティ機能のように思えますが、一部の人々が多くの Cookie を簡単に回避できることにいつも驚かされます。セキュリティ層。
私が働いている環境では、IE のみを使用しているため、他のブラウザーは問題になりません。これがブラウザ固有の欠陥に依存しない問題になる可能性がある他の方法を特に探しています。
c# - すべての ASP.Net のセキュリティ問題 (XSS など) と予防策を一覧表示している単一のリソースが Web 上にありますか?
サイトを攻撃する方法は非常に多いため、既知のすべての脆弱性と考えられる予防策をリストした単一のガイドまたはリソースがあると便利です。誰か知っていますか?
また、このようなことに対応できるライブラリやフレームワークはありますか?
security - 主要なクロス サイト スクリプティングの落とし穴を回避するクラシック ASP を使用して「終了」ページを構築する
私は、勤務先の会社で管理されている多数のサブサイトで使用されている従来の ASP Web ページの更新に取り組んでいます。
このページの目的は、ユーザーが「私たちの」サイトを離れて別のサイトに移動することをユーザーに通知することです。基本的には免責事項ですが、リソースの制限と時間の制限により、私たちが管理するすべてのサイトに免責事項を追加することはできません.
これが問題の核心です。現在のコードは、クエリ文字列から変数を取得して、新しいウィンドウに「続行」リンクを作成します。これは明らかに、クロス サイト スクリプティングの形で多くの問題を引き起こします。
vbScript/ASP を使用したクロス サイト スクリプティングの問題のほとんど (すべてではないにしても) を解消するには、この更新プログラムにどのようにアプローチすればよいでしょうか。
私が使用しているコードは以下のとおりです。
xss - XSS はどのように機能しますか?
XSSがどのように機能するかをわかりやすい英語で説明できますか? 多分例で。グーグルはあまり役に立ちませんでした。
security - 画像からのクロスサイト スクリプティング
私のサイトには、XSS 攻撃から保護しようとしているリッチテキスト エディターがあります。ほとんどすべてを処理したと思いますが、画像をどうするかについてはまだわかりません。現在、次の正規表現を使用して画像 URL を検証しています。これにより、インライン JavaScript XSS 攻撃がブロックされると想定しています。
私が確信していないのは、これがリモート イメージからの XSS 攻撃にどの程度影響を与えるかということです。外部画像へのリンクは深刻なセキュリティ上の脅威ですか?
text/javascript
私が考えることができる唯一のことは、入力された URL が、ある種の画像ではなく MIME タイプとして" " を返すリソースを参照し、その JavaScript が実行されるということです。
それは可能ですか?他に考慮すべきセキュリティ上の脅威はありますか?
testing - XSS拷問テスト-それは存在しますか?
私はhtmlサニタイザーを作成しようとしていますが、それが適切に機能することをテスト/証明するために、XSSの例のセットを使用して、それがどのように機能するかを確認する必要があります。これがコーディングホラーの良い例です
私は、Mimeデコーダーをテストするために使用される添付ファイル付きのいくつかのネストされた電子メールで構成されるMime Torture Testがあることを知っています(正しくデコードできる場合は、動作することが証明されています)。私は基本的にXSSに相当するものを探しています。つまり、正常に機能することを確認するために消毒剤に投げることができる危険なhtmlの例のリストです。
誰かがサニタイザーの書き方(つまり、人々が使用しようとしている一般的なエクスプロイトなど)についての優れたリソースもあれば、彼らも感謝しています。
前もって感謝します :-)
編集:これが以前に明確でなかった場合は申し訳ありませんが、私は一連の拷問テストの後で、ブラウザなどでテストするのではなく、消毒剤の単体テストを書くことができます。理論上のソースデータはどこからでも得られた可能性があります-ブラウザだけではありません。
php - $_REQUEST はどれほど悪質であり、許容できる応急処置は何ですか?
私は最近、スーパーグローバルを使用することを提案する人気のある PHP 関連の回答をいくつか見つけまし$_REQUEST
たregister_globals
。
なぜ$_REQUEST
悪い慣行なのかについて、適切な説明/証拠を提供できますか? 私が掘り起こしたいくつかの例を捨てて、理論的な攻撃ベクトルと現実世界のエクスプロイトの両方に関するより多くの情報/視点、およびシステム管理者がリスクを軽減するために実行できる合理的な手順の提案を楽しみにしています (アプリを書き換える...または、管理に行って書き換えを主張する必要がありますか?)。
脆弱性の例:デフォルトGPC
の配列マージ順序は、COOKIE 値が GET および POST をオーバーライドすることを意味するため$_REQUEST
、XSS および HTTP 攻撃に使用される可能性があります。PHP では、Cookie 変数でスーパーグローバル配列を上書きできます。このトークの最初の 10 枚のスライドは例を示しています (トーク全体が素晴らしいです)。CSRF 攻撃のphpMyAdmin エクスプロイト例。
対策の例:$_REQUEST
配列のマージ順序を から GPC
に再構成してCGP
、GET/POST が COOKIE を上書きするようにします。その逆ではありません。Suhosinを使用して、スーパーグローバルの上書きをブロックします。
(また、私の質問がだまされたと思うかどうかは尋ねませんが、幸いなことに、 「いつ、なぜ $_GET / $_POST / $_COOKIE の代わりに $_REQUEST を使用する必要があるのか?」に対する圧倒的な SO の回答は「決して」でした。 )