安全扫描遇见的问题

  1. 使用 HTTP 动词篡改的认证旁路
    这个问题是指不使用规范的访问方式也能返回页面内容
    解决方案:
    服务的架构是nginx + 后端网关,通过在nginx设置支持的http请求类型,解决此问题。
if ($request_method !~ ^(GET|POST|DELETE|PUT|PATCH|HEAD|OPTIONS)$ ) {
return 403;
}
  1. 跨站点请求伪造
    CSRF(Cross Site Request Forgery) 跨站请求伪造。


    CSRF

简单概括csrf攻击如下:
用户登录A网站后,浏览器记录A网站cookie信息,此时访问B网站,并点击某些危险链接,导致A网站的cookie被携带,像A网站发送一些请求,产生用户数据安全问题。

解决方案:
根据原理,常用解决方案有两种。
(1)在A网站验证请求来源,即验证http 请求的HTTP Referer字段,我们也是利用此方式来防范CSRF攻击。

 valid_referers none blocked server_names www.baidu.com;
           if ($invalid_referer) {
             return 403;
           }

(2)前端请求时生成一个随机token,后端验证此token的有效性,请求中不携带token或者token验证失败则认为是非法请求。

  1. 重定向钓鱼
    系统中主要使用了cas来实现单点登录,cas 支持登录后的重定向,并且未对重定向地址进行校验,导致登录成功后可以跳转到任意地址。
    解决方案:
    nginx中增加对重定向地址校验

            if ( $args !~* "service=http://localhost/"){
                    return 403;
            }
  1. XSS攻击

你可能感兴趣的:(安全扫描遇见的问题)