强化积极的假Sql注入

时间:2018-02-22 18:30:24

标签: java fortify

我正在使用fortify来扫描一个项目,我发现我对Sql注入有一些积极的错误。实际上,我有一个动态查询import socket from socket import * cs = socket(AF_INET, SOCK_DGRAM) cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1) cs.sendto('222456', ('10.17.253.255', 12345)) from socket import * s=socket(AF_INET, SOCK_DGRAM) s.bind(('',12345)) while(1): m=s.recvfrom(8192) print 'len(m)='+str(len(m)) print 'len(m[0])='+str(len(m[0])) print m[0] print 'len(m[1])='+str(len(m[1])) print m[1] 我创建了一个函数来清理tableName变量,如下所述http://bigsec.net/b52/Fortify/rules-schema/References/Custom%20Rule%20Examples.htm

但是fortify仍然在分析报告中显示了正面的错误sql注入。

我正在使用java 8 fortify 16

谢谢,

1 个答案:

答案 0 :(得分:0)

您应该确保已经检查过您的例程并且SQL注入是安全的(例如通过引用和字符白名单)。完成后,您需要教Fortify这是SQL注入的验证例程。这将确保不报告使用此例程正确验证的任何跟踪。

您应该通过规则编辑器通过添加taintFlag =“VALIDATED_SQL_INJECTION”的污点标志的验证/清理规则添加自定义规则,将白名单例程注册为验证例程 - 然后SQL注入的接收规则不应报告这种污点的问题。

有关使用污点标记的更多信息,请参阅https://community.softwaregrp.com/dcvta86296/attachments/dcvta86296/fortify-discussions/2950/1/HP_Fortify_SCA_Custom_Rules_Guide_4.21.pdf