AppScan 漏洞扫描,响应状态为“200 OK”

APPScan 扫描系统遇到如下问题,可通过修改HttpServletResponse中setStatus状态码不为200解决,此处我修改为301。

1、Oracle Application Server PL/SQL 未授权的 SQL 查询执行

如图1所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图1

本系统使用的是MySQL,所以不需要去修改关于Oracle 的配置,造成这个问题的主要原因是:系统使用 /api/admin/user/owa_util.listprint?p_theQuery=SELECT%20*%20FROM%20SYS.TAB&p_cname=&p_nsize= 时请求返回的响应状态码为 “200 ok”,如图二所示:

AppScan 漏洞扫描,响应状态为“200 OK”

图2

解决办法:访问系统无关请求时,设置返回状态码 301。如图3所示: 

AppScan 漏洞扫描,响应状态为“200 OK”

图3

这个只是根据自己项目不同,在Severlet中设置返回的状态码。

 

2、Oracle 日志文件信息泄露

如图5所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图5

本系统使用的是MySQL,所以不需要去修改关于Oracle 的配置,造成这个问题的主要原因是:系统使用/api/i18n/baseI18nTypeItem/sqlnet.log 时请求返回的响应状态码为 “200 ok”,解决方法:可通过修改HttpServletResponse中setStatus状态码不为200解决。

 

3、发现压缩目录

如图6所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图6

造成这个问题的主要原因是:系统使用 /api/admin/user/user.gz 时请求返回的响应状态码为 “200 ok”,解决方法:可通过修改HttpServletResponse中setStatus状态码不为200解决。

 

4、归档文件下载

如图7所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图7

造成这个问题的主要原因是:系统使用 /api/i18n/baseI18nTypeItem/clearInformation.arc 时请求返回的响应状态码为 “200 ok”,解决方法:可通过修改HttpServletResponse中setStatus状态码不为200解决。

 

5、检测到文件替代版本

如图8所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图8

造成这个问题的主要原因是:系统使用 GET /api/visitor/personDeviceError/Oldcount 时请求返回的响应状态码为 “200 ok”,解决方法:可通过修改HttpServletResponse中setStatus状态码不为200解决。

 

6、临时文件下载

如图9所示问题:

AppScan 漏洞扫描,响应状态为“200 OK”

图9

造成这个问题的主要原因是:系统使用 GET /api/i18n/baseI18nTypeItem/clearInformation.lzma 时请求返回的响应状态码为 “200 ok”,解决方法:可通过修改HttpServletResponse中setStatus状态码不为200解决。