记录:Web网站、应用常见漏洞 二

2024-08-08 08:17:37 浏览数 (1)

最近在网站上线时,安全检查发现了一些网站的漏洞,这里写篇文章把常见的漏洞记录一下,这个是第二篇。

# 一:检测到目标服务器上存在web应用默认目录

## 描述:

web应用架构中的目录都采用常见的目录名。如图片目录images,javascript目录js,不同的目录潜在的危险是不同的。攻击者一般利用常见目录中可能包含的敏感文件获取敏感信息。

本漏洞属于Web应用安全常见漏洞。

## 解决方案:

如果不需要这些目录,可以删除此类目录;

或者严格限制目录的访问权限。

## 示例:

对于go web服务。

代码语言:txt复制
```javascript
//判断网址,若是目录访问 则返回404页面
func dirToZero(next http.Handler) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        if strings.HasSuffix(r.URL.Path, "/") {
            http.NotFound(w, r)
            return
        }

        next.ServeHTTP(w, r)
    })
}
func main() {
    fs := http.FileServer(http.Dir("./web"))
    http.Handle("/", http.StripPrefix("/", dirToZero(fs)))
    http.HandleFunc("/test", web.Test)
    http.ListenAndServe(":80", nil)
    c := make(chan os.Signal, 1)
    signal.Notify(c, os.Interrupt, os.Kill)
}
```

# 二:点击劫持:X-Frame-Options未配置

## 描述:

点击劫持(ClickJacking)是一种视觉上的欺骗手段。攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上。

HTTP 响应头信息中的X-Frame-Options,可以指示浏览器是否应该加载一个 iframe 中的页面。如果服务器响应头信息中没有X-Frame-Options,则该网站存在ClickJacking攻击风险。网站可以通过设置 X-Frame-Options 阻止站点内的页面被其他页面嵌入从而防止点击劫持。

## 解决方案:

修改web服务器配置,添加X-Frame-Options响应头。赋值有如下三种:

1、DENY:不能被嵌入到任何iframe或者frame中。

2、SAMEORIGIN:页面只能被本站页面嵌入到iframe或者frame中。

3、ALLOW-FROM uri:只能被嵌入到指定域名的框架中。

例如:

代码语言:txt复制
apache可配置http.conf如下: 
<IfModule headers_module> 
    Header always append X-Frame-Options "DENY" 
</IfModule> 
 
IIS可配置相关网站的Web.config如下: 
<system.webServer> 
  ... 
 
  <httpProtocol> 
    <customHeaders> 
      <add name="X-Frame-Options" value="deny" /> 
    </customHeaders> 
  </httpProtocol> 
 
  ... 
</system.webServer>

# 三:检测到目标网站存在上传下载相关的目录和文件

## 描述:

检测到目标网站存在上传下载相关的目录和文件。上传目录一般具有可写权限。攻击者可以预测文件上传的路径,便于和目标站点的其他漏洞攻击结合攻击目标服务器。

## 解决方案:

检查此类目录的访问权限。如果不需要这些目录,建议删除。

# 四:检测到目标服务器可能存在系统路径信息泄露

## 描述:

检测到在服务器的响应内容中可能存在系统目录路径信息,如/home,/var或者c:等信息,这一般是由于目标web应用没有处理好应用错误信息导致的目录路径信息泄露。

如果攻击者获取到这些信息,可以了解目标服务器目录结构,给攻击者带来便利,如上传文件到服务器的其他目录。

## 解决方案:

如果是正常页面中包含路径信息,如果不需要该路径信息,删除该信息。

如果是错误信息中包含路径信息,需要屏蔽应用程序错误信息。

# 五:检测到可能存在应用程序的默认测试用例文件

## 描述:

发现目标网站存在测试应用程序。这种类型的文件通常是由开发人员或者网站管理员用于测试web应用程序的某个功能时留在服务器上的。这些文件可能包含有敏感信息,包括已验证的会话ID,用户名/密码等。如果攻击者获取到这些敏感信息,攻击者可以进一步获取其他敏感数据。

## 解决方案:

删除此类文件或限制此类文件的访问权限。

0 人点赞