未验证 提交 fb7912c6 编写于 作者: Y yangy 提交者: GitHub

fix fuzzy query sql injection (#4970)

上级 cc9ea271
...@@ -61,7 +61,8 @@ public class H2AlarmQueryDAO implements IAlarmQueryDAO { ...@@ -61,7 +61,8 @@ public class H2AlarmQueryDAO implements IAlarmQueryDAO {
} }
if (!Strings.isNullOrEmpty(keyword)) { if (!Strings.isNullOrEmpty(keyword)) {
sql.append(" and ").append(AlarmRecord.ALARM_MESSAGE).append(" like '%").append(keyword).append("%' "); sql.append(" and ").append(AlarmRecord.ALARM_MESSAGE).append(" like concat('%',?,'%') ");
parameters.add(keyword);
} }
sql.append(" order by ").append(AlarmRecord.START_TIME).append(" desc "); sql.append(" order by ").append(AlarmRecord.START_TIME).append(" desc ");
......
...@@ -125,7 +125,8 @@ public class H2MetadataQueryDAO implements IMetadataQueryDAO { ...@@ -125,7 +125,8 @@ public class H2MetadataQueryDAO implements IMetadataQueryDAO {
sql.append(ServiceTraffic.NODE_TYPE).append("=?"); sql.append(ServiceTraffic.NODE_TYPE).append("=?");
condition.add(NodeType.Normal.value()); condition.add(NodeType.Normal.value());
if (!Strings.isNullOrEmpty(keyword)) { if (!Strings.isNullOrEmpty(keyword)) {
sql.append(" and ").append(ServiceTraffic.NAME).append(" like \"%").append(keyword).append("%\""); sql.append(" and ").append(ServiceTraffic.NAME).append(" like concat('%',?,'%')");
condition.add(keyword);
} }
sql.append(" limit ").append(metadataQueryMaxSize); sql.append(" limit ").append(metadataQueryMaxSize);
...@@ -175,7 +176,8 @@ public class H2MetadataQueryDAO implements IMetadataQueryDAO { ...@@ -175,7 +176,8 @@ public class H2MetadataQueryDAO implements IMetadataQueryDAO {
sql.append(EndpointTraffic.SERVICE_ID).append("=?"); sql.append(EndpointTraffic.SERVICE_ID).append("=?");
condition.add(serviceId); condition.add(serviceId);
if (!Strings.isNullOrEmpty(keyword)) { if (!Strings.isNullOrEmpty(keyword)) {
sql.append(" and ").append(EndpointTraffic.NAME).append(" like '%").append(keyword).append("%' "); sql.append(" and ").append(EndpointTraffic.NAME).append(" like concat('%',?,'%') ");
condition.add(keyword);
} }
sql.append(" limit ").append(limit); sql.append(" limit ").append(limit);
......
...@@ -82,7 +82,8 @@ public class H2TraceQueryDAO implements ITraceQueryDAO { ...@@ -82,7 +82,8 @@ public class H2TraceQueryDAO implements ITraceQueryDAO {
} }
} }
if (!Strings.isNullOrEmpty(endpointName)) { if (!Strings.isNullOrEmpty(endpointName)) {
sql.append(" and ").append(SegmentRecord.ENDPOINT_NAME).append(" like '%" + endpointName + "%'"); sql.append(" and ").append(SegmentRecord.ENDPOINT_NAME).append(" like concat('%',?,'%')");
parameters.add(endpointName);
} }
if (StringUtil.isNotEmpty(serviceId)) { if (StringUtil.isNotEmpty(serviceId)) {
sql.append(" and ").append(SegmentRecord.SERVICE_ID).append(" = ?"); sql.append(" and ").append(SegmentRecord.SERVICE_ID).append(" = ?");
......
...@@ -61,7 +61,8 @@ public class MySQLAlarmQueryDAO implements IAlarmQueryDAO { ...@@ -61,7 +61,8 @@ public class MySQLAlarmQueryDAO implements IAlarmQueryDAO {
} }
if (!Strings.isNullOrEmpty(keyword)) { if (!Strings.isNullOrEmpty(keyword)) {
sql.append(" and ").append(AlarmRecord.ALARM_MESSAGE).append(" like '%").append(keyword).append("%' "); sql.append(" and ").append(AlarmRecord.ALARM_MESSAGE).append(" like concat('%',?,'%') ");
parameters.add(keyword);
} }
sql.append(" order by ").append(AlarmRecord.START_TIME).append(" desc "); sql.append(" order by ").append(AlarmRecord.START_TIME).append(" desc ");
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册