問題タブ [mod-security2]
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.
apache - root アクセスなしで mod_security2 の問題をデバッグすることは可能ですか?
私は最近、CakePHP でアプリケーションを開発しています。私たちの開発サーバー (私が管理しています) では、アプリケーションは問題なく動作します。私たちの大学が管理しているライブサーバーでは、ほとんどの POST リクエストが 403 ページになります。これらの場合、PHP が呼び出されることさえないことがわかりました。また、この 2 つの実際の構成の違いは mod_security2 だけであると 99% 確信しています。
これが私のトラブルです。root ではないため、error_log ファイルが表示されません。それが入っているディレクトリをリストすることさえできません。地球上で最も遅い管理者が必要であり、できるだけ早くこの問題を乗り越えようとしています。mod_security2 をデバッグする方法はありますか?
構成ファイル (読み取りアクセス権はあります) を調べてみましたが、この mod を使用したことがなく、糖蜜を通り抜けるようなものです。どこから始めればよいかさえわかりません。
mod を完全に無効にするという選択肢はありません。ヘルプ。
forms - CakePHPのフォームヘルパーに別の命名スキームを使用するように指示できますか?
安全なサーバーにCakePHPアプリケーションをデプロイする際に問題が発生します。管理者がmod_security2をインストールしましたが、フォームからPOSTデータを検証しようとするとエラーが発生します。
これが問題であるかどうかは正確にはわかりませんが、mod_securityは、フォームヘルパーが生成するフィールド名で使用される角かっこを強く嫌っていると思います。フィールド名は常に次の形式です。
データ[テーブル名][フィールド名]
これらの名前を使用するフォームを送信すると、apacheログに次のように表示されます(正気のために改行が追加されました)。
XSSインジェクションルールをトリガーしていることがわかりましたが、フィールド名の「][」は気に入らないと思います。これは、空のフォームを送信するとき、および完全に記入されたフォームを送信するときにも発生します。この場合、PHPが呼び出されていないことを確認しました。
mod_securityをオフにすることはできません。これは、私が制御するサーバーではないため、処理に行き詰まっています。論理的な「修正」は、フィールド名に[]角かっこを使用しないことのようですが、フォームハンドラーにそのように指示する方法がわかりません。すべてのチュートリアルは、デフォルトの命名規則で問題なく表示されます。
フォームハンドラーが入力要素のフィールド名を処理する方法をグローバルに変更する方法はありますか?それを除いて、個々の要素ごとにそれをオーバーライドする方法はありますか?ケーキのコアエンジンが結果をどのように処理するかは完全にはわかりません。モデルがそれを特定の形式に拡張すると、行き詰まる可能性があります。
apache - ModSecurityルール:どちらが良いですか-GotRootまたはTrustWave?
ModSecurity(mod_security)の追加ルールを探しています。GotRootまたはTrustWaveの新しいオプションの2つの商用オプションがあります。
http://www.gotroot.com/mod_security+rules
https://www.trustwave.com/modsecurity-rules-support.php
TrustWaveについては聞いたことがありますが、GotRootについては聞いていません。ただし、GotRootルールはGoogleなどでより多く言及されているようです-TrustWaveのルールは約1か月ほど前にしか登場しなかったようです
eコマースサイトを保護するためにそれらを使用します
mod-security - ModSecurity:「重大度」レベルに基づいて「実行」する方法は?
mod_security 2.6.3を使用していますが、ルールの重大度レベルに基づいてシェルスクリプトを実行できるようにしたいと考えています。コアルールセット(CRS)を使用しています。これは、攻撃が検出されたときに重大度レベルを2(「クリティカル」の場合)に設定します。
重大度が十分に高い場合はいつでもスクリプトを実行したいと思います。
SecDefaultAction
次のような設定を使用してみました。
ただし、「exec」アクションは「無停止」アクションであるため、クリティカルルールまたは非クリティカルルールがトリガーされているかどうかに関係なく、常に実行されます。
それぞれのクリティカルSecRule
を調べて、その横に「exec」を追加することはできますが、それは面倒です(そして反復的で醜いです)。
私は次のようなことができると思いました:
しかし、どういうわけか、それは決して実行されません。おそらく、重要なルールに、ルールの処理を停止するブロックまたは拒否ステートメントがあるためです(混乱を招くと見なされているため)。
また、次のようなCRS異常スコア機能を使用してみました。
しかし、それでも処理されません。私がこれをどのように行うことができるかについてのアイデアはありますか?
apache - mod_securityはInternetExplorerのみをブロックします
Apacheサーバーでmod_securityをインストールしましたが、現在はie7/8/9ブラウザーのみをブロックしています。(Firefox / chromium / etcでWebを閲覧できます)
ログには次のように書かれています。
また、ルールID「960038」は次のとおりです。
私は1つの主要な質問と、最初の質問から派生した他の2つの質問があります。
- このルールが何をするのかをどうやって知ることができますか?
- このルールを無視しても安全ですか?
- つまり、Webをナビゲートできるようにするために、ルールを変更する方法はありますか?
mod-security - ModSecurity: ルールはルール ID の昇順で実行されますか?
カスタム mod-security ルールを作成していますが、ルール ID がルールの実行順序に影響するかどうかについて質問があります。
私の現在の設定は次のとおりです。
- mod-security バージョンを使用しています: 2.6.3-1ubuntu0.2
- 私の mod-security 設定はhttp://mod-security.svn.sourceforge.net/viewvc/mod-security/m2/trunk/modsecurity.conf-recommendedに基づいています (5 つの SecRule ディレクティブがあります - ID: 200000 - 200005)
- 私のルールは別のファイル/etc/apache2/conf.d/modsecurity-activated-rules.confにあり、modsecurity 構成/etc/apache2/conf.d/modsecurity.confの後にロードされます
私のルールは次のとおりです。
免責事項:これは単純なルールであり、まだ学習中であるため最適ではない可能性があります。提案は大歓迎です
それで、デバッグファイルを分析した後(レベル9がアクティブ化された)、私の質問が私に来ました:
デバッグ行が示すように、私のルール (id:1001) はルール (id:200000) の前に最初に実行されましたが、私のルールは 20000x の後に読み取られます。
OWASP ModSecurity Core Rule Set https://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Projectには 950000 から 990000 の間のルール ID があり、ルールが存在しないため、ID はルール実行の順序で実際には重要ではありません。特定の攻撃のルール ID 範囲に関する情報: SQLi、XSS など。
上記で、私の質問は次のとおりです。
- ルールの実行は ID 番号によって決定されますか (最小番号が最初に実行されます)?
- カスタム ルールに使用するルール ID 範囲を定義するドキュメントはありますか? 私は次のようなものを探しています:
- Mod セキュリティの主なルール: 200.000 - 200.xxx
- OWASP ModSecurity コア ルール セット: 950.000 - 999.xxx
- カスタム ルール: 1.000.000 - 9.xxx.xxx
御時間ありがとうございます。
php - WHMCSはチケットを介して{php}とEvalbase64コードによってハッキングされています
WHMCSは、テンプレートシステムにSmartyを使用していますが、優れたテンプレートシステムには、{php}
タグという欠陥があります。これらのタグを使用すると、PHPコードをテンプレート内で直接解釈できます。この場合、新しいチケットが作成されたときにチケットシステムを介して解釈できます。このハッキングはWHMCSシステムで常に発生します。構成のテキストブロックオプションを使用して、WHMCSのコードをブロックしてみてください。しかし、ほとんどの場合、これは機能しません。
WHMCSがチケットを受け入れ、ハッカーがチケットメッセージに次のように追加するとどうなりますか。
だからsmartyはその{php}
部分を見て、すぐにPHPにそのコマンドを実行させましょう。そのため、最初にbase64でエンコードされたPHPをデコードします。これにより、ハッカーが実行しようとしているPHP関数/スクリプトが表示されます。
次に、evalが引き継ぎ、実際にPHPコードを評価して、サーバー側で実行します。
多くのハッカーはこの方法で侵入し、WHMCSで機能することがわかっているコードを実行し、データベース情報を取得してファイルにエコーします。次に、ブラウザのURLからこのファイルを取得し、必要な情報を取得します。
これは一部のWHMCSインストールでのみ機能しますが、WHMCSによると、最新バージョンではこれが許可されておらず、Smartyでは{php}が無効になっています。ハッカーは、それとeval
そのコードを回避する方法を見つけることがあります。
php - パラメータとしてのURLのMod-セキュリティ例外ルール
私はmodsecurityを初めて使用し、サーバーにインストールできました。ただし、インストール後、ホストされているWebサイトは分割されています。問題を追跡した後、phpコードでURLをパラメーターとして渡すことができないことがわかりました。例:xyz.php?url = http ://www.example.com/img/abc.jpg¶m2=xyzURL をパラメーターとして渡すことができるようにmodsecurityに追加できる例外はありますか。
ありがとう、
Aazim
php - ハイフンを指定してGETすると、エラー403が発生します
PHP
支払い処理業者からのコールバックを処理するスクリプトがあります。
クエリ文字列'result'に二重ダッシュとそれに続く単一ダッシュが含まれている場合、403を取得します。
このサイトでは、.htaccess
またはに書き換えルールはありませんapache config
。
ロードされたモジュールは次のとおりです。