如果我的PHP代码在where语句中有一个SQL注入漏洞,那么对我的数据库来说最糟糕的情况是什么,比如SELECT * FROM table WHERE id='$unescapedstring'
对不起,忘了提mysql了
发布于 2011-07-23 08:21:10
虽然其他答案完全正确,但如果您正确设置了mysql用户帐户,则执行这些查询的帐户可能没有更改/创建/删除表/数据库的权限。因此,在该场景中可能发生的最坏情况是:DELETE FROM table
发布于 2011-07-23 08:09:47
如果$unescapedstring设置为cake';DROP TABLE 'table';--怎么办?这将执行select,后跟DROP TABLE语句。将drop table替换为您想要的任何SQL,您就可以执行任何sql。他们可以下载你的数据库,或者清除它,或者修改records...just do don。清理你的输入!否则,您的用户可以自由控制您的数据库。
发布于 2011-07-23 08:16:22
最坏的情况会发生吗?我要说的是,这个查询可能发生任何事情。
例如,我提交以下内容:
unescapedstring: '; (any other query)现在,您的查询变为:
SELECT * FROM table WHERE id=''; (any other query)从那里,我可以执行任何MySQL命令。我可以删除你的整个数据库,我可以编辑它,我可以下载你的数据库,如果你的服务器允许的话,我甚至可以根你的实际服务器。
基本上,攻击者拥有对您的MySQL安装的完全访问权限。什么都可以期待。
https://stackoverflow.com/questions/6797339
复制相似问题