IBMAppScan-盲SQL注入(基于时间)-JSF2.2&;Primefaces-JBOSS 7.2 EAP

IBMAppScan-盲SQL注入(基于时间)-JSF2.2&;Primefaces-JBOSS 7.2 EAP,primefaces,sql-injection,jsf-2.2,bluemix-app-scan,Primefaces,Sql Injection,Jsf 2.2,Bluemix App Scan,原始邮政 我们最近收到了来自IBMAppScanDast的结果,其中一些结果没有多大意义 High——盲SQL注入(基于时间) 盲SQL注入的第二种情况(基于时间) 推理:第一个和第三个测试响应超时,第二个测试响应正常接收 盲SQL注入的第三种情况(基于时间) 寻找反馈和一些见解。我不能说这个特定的发现是否为假阳性,但我们看到了很多类似的假阳性-当扫描以超负荷系统的速率运行时,它会产生大量的响应。对于某些参数,正确的注入将超时,这样对测试人员来说就像是SQL注入 这种类型的结果之后应该进行手动

原始邮政

我们最近收到了来自IBMAppScanDast的结果,其中一些结果没有多大意义

High——盲SQL注入(基于时间)

盲SQL注入的第二种情况(基于时间)

推理:第一个和第三个测试响应超时,第二个测试响应正常接收

盲SQL注入的第三种情况(基于时间)


寻找反馈和一些见解。

我不能说这个特定的发现是否为假阳性,但我们看到了很多类似的假阳性-当扫描以超负荷系统的速率运行时,它会产生大量的响应。对于某些参数,正确的注入将超时,这样对测试人员来说就像是SQL注入


这种类型的结果之后应该进行手动检查,使用单独的工具(例如SQLmap),或者至少使用同一工具运行第二次,以查看它是否复制。如果不可能,请通过代码检查验证它,然后继续您的生活。

我们的终端客户与不同的供应商一起测试了我们的应用程序笔,但这是我们第一次看到AppScan报告。我们没有ORM,但我们的数据访问核心模块已经进行了12年的笔试,没有任何问题。我们仍不排除第一种情况,并试图确保我们有证据将其报告为假阳性,但第二种情况是完全错误的。primefaces中v=in后的URL只是一个版本标志,用于使URL不起作用,以便在新版本出现时,您的浏览器加载新的JS或CSS。它不是一个应用程序参数。@Ravi是对的,
v
只是一个版本参数,使URL唯一,因此当PF 7.0 i更新为8.0时,浏览器强制刷新CSS/JS。更改该V参数对PrimeFaces绝对没有影响。@Melloware修改javax.faces.source-另一种误报情况。听起来也像误报。再一次在ajax调用中。。。因此,可能这里也不需要200个响应(顺便说一句,我在这个问题上添加了bluemix应用程序扫描标签。可能将其添加到其他问题中。这里的问题是,测试是由客户完成的,客户“需要”一份干净的测试报告。因此OP不能简单地进行手动检查(客户不会相信这一点,但他们确实使用了奇怪的工具).所以“继续前进”有点难。
Parameter: form:propertyTree:0:j_idt126
Risk(s): It is possible to view, modify or delete database entries and tables
Fix: Review possible solutions for hazardous character injection
URL: https://***/javax.faces.resource/components.js.xhtml
Parameter: v
Risk(s): It is possible to view, modify or delete database entries and tables
Fix: Review possible solutions for hazardous character injection

The following changes were applied to the original request:
- Set the value of the parameter 'v' to '7.0.9%27+where+sleep%280%29%3D0+--+'
- Set the value of the parameter 'v' to '7.0.9%27+where+sleep%28181%29%3D0+limit+1+--+'
- Set the value of the parameter 'v' to '7.0.9%27+where+sleep%280%29%3D0+--+'

Reasoning:
The first and third test responses were timed out and the second test response was received
normally
URL: https:/**/externalcasestart.xhtml
Parameter: javax.faces.source
Risk(s): It is possible to view, modify or delete database entries and tables
Fix: Review possible solutions for hazardous character injection

The following changes were applied to the original request:
- Set the value of the parameter 'javax.faces.source' to
'form%3AmainGridBodyTable+and+sleep%280%29'
- Set the value of the parameter 'javax.faces.source' to
'form%3AmainGridBodyTable+and+1%3D2+or+sleep%28181%29%3D0+limit+1+--+'
- Set the value of the parameter 'javax.faces.source' to
'form%3AmainGridBodyTable+and+sleep%280%29'
Reasoning:
The first and third test responses were timed out and the second test response was received
normally
Request/Response:

Request/Response:
POST /***/externalcasestart.xhtml HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Win32)
Connection: keep-alive
Faces-Request: partial/ajax
X-Requested-With: XMLHttpRequest
Accept: application/xml, text/xml, */*; q=0.01
Accept-Language: en-US,en;q=0.9
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
javax.faces.partial.ajax=true& javax.faces.source=form%3AmainGridBodyTable+and+sleep%280%29 &javax
.faces .parti al.exe cute=f orm%3A mainGr idBody Table& javax. faces. partia l.rend er=for m%3Ama
inGrid BodyTa ble&fo rm%3Am ainGri dBodyT able=f orm%3A mainGr idBody Table& form%3 AmainG ridBod
yTable _pagin ation= true&f orm%3A mainGr idBody Table_ first= 0&form %3Amai nGridB odyTab le_r