0

私のコードでは、パス トラバーサル ファイルのアップロードという警告が表示されます。それを修正する方法がわかりません。

これはエラー通知です

アップロードされたファイルからのサニタイズされていない入力は、パスとして使用される jimp.read に流れます。これにより、パス トラバーサルの脆弱性が発生し、攻撃者が任意のファイルを読み取る可能性があります。

ここに私のコードがあります

 reqImage = req.files.readmoreImage;

                await Jimp.read(reqImage.data)
                    .then((image) => {
                        image
                            .scaleToFit(263, 342, [
                                Jimp.HORIZONTAL_ALIGN_CENTER,
                                Jimp.VERTICAL_ALIGN_MIDDLE,
                            ])
                            .quality(60)
                            .write(uploadPath);
                    })
                    .catch((err) => {
                        if (err) {
                            req.flash('error', 'Something wrong in image Uploading !');
                            return res.status(302).redirect('back');
                        }
                    });

アップロード前にサニタイズする方法。

このように正規表現を使用して文字列をサニタイズ.replace(/\//g, '\\\\'))しましたが、ファイルのアップロードを処理することを理解できません

4

0 に答える 0