Checkmarx 将以下代码片段指示为 sql 注入漏洞。
在 checkmarx 报告中描述以下代码片段,如下所示
“从 readLine 元素获取用户输入。然后,该元素的值在未经过适当清理或验证的情况下流经代码,这可能会导致 SQL 注入攻击”
为简洁起见,我没有包括全文。
InputStreamReader isr = null;
BufferedReader br = null;
try{
ClassPathResource defaultReports = new ClassPathResource(dbVendor + "/sql_inserts.sql");
isr = new InputStreamReader(defaultReports.getInputStream());
br = new BufferedReader(isr);
c = session.connection();
String sqlLine = null;
while((sqlLine = br.readLine()) != null) {
sqlLine = sqlLine.trim();
Statement st = null;
try{
st = c.createStatement();
st.execute(sqlLine);
}catch(SQLException e){
}catch(Exception e){
}finally{
if (st != null)
st.close();
}
}
}
//sql_inserts.sql 文件包含一组插入语句
我想将上面的代码转换为 checkmarx 友好的方式。在那之后,不应将代码片段突出显示为高 sql 注入漏洞。