让我们假设我们正在构建这样的SQL查询:
SELECT * FROM users WHERE username = 'Username' AND password='password'
如果我们阻止了字符"和',攻击者就能完全黑进去吗?
下面是regex语句/[\"\']/,如果有匹配,它将阻止请求。我还试图避免使用MySQLi准备。
发布于 2019-01-19 14:44:52
是。
从数据库获取数据还有其他方法,或者只是做一些恶意的事情。这样做的一种方法是从数据库中选择所有记录,使用SELECT * FROM TABLE users或SELECT * FROM TABLE users WHERE True,然后过滤返回的数据以找到攻击者想要的用户。
此外,像DROP TABLE users这样的语句在双引号系统下不会被捕获,并且会产生相当严重的影响。
https://security.stackexchange.com/questions/201763
复制相似问题