不常见但不容忽视的网站漏洞

分类:其他来源:站内 最近更新:2020-09-25 09:09:17浏览:112留言:0

    最近公司搞IPO,针对公司网站进行了全面的安全漏洞检测。在修复的过程中,也学习了一下网站中可能会存在的漏洞。


jQuery 1.xx.x版本存在 XSS 漏洞。(中危)

    在过滤用户输入数据时,所使用的正则表达式存在缺陷,可能导致location.hash 跨站漏洞m攻击者就可以利用此漏洞来劫持用户浏览器,进行挂马、XSS、Cookie 劫持等攻击;

解决方案:

  • 把jQuery库升级到最高版,注意其他依赖的兼容性

  • 为应用系统制定允许用户输入字符的白名单,发现输入中存在非白名单中的字符时直接返回固定的错误页面。


目标 URL 存在 http host 头攻击漏洞(中危)

    为了方便的获得网站域名,开发人员一般依赖于 HTTP Host header。例如,在php 里用_SERVER["HTTP_HOST"]。但是这个 header 是不可信赖的,如果应用程序没有对 host header 值进行处理,就有可能造成恶意代码的传入。

解决方案:

  • web 应用程序应该使用 SERVER_NAME 而不是 host header。

  • 在 Apache 和 Nginx 里可以通过设置一个虚拟机来记录所有的非法 host header。在 Nginx 里还可以通过指定一个 SERVER_NAME 名单,Apache 也可以通过指定一个 SERVER_NAME 名单并开启 UseCanonicalName 选项。


会话 cookie 中缺少 Secure 属性(低危)

    会话 cookie 中缺少 Secure 属性会导致攻击者可以通过非 HTTPS 页面窃取到用户的cookie 信息,造成用户 cookie 信息的泄露。在 WEB 应用中,对于敏感业务,如:登录或者付款,需要使用 HTTPS 来保证内容的传输安全,而在用户成功获得授权之后,获得的客户端身份 cookie 如果没有设置为 Secure,那么很有可能会被非 HTTPS 页面拿到,从而造成重要的身份泄露。

解决方案:

    向所有会话 cookie 中添加“Secure”标识。

示例:

    未添加标识的 cookie:

    Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H;

    添加 secure 标识:

    Cookie: jsessionid=AS348AF929FK219CKA9FK3B79870H; secure;


到会话 cookie 中缺少 HttpOnly 属性(低危)

    会话 cookie 中缺少 HttpOnly 属性会导致攻击者可以通过程序(JS 脚本、Applet 等)获取到用户的 cookie 信息,造成用户 cookie 信息泄露,增加攻击者的跨站脚本攻击威胁。

解决方案:

  • 向所有会话 cookie 中添加“HttpOnly”属性。


目标 URL 存在内部 IP 地址泄露(低危)

    在前端js中,为了区分环境和调用接口,加了IP的相关判断,或者注释的地方有相关的IP重要信息。对攻击者而言,泄露内部 IP 非常有价值,因为它显示了内部网络的 IP 地址方案。知道内部网络的 IP 地址方案,可以辅助攻击者策划出对内部网络进一步的攻击。

解决方案:

  • 关闭 Web 应用程序/服务器中有问题的详细错误消息。

  • 前端文件很敏感的注释,上线后应该去除


目标 URL 存在相对路径覆盖(RPO)漏洞(低危)

    RPO (Relative Path Overwrite)相对路径覆盖,作为一种相对新型的攻击方式,由Gareth Heyes 在 2014 年首次提出,利用的是 nginx 服务器、配置错误的 Apache服务器和浏览器之间对 URL 解析出现的差异,并借助文件中包含的相对路径的 css或者 js 造成跨目录读取 css 或者 js,甚至可以将本身不是 css 或者 js 的页面当做 css或者 js 解析,从而触发 xss、信息泄露等进一步的攻击手段。攻击者可以使用此技术来诱骗浏览器将 HTML 页面作为 CSS 样式表导入。如果攻击者可以控制部分导入的 HTML 页面,则可以滥用此问题来注入任意 CSS 规则。

解决方案:

  • 在页面中使用绝对路径或以正斜杠“/”开头的相对路径进行静态文件的加载。


目标网站 robots 文件网站结构信息泄露(低危)

    robots 文件位于网站根目录下,用于标识网站的某些资源是否允许爬虫工具访问。用 Allow 表示爬虫工具可访问的资源,用 Disallow 表示爬虫工具不应该访问的资源。但同时该文件说明了目标网站存在的链接资源。通过该文件,攻击者可以更容易的清楚目标网站目录结构,为展开其他攻击提供便利。

解决方案:

  •  使用部分文件名代替完整文件名或者目录名。如 使用 Disallow: /inst 代替 Disallow: /install/


0

发表评论

评论列表(0)

  • 暂时没有留言