mirror of
https://gitee.com/kekingcn/file-online-preview.git
synced 2025-10-25 02:09:09 +08:00
修复压缩文件目录穿越漏洞
This commit is contained in:
@@ -55,7 +55,7 @@ public class CompressFileReader {
|
|||||||
List<Map<String, ZipArchiveEntry>> entriesToBeExtracted = new LinkedList<>();
|
List<Map<String, ZipArchiveEntry>> entriesToBeExtracted = new LinkedList<>();
|
||||||
while (entries.hasMoreElements()) {
|
while (entries.hasMoreElements()) {
|
||||||
ZipArchiveEntry entry = entries.nextElement();
|
ZipArchiveEntry entry = entries.nextElement();
|
||||||
String fullName = entry.getName();
|
String fullName = entry.getName().replaceAll("//", "").replaceAll("\\\\", "");
|
||||||
int level = fullName.split(archiveSeparator).length;
|
int level = fullName.split(archiveSeparator).length;
|
||||||
// 展示名
|
// 展示名
|
||||||
String originName = getLastFileName(fullName, archiveSeparator);
|
String originName = getLastFileName(fullName, archiveSeparator);
|
||||||
@@ -151,7 +151,7 @@ public class CompressFileReader {
|
|||||||
List<Map<String, SevenZArchiveEntry>> entriesToBeExtracted = new ArrayList<>();
|
List<Map<String, SevenZArchiveEntry>> entriesToBeExtracted = new ArrayList<>();
|
||||||
while (newEntries.hasMoreElements()) {
|
while (newEntries.hasMoreElements()) {
|
||||||
SevenZArchiveEntry entry = newEntries.nextElement();
|
SevenZArchiveEntry entry = newEntries.nextElement();
|
||||||
String fullName = entry.getName();
|
String fullName = entry.getName().replaceAll("//", "").replaceAll("\\\\", "");
|
||||||
int level = fullName.split(archiveSeparator).length;
|
int level = fullName.split(archiveSeparator).length;
|
||||||
// 展示名
|
// 展示名
|
||||||
String originName = getLastFileName(fullName, archiveSeparator);
|
String originName = getLastFileName(fullName, archiveSeparator);
|
||||||
|
|||||||
Reference in New Issue
Block a user