Browse Source

修正抑制目录穿越判断

master
xyiege 3 months ago
parent
commit
a2d9e0d8c3
  1. 14
      aufs/core/AuFile.go

14
aufs/core/AuFile.go

@ -20,14 +20,12 @@ func Flist(w http.ResponseWriter, r *http.Request) {
// 监视运行目录
wdir := r.URL.Query().Get("path")
// 如果请求的path中有 ../ 需要删除
wdir = strings.Replace(wdir, "../", "", -1)
// 如果请求的path中以 / 结尾需要删除
if wdir[len(wdir)-1] == '/' {
wdir = wdir[:len(wdir)-1]
}
// 如果请求的path中以 / 开头需要删除
if wdir[0] == '/' {
wdir = wdir[1:]
if strings.Contains(wdir, "../") {
// 删除多余的../
wdir = strings.ReplaceAll(wdir, "../", "")
// 正则替换多余的../
// wdir = regexp.MustCompile(`/{2,}`).ReplaceAllString(wdir, "/")
}
// 主机
srcip := r.URL.Query().Get("srcip")

Loading…
Cancel
Save