银弹谷V百科:解密安全扫描执行系统的风险漏洞解决办法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
银弹谷V百科:解密安全扫描执行系统的风险漏洞解决办法“安全”是我们经常听到的一个词语,安全话题也是我们经常议论的一个话题,因为安全是我们生命的保证。“安全”问题与我们息息相关,不仅仅是人身安全,就连我们平时使用的手机、电脑都会安装各种各样的杀毒软件来确保我们的信息不被泄露。那么同样,在我们的执行系统中,我们也要注意“安全”问题,及时对其进行安全扫描,那么对扫描出来的风险漏洞我们应该怎么办呢?
下面我们就一起来看看对执行系统进行安全扫描,出现的一些风险漏洞的解决办法吧!
一、v3.x版本风险URL传递敏感信息
原因:
GET /module-
operation!executeOperation?componentCode=pm_sztj_oasso&windowCode=sztj_oa_ss o_transfer&token={"data":{"inputParam":{"variable":{"fcode":"","gotoPage":"home","acco unt":"XXXXXX"}}}} HTTP/1.1
要检查下是不是项目上使用了打开链接的规则,然后在链接参数里自己拼写了上面的URL。
解决办法:
检查和调整下配置,从配置上规避这个问题。
用EncodeURIComponent()函数,将字符串作为URI组件进行编码。
把token的值用EncodeURIComponent函数处理一下。
token={"data":{"inputParam":{"variable":{"fcode":"","gotoPage":"home","account":"XXXXX "}}}}
二、v3.x版本appscan扫描出现以下风险怎么办
缺少“X-XSS-Protection”头
缺少“X-Content-Type-Options”头
缺少“Content-Security-Policy”头
缺少HTTP Strict-Transport-Security 头
会话cookie 中缺少HttpOnly 属性
支持不推荐使用的SSL 版本
跨站点请求伪造
解决方法:
使用nginx,如已有nginx,请添加如下配置:
#设置HSTS,强制需要输入https或http
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
# 这是为了失效某些浏览器的内容类型探嗅
#add_header X-Content-Type-Options nosniff;
# 防止跨站脚本Cross-site scripting (XSS)
add_header X-XSS-Protection "1; mode=block";
add_header Set-Cookie "HttpOnly";
add_header Set-Cookie "Secure";
add_header X-Frame-Options "SAMEORIGIN";
add_header Content-Security-Policy: 'default-src self';
如使用https,在配置https的server块添加如下配置:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
如没有nginx,请在文章底部的地址下载nginx.zip,已封装好以上内容。
注:这里说明为使用nginx解决跨站点请求伪造,下文还有使用Apache解决的办法。
三、v3.x版本解决跨站点请求伪造漏洞
导致该漏洞的原因是执行系统根过滤器对请求的认证方法不充分。
登录执行系统控制台,打开菜单“配置管理”,找到构件标识为“com.toone.v3.platform-20mvc”的配置项,点击进行修改(若不存在,则需要升级执行系统),设置needCheckRefererHeader的值为true,另外两个配置项根据需求设置。
关于Apache的说明:如果服务的外层有Apache,请设置参数needCheckRefererHeader的值为false。同时启用Apache自身的防盗链设置,具体方法可以参考:
检查配置文件中(\Apache2.4\conf\httpd.conf)的配置项:
LoadModulerewrite_module modules/mod_rewrite.so,若该配置项被注释(#)则打开它;
添加如下自定义配置:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER}!http://10.1.27.37:7080/ [NC] #v服务的地址RewriteCond %{HTTP_REFERER} !http://10.1.27.37:9080/ [NC] #将需要排除过滤的站点以该方式添加,如Apache代理服务器RewriteRule (.*)$ [F]
注意:若通过域名访问,则需要将域名加上,配置方法同上,复制一行,修改为域名即可:RewriteCond %{HTTP_REFERER}!http://www.xxx.xxx/ [NC]
四、v2.x版本解决跨站点脚本编制漏洞
请在文章底部的地址下载nginx.zip,已封装好解决方案,只需配置项目自己的域名IP 映射即可。
五、v2.x版本解决SQL注入风险
原因:
只要POST内容有SQL关键字、函数就会报有SQL注入风险。