是否有可能在以下语句中插入一些代码(我尝试了sleep函数,但它起了作用,但我正在寻找获取表名的方法):
PreparedStatement statement = connection.prepareStatement(
"select password from " + USERS_TABLE_NAME + " where userid = ? and password = ?");
statement.setString(1, username_login);
statement.setString(2, password_login);
2条答案
按热度按时间jtjikinw1#
我读过它可以用ORDERBY子句注入!!
上面显示的示例不易被ORDERBY子句中的注入攻击。查询甚至没有order by子句,也没有任何可以将order by子句附加到查询末尾的字符串连接。
只有在允许不受信任的内容在将sql查询传递给服务器之前修改它时,才能进行sql注入
prepare()
方法。jutyujz02#
使用一个准备好的语句使代码不受sql注入的影响;向该查询中注入一些代码的唯一方法是篡改
USERS_TABLE_NAME
不知怎么的。我不能说太多,因为你没有提供任何相关的代码,但如果它只是一个字符串常量,你应该没事。