1

ユーザーがシステムコアフォルダー内にあるURLをロードできないようにする単純な.htaccessファイルを作成しました。ただし、これは完全には機能していません。

をロードhttp://domain.com/systemfolder/すると が得られる404 File not foundので、それはクールですが、入力するとhttp://domain.com/systemfolder(URL の末尾に がないことに注意してください/)、mod_dir は from から にリダイレクトさhttp://domain.com/systemfolderhttp://domain.com/systemfolder/ます。mod_dirその特定のディレクトリを無効にすると、401 Permission denied代わりにが表示404 File not foundされるため、攻撃者はシステムを識別できます。どうすれば修正できますか?

追加情報: mod_rewrite404'ing に使用しています。

現在の .htaccess (システム ルートにあるすべてのシステム フォルダーにある) は次のようになります。

<IfModule mod_dir.c> 
    DirectorySlash Off 
</IfModule> 
<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^(.*)$ - [R=404,L] 
</IfModule> 
<IfModule !mod_rewrite.c> 
    Order allow,deny Deny from all 
</IfModule>

あなたは自問するかもしれません:なぜ彼はそれをしているのですか?

答えは簡単です。基本的に、Joomla!、WordPress、Drupal などのオープンソース CMS は、100% 防弾ではないため、攻撃に対して脆弱です。クラッカーが脆弱性を発見すると、基本的に何千人ものクラッカーに伝え、彼らはそのシステムをクラックする機会を得ます。これらのシステムが 100% 防弾ではない理由は、10% は人間が人間でしかないためであり、90% はシステムに何千人もの人々が貢献しており、誰もが安全なコードを作成しているわけではないためです。この事実は、何千人もの人々がホットフィックスを比較的迅速にリリースできるという事実によって補われています。

クラッカーの最初のステップは、そのようなシステムを特定することです。wp-admin彼が URL を追加するだけで機能する場合、彼は基本的に WordPress サイトを特定しました。Cracker の 2 番目のステップは、脆弱性を見つけることです。3 番目のステップは、その脆弱性を悪用することです。

私のアプローチは、クラッカーがシステムを識別できないように、ステップ 1 でクラッカーを停止することです。もちろん、システムの署名がフッターに表示される可能性がありますが、それには人間の介入が必要です。すべての URL をマスクし、Web コンテンツをキーベースでロードする (画像の最後に 1 回限りのキーを追加するページをロードすることにより、URI に有効なキーを提供しない場合、ユーザーは基本的に画像やビデオをロードできません) url の)。管理は専用サーバー上で行われ、特定の IP に対してのみ開かれているので、かなり安全だと思います。

4

0 に答える 0