我在一个应用程序中偶然发现了一些代码,其中(某些)用户可以输入条件。此外,where条件的一部分被设置为参数化查询。
例如:
select foo from bar where <user generated> and foo = ?
(此外,用户生成的部分在构建仅允许特定输入的查询之前,通过筛选器运行)
应用程序对Mysql使用JDBC (Connector/J)。据我所知,这个驱动程序在客户端对准备好的语句进行预处理。如果sql注入是可能的,那么是否有可能从参数化的where条件中“转义”?也许有子查询?