白盒服务器 服务器购买
静态测试和白盒测试有什么区别
静态测试和白盒测试区别为:运行不同、目的不同、方法不同。
一、运行不同
1、静态测试:静态测试不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
2、白盒测试:白盒测试需要运行被测程序本身,测试对象进入了代码内部,根据开发人员对代码和对程序的熟悉程度,对有需要的部分进行测试。
二、目的不同
1、静态测试:静态测试目的是主要检查代码和设计的一致性,代码对标准的遵循、可读性,代码的逻辑表达的正确性,代码结构的合理性等方面。
2、白盒测试:白盒测试目的是确定实际运行状态与预期状态是否一致。
三、方法不同
1、静态测试:静态测试的方法包括代码检查、静态结构分析、代码质量度量等。
2、白盒测试:白盒测试的方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。
如何在jetty服务器层面解决XSS漏洞
一,给cookie的属性设置为httponly
这样能够避免js读取Cookie信息(设置后有助于缓解XSS,但是XSS除了劫持Cookie之外,还可以模拟用户的身份进行操作)
二,进行输入检查
如果仅仅在客户端通过JS来做输入校验,有可能会被攻击者绕过,WEB开发中的普遍做法是同时在客户端和服务端做校验。这种输入检查的方式也称之为XSS Filter。
三,输出检查
一般说来,除了富文本输出之外,在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击。
四,防御DOM BasedXSS
前面提到的集中方法,对于这种类型不太适用,需要特别对待,那如何才能防御呢?
首先是$var输出到<script>是,应该执行一次javasriptEncode,其次在doument.write输出到HTML页面时,如果是输出到事件或者脚本,可以再做一次javaScriptEncode,如果是输出到HTML内容或者属性,则可以做一次HtmlEncode。
上面提到的这些防御方法都属于安全生产的环节,也就是说实在开发同学写代码的时候要特别注意,这种是否做的规范,可以通过工具扫描代码的方式来实现,也就是白盒测试,如果代码没有做输入或者输出检查,则发报告提示开发来进行修改。但是有些场景白盒没法覆盖到,例如输出jsonp类型的接口,对于callback参数的原味输出,白盒有时候就扫不出来,这时候,可以通过黑盒测试工具,模拟入参的各种情况,也就是穷举,来构造,如果发生了XSS请求,则发出报告即可。