問題タブ [code-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.
security - 外部ソースから取得した場合、文字列以外のデータ型が潜在的に有害になる可能性はありますか?
ユーザー入力を信頼できないことは、よく知られている真実です。これらの入力は、フィルタリングせずに使用すると、セキュリティ上の問題になる可能性さえあります。XSS および SQL インジェクションは、フィルタリングされていないユーザー入力 (またはユーザーが変更できる入力) を使用することで発生する可能性がある問題です。
このような問題を回避するには、外部リソースの影響を受ける可能性のあるすべての文字列を制御する必要があります。Perl は、'Taint-mode' でこれをサポートしています。
私が知っている問題はすべて、操作された文字列が原因です。外部の影響によって操作される int や float などに起因するセキュリティ問題の例を知っていますか? それとも、このデータ型は安全であると想定できますか?
.net - .NET 用の優れたセキュリティ エンコーディング ライブラリはありますか?
さまざまなインジェクション型の攻撃について読んでいますが、これらの脆弱性を取り除く最善の方法は、すべてのユーザー入力をエンコードして、一部の文字を削除/他の文字 (< > ; など) に置き換えることです。
ここで私の最善の策は何ですか?これを手伝ってくれる素敵なライブラリはありますか?または、潜在的な脆弱性を見つけるのに役立つものはありますか? - それとも、正規表現が私の最善の策ですか? :)
どうもありがとう
c# - C#:CSSをMSHTMLインスタンスに挿入する最良の方法は?
他の HTML に付随する CSS を C# マネージド WebBrowser コントロールに挿入しようとしています。このコードは完全な IE8 BHO の一種のプロトタイプとして機能しているため、基になる MSHTML (DomDocument プロパティ) コントロールを介してこれを実行しようとしています。
問題は、HTML (mydomdocument.body.insertAdjacentHTML 経由) と Javascript (mydomdocument.parentWindow.execScript 経由) を挿入できますが、CSS コードを完全に拒否することです。
挿入したい HTML を含む文字列をインジェクション後の宛先ページ ソースと比較すると、MSHTML のソースには、要素とその基になるソースを除くすべてが文字通り含まれます。<style>
CSS は、CSS 2.1 の W3C 検証に合格しています。一部の background-image プロパティは画像を直接 CSS に埋め込んでおり (例: background-image: url("data:image/png;base64
...)、これらの行をコメントアウトしても結果は変わりません。
さらに奇妙なことに (これが関連しているかどうかはわかりませんが)、先週は問題がなかったということです。今週また戻ってきましたが、実際に挿入する前に、挿入される HTML を処理するコードの一部を切り替えたところ、機能しなくなりました。当然、私の変更の 1 つが何らかの問題である可能性があると考えましたが、すべてのロジックをコメントアウトしてストレート文字列を入力した後でも、HTML はまだフォーマットされていないように見えます。
現時点では、<body>
タグに注入していますが、注入しようとしましたが<head>
、同様の結果が得られました。
よろしくお願いします。
トム
javascript - 既存のCSSが挿入されたHTML/CSSをスタイリングできないようにする
私は、自分が制御できないWebページにJS + CSS+HTMLを挿入するプロジェクトに取り組んでいます。
挿入されたコードのホストページのスタイルが気になります。挿入されたコードは、自分のスタイルにのみ従い、自分のスタイルには従わないようにします。
現時点で私が考えることができる唯一の方法は、コンテナ<div>
のクラスのすべての可能なタグを明示的に指定し(事前定義された既知のブラウザのデフォルトを使用して)、それらのルールの継承に依存して残りの部分に伝播することです。挿入されたHTML。このCSSは、ページの<head>
タグの下部に表示する必要があります。
しかし、それが最善の解決策ではないと思います。また、それを実装することを楽しみにしていません。確かにもっと良い方法があります。
.net - .NET コードを挿入して関数の戻り値を変更する方法
私は現在、別の .NET プロセスに挿入して関数の戻り値をオーバーライドできる .NET コードを作成する方法を研究しています。私のコードは、次のようにメソッド呼び出しの戻り値を変更するという考えです。
私のコードは DoSomething() の呼び出しをインターセプトし、「値」ではなく、独自のカスタム文字列を返します。
この種のことを行うには、.NET プロファイリング API を使用して調べる必要があると思います。プロファイリング API を使用した経験のある人はいますか?もしそうなら、このコード インジェクションは可能だと思いますか?
これを悪意のあるものに使用するつもりはありません。.NET で非常に低レベルのことを試して、それが可能かどうかを確認したいだけです。
乾杯。ジャス。
.net - 実行中のプロセスに CLR ホストを挿入する - 可能ですか?
この方法は狂気です、私は知っています。
.NET 経由で拡張したい実行可能ファイル (アクセスできないソース コード) があります。これはネイティブの実行可能ファイルであるため、これを行うには CLR ホストを挿入する必要があります。私の基本的な考えは、.NET 言語 (C# など) を介してスクリプトのような機能を提供し、スクリプトが操作するターゲット実行可能ファイルにフックを提供することです。逆もまた同様です。
これを達成するには、DLL インジェクション、ランタイム ASM インジェクションなど、さまざまな手法を使用する必要があることはわかっていますが、知りたいのは次のことです。私が話していることは可能ですか? さらに良いことに、以前にこのようなことをした人はいますか?
windows - SetWindowsHookEx と WH_KEYBOARD で外部プロセスをフックする方法
たとえば、成功せずにメモ帳をフックしようとしています。グローバルフックを作成するとうまくいくようです。
XP SP2 でのテスト。
編集: 修正されたコードが機能するようになりました。
MyDLL コード
私のプログラム
php - PHP で電子メール インジェクション攻撃を防ぐための現在のベスト プラクティスは何ですか?
PHP メールフォームからのデータをサニタイズするための最近のベストプラクティスと考えられているものは何ですか?
私は現在、このようなものを使用しています...
この方法で電子メール フィールドを単純にフィルタリングするだけで十分な保護でしょうか? スパマーから保護するために、スクリプトをより効果的に強化できますか?
前もって感謝します!
[編集]これまでの回答は、私が自分自身を十分に説明していないことを示唆しているため、明確化。
私は主にスパムボットがこのスクリプトを入手することには関心がありませんが、誰かがこのスクリプトを利用してme@example.com
. これにはボットが含まれる可能性がありますが、人間が CAPTCHA テストを無効にする可能性もあります。
私が探しているのは、mail() メソッドによって送信された電子メールが乗っ取られないようにする PHP です。これはおそらく、特定の文字を単純に削除する正規表現またはフィルターなどです。ありがとうございました。[/編集]