如果地址栏上的SQL注入(如?ID=1)影响了两个列数不同的表(SELECT *FROM catalogue WHERE...和SELECT *FROM reviews WHERE...),黑客如何注入它们的SQL (编辑:即查看所有表)?例如,“UNIONing”从dual到查询结果的值。
表1 (?ID=[row]):
mp3s || COL1 | COL2 | COL3 ... COL5 <-- 5 columns
-----++------+------+------
-----++------+------+------
mp31 || ... | ... | ...
-----++------+------+------
mp32 || ... | ... | ...
:
'
mp39表2 (?ID=[row]):
revs || COL1 | COL2 | COL3 ... COL19 <-- 19 columns
-----++------+------+------
-----++------+------+------
r001 || ... | ... | ...
-----++------+------+------
r002 || ... | ... | ...
:
'
r185发布于 2017-08-14 14:53:33
如果它确实用于两个查询,而这些查询正在选择不同数量的列,则不存在对这两个查询都有效的UNION SQL注入攻击。不可能同时选择两个不同的列数。
可以执行其他类型的SQL注入攻击,例如:
ID=1 OR 1=1
但你需要进行实验,看看这在你的特殊情况下是否可行。
https://security.stackexchange.com/questions/167399
复制相似问题