【脆弱性マイニング】Sourcemap、webpckのソースコード漏洩の脆弱性

1. npm を使用して reverse-soucemap をインストールします

1.1 npmのインストール

公式 Web サイトにアクセスし、インストール パッケージをダウンロードして、[次へ] をクリックします
https://nodejs.org/en
インストール パッケージにより、環境変数が自動的に追加されます

インストールが成功したかどうかを確認する

npm -v

ここに画像の説明を挿入します

1.2 npm構成の最適化

2 つのフォルダー「node_cache」と「node_global」を作成します。
ここに画像の説明を挿入します

1.2.1 グローバルモジュールのストレージパスとキャッシュパス

コマンドの実行

npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"

ここに画像の説明を挿入します

1.2.2 画像ソースの変更

npm config set registry=http://registry.npm.taobao.org 

今の設定が有効になっているかどうかを確認する

npm config list

ここに画像の説明を挿入します

1.2.3 npmのアップグレードと更新、および環境変数の追加

# npm install 安装或更新模块 -g代表全局安装,即安装到D:\nodejs\node_global目录下
npm install npm -g

インストール エラー:
ここに画像の説明を挿入します
プロンプト メッセージに従って、管理者モードで cmd を開き、update コマンドを再度実行すると、インストールは成功します。

ここに画像の説明を挿入します
この時点で、どのモジュールがグローバルにインストールされているかを再度確認すると、インストールした npm が見つかります。

npm list -global

ここに画像の説明を挿入します

デフォルトのモジュール パスは D:\nodejs\node_modules ディレクトリであるため、
グローバル ディレクトリを D:\nodejs\node_global\node_modules ディレクトリに変更しました。npm install などのコマンドを直接実行すると、エラーが報告されます。
環境変数 NODE_PATH を追加する必要があります。内容は D:\nodejs\node_global\node_modules です。

ここに画像の説明を挿入します

1.3 逆ソースマップのインストール

npm install reverse-sourcemap -g

ここに画像の説明を挿入します
インストールが成功したかどうかを確認する

在这里插入代码片

ここに画像の説明を挿入します
ここに画像の説明を挿入します
環境変数
D:\nodejs\node_global
ここに画像の説明を挿入します
を追加して再度実行すると、正常にヘルプ情報が参照できることがわかります。
ここに画像の説明を挿入します

2. reverse-sourcemap を使用してソース コードを逆に取得する

reverse-sourcemap --output-dir 自定义输出目录 xxx.js.map

ここに画像の説明を挿入します

ここに画像の説明を挿入します

3. バグ修正

この脆弱性を回避するには、運用環境で SourceMap 機能を無効にするか、SourceMap ファイルへのアクセスを制限する必要があります。たとえば、Webpack 設定で SourceMap 機能を無効にします。

// webpack.config.js
module.exports = {
    
    
  // ...
  devtool: false,
};

あるいは、Web サーバー構成で SourceMap ファイルへのアクセスを制限します。

nginx

# nginx configuration
location /static/ {
    
    
  # 只允许本地访问
  allow 127.0.0.1;
  deny all;
  alias '/path/to/source-maps/';
}

おすすめ

転載: blog.csdn.net/tyty2211/article/details/134245004
おすすめ