1. SQL注入文件写入(需要用户验证)


解决办法:通过建立过滤器方法,对所有用户输入信息进行清理过滤。通过清理过滤用户输入所包含的危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的Javascript代码、运行各种操作系统命令等。

建议过滤出所有以下字符:

[1] |(竖线符号)
[2] &(&符号)
[3];(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at 符号)
[7] '(单引号)
[8] "(引号)
[9] \'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII 0x0d)
[15] LF(换行,ASCII 0x0a)
[16] ,(逗号)
[17] \(反斜杠)

注意Rational AppScan Standard一旦开启,将始终会报告此问题。所以此问题是需要用户验证。具体可参考http://www-01.ibm.com/support/docview.wss?uid=swg21472385

2. 会话未更新


解决办法:在登录页面加入以下代码

//解决安全性问题,会话未更新
request.getSession().invalidate();//清空session
Cookie[] cookies = request.getCookies();//获取cookie
if(null != cookies &&cookies.length> 0){
for(Cookie cookie : cookies){
cookie.setMaxAge(0);//让cookie过期
}
}

3. 跨站点请求伪造


解决办法:在过滤器中增加对请求响应信息来源进行判断过滤;

//解决安全性问题:跨站点请求伪造
String referer = req.getHeader("Referer"); //REFRESH
String serverName = request.getServerName();
if(null != referer&&referer.indexOf(serverName) < 0){
req.getRequestDispatcher(req.getRequestURI()).forward(req, response);
}

4. 跨站点脚本编制

解决办法:通过建立过滤器方法,增加对请求响应信息来源进行判断过滤及对所有用户输入信息进行清理过滤。通过清理过滤用户输入所包含的危险字符,便可能防
止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL
查询、嵌入将在客户端执行的Javascript代码、运行各种操作系统命令等。具体实现可参考结合1.SQL注入文件写入 与3.跨站点请求伪造
的解决方法;

5. 已解密的登录请求

解决办法:

1.对用户所输入的密码在页面进行MD5加密并反馈至密码输入框。

2. 手动生成SSL安全访问证书;在此不做介绍,相关方法可通过网上查找;

3. 将产品HTTP访问方式改为SSL安全访问方式;在Apache-Tomcat应用服务器的conf文件夹下的server.xml增加以下代码:

<!--设置SSL(Https)安全访问方式;访问端口为:8443 ->
<Connectorport="8443"minSpareThreads="5"maxSpareThreads="75"
enableLookups="true"disableUploadTimeout="true"
acceptCount="100"maxThreads="200"
scheme="https" secure="true"SSLEnabled="true"
ciphers="SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
keystoreFile="keystore/server.keystore"keystorePass="123456"
clientAuth="false"sslProtocol="TLS"/>

(注:keystore/server.keystore为证书存储路径;123456为证书密码;)

4. 在产品WEB.XML文件中加上以下代码:

<!--解决安全性问题:已解密登录请求;将改为SSL安全访问方式 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

6. 启用了不安全的 HTTP 方法

解决办法:修改web工程中或者服务器web.xml,增加安全配置信息,禁用不必要HTTP方法

<!--解决安全性问题:启用不安全HTTP方法 -->
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

7. 会话 cookie 中缺少HttpOnly属性


解决办法:在过滤器中增加对请求响应信息头的设定

//解决用户的cookie可能被盗用的问题,减少跨站脚本攻击

resp.setHeader("Set-Cookie", "name="+newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(new Date())+"; Secure; HttpOnly");

8. 发现 Web 应用程序源代码泄露模式

解决办法:针对代码注释中出现的部分源代码进行清除;

9. 自动填写未对密码字段禁用的 HTML 属性

解决办法:在密码输入框中增加autocomplete="off" 属性

10. 发现内部 IP 泄露模式

解决办法:针对代码中出现的IP地址进行清除;

11. 检测到应用程序测试脚本

解决办法:针对代码中出现的测试脚本文件进行清除;脚本文件主要包括以test.php、test.asp、test.cgi、test.html 等;并对一些包含相关的敏感字符文件名称进行修改;敏感字符包括:test、old等;

12. Unix 文件参数变更

解决办法:通过建立过滤器方法,增加对所有用户输入信息中是否包含“..”(两个点)字符串进行清理过滤。具体实现可参考结合1.SQL注入文件写入的解决方法;

13. Windows 文件参数变更

解决办法:通过建立过滤器方法,增加对所有用户输入信息中是否包含“..”(两个点)字符串进行清理过滤。具体实现可参考结合1.SQL注入文件写入的解决方法;

14. 链接注入(便于跨站请求伪造)

解决办法:通过建立过滤器方法,增加对请求响应信息来源进行判断过滤及对所有用户输入信息进行清理过滤。通过清理过滤用户输入所包含的危险字符,便可能防
止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL
查询、嵌入将在客户端执行的Javascript代码、运行各种操作系统命令等。具体实现可参考结合1.SQL注入文件写入 与3.跨站点请求伪造
的解决方法;

15. 通过框架钓鱼

解决办法:通过建立过滤器方法,增加对请求响应信息来源进行判断过滤及对所有用户输入信息进行清理过滤。通过清理过滤用户输入所包含的危险字符,便可能防
止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL
查询、嵌入将在客户端执行的Javascript代码、运行各种操作系统命令等。具体实现可参考结合1.SQL注入文件写入 与3.跨站点请求伪造
的解决方法;

16. 不充分帐户封锁

解决办法:对用户登录错误次数进行限制,并在一定的时间内不请允许再登录;

17. 检测到文件替代版本

解决办法:针对产品中所有开头为“Copy of”、“_”、“.”、“~”和“Old”的文件进行清理;

18. 发现电子邮件地址模式

解决办法:针对代码中出现的电子邮件地址进行清除;

19. HTML 注释敏感信息泄露

解决办法:针对代码注释中出现的敏感信息进行清除;敏感信息包括:注释的源代码、电子邮件、IP地址等;

转载自:http://p.primeton.com/articles/53c64b6ee13823319f000048

解决数据标准及质量AppScan(测试)安全性问题相关方法的更多相关文章

  1. web测试安全性常见问题

    web测试安全性常见问题                  一.             登录账号明文传输 1.  问题一:登录账号密码或者修改密码明文传输 现象:目前物流对内的java系统基本上都是 ...

  2. 基于Web的质量和测试度量指标

    直观了解软件质量和测试的完整性 VectorCAST/Analytics可提供便于用户理解的web仪表盘视图来显示软件代码质量和测试完整性指标,让用户能够掌握单个代码库的趋势,或对比多个代码库的度量指 ...

  3. 如何解决例如i++的线程不安全性

    AtomicBoolean.AtomicInteger.AtomicLong.AtomicReference 各种原子性关键字,可以解决比如i++的线程不安全性的因素

  4. AppScan 测试需要输入用户名密码的网站

    Cisco有专门的网页版的AppScan,使用前需要向有关的team申请account和权限. account和权限申请成功后,登录AppScan网站,创建自己的文件夹目录,然后在自己的目录下新建sc ...

  5. ASP.NET\MVC 解决C#上传图片质量下降,图片模糊,水印有杂点的问题

    对图片处理这一块不是很懂,自己写不出来,这些年一直没有停止找一个上传图片质量不下降,加水印不会导致模糊和水印周边产生杂点的代码. 网上基本上99.9%的代码处理图片质量都是下面这两句: //设置质量 ...

  6. 【Golang】解决Go test执行单个测试文件提示未定义问题

    背景 很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错.其实了解了go test命令的机制之后,这 ...

  7. 【测试】解决loadrunner11无法运行负载测试

    问题: LoadRunner11版,录制完脚本,准备运行时提示‘ loadrunner controller 无法创建 vuser 确保您的 load generator ’, 脚本已经录好,但是运行 ...

  8. window10家庭版解决IIS中万维网服务的安全性中无Windows身份验证

    首先在左下角输入cmd搜索->命令提示符->以管理员身份运行->然后复制下面一段命令: dism /online /norestart /add-package:%SystemRoo ...

  9. ThinkCMF 解决xss攻击问题

    最近使用ThinkCMF给某政府开发的一个平台,因为他们需要通过国家二级信息安全等级测试 所以自己先使用Appscan测试了一下,结果扫描出一个xss安全问题 测试的网址:http://www.xxx ...

随机推荐

  1. LintCode "k Sum" !!

    Great great DP learning experience:http://www.cnblogs.com/yuzhangcmu/p/4279676.html Remember 2 steps ...

  2. AppCan做的图片上传代码

    存在AppCan里的网页 index.html <!DOCTYPE html> <html class="um landscape min-width-240px min- ...

  3. SQL Server 2012 数据库备份

    既能备份到网络中的共享文件夹中,也能备份到本地 USE [AdventureWorks2012] GO /****** Object: StoredProcedure [dbo].[pr_BatchB ...

  4. TMS320C54x系列DSP的CPU与外设——第5章 数据寻址

    第5章 数据寻址 C54x DSP提供7种基本寻址方式. ■ Immediate addressing uses the instruction to encode a fixed value.    ...

  5. android的m、mm、mmm编译命令

    android的m.mm.mmm编译命令的使用 android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of th ...

  6. 网页爬虫--scrapy入门

    本篇从实际出发,展示如何用网页爬虫.并介绍一个流行的爬虫框架~ 1. 网页爬虫的过程 所谓网页爬虫,就是模拟浏览器的行为访问网站,从而获得网页信息的程序.正因为是程序,所以获得网页的速度可以轻易超过单 ...

  7. dede忽略错误

    一.修改php.ini中下面代码 ;extension=php_mbstring.dll 改为 extension=php_mbstring.dll ;mbstring.func_overload = ...

  8. Nginx_修改Web服务器头信息(Header)里的Server值[转]

    http://blog.rekfan.com/?p=122 黑客攻击一个网站,往往需要了解服务器的架构,网站的架构等信息,了解了这些信息,就知道网站薄弱的地方在哪里了!    为了不让对方知道自己的w ...

  9. iis7设置404页面不生效的原因

    打开web.config <httpErrors errorMode="Custom" existingResponse="PassThrough"> ...

  10. Mobirise

    网站建设器Mobirise v1.9.2 免费版 - 绿色软件联盟 2015年9月5日 - 网站建设器Mobirise是一个用户友好的程序,使您可以构建桌面和移动网站,准备在Javas cript中. ...