【发布时间】:2019-04-10 13:54:19
【问题描述】:
我有一个运行 SQL 查询的文件:
SELECT * FROM items WHERE name LIKE "%<String Passed to It>%"
我正在尝试在这里测试基本的网络安全。如何在不使用 spaces 或 semi-colons 的情况下打破此查询以删除 items 表
【问题讨论】:
-
如果
<String Passed to It>在[n]varchar参数中传递给它,那么您无需执行任何操作。如果它被连接到查询中,那么请不要这样做。 -
理论上,如果不能先注入分号终止选择,就不能中断查询。但是,考虑到输入文本很可能有一个文字分号作为该文本的一部分,你怎么能强制不使用分号呢?在这里你最安全的选择是使用准备好的语句,让 MySQL 担心清理你的查询。