sql注入setstring

6ss1mwsb  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(401)

是否有可能在以下语句中插入一些代码(我尝试了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);
jtjikinw

jtjikinw1#

我读过它可以用ORDERBY子句注入!!
上面显示的示例不易被ORDERBY子句中的注入攻击。查询甚至没有order by子句,也没有任何可以将order by子句附加到查询末尾的字符串连接。
只有在允许不受信任的内容在将sql查询传递给服务器之前修改它时,才能进行sql注入 prepare() 方法。

jutyujz0

jutyujz02#

使用一个准备好的语句使代码不受sql注入的影响;向该查询中注入一些代码的唯一方法是篡改 USERS_TABLE_NAME 不知怎么的。我不能说太多,因为你没有提供任何相关的代码,但如果它只是一个字符串常量,你应该没事。

相关问题