sql-server堆栈查询sql注入更新查询不起作用

时间:2019-02-25 13:29:05

标签: sql sql-server sql-injection

运行带有堆栈查询的更新语句。但是,奇怪的是,只有一列不变。

';UPDATE USERS SET ID='1234' WHERE ID='12345' => DONE
';UPDATE USERS SET ID_DETAIL='1234' WHERE ID='12345' => FAIL
';UPDATE USERS SET ID='1234',ID_DETAIL='1234' WHERE ID='12345' => FAIL

没有错误输出。有人可以救我一命吗?

1 个答案:

答案 0 :(得分:0)

以下是您所做的摘要:

ID = 12345

UPDATE USERS SET ID='1234' WHERE ID='12345'

ID字段现在已更新:ID = 1234

UPDATE USERS SET ID_DETAIL='1234' WHERE ID='12345'

您要更新的字段(ID = 12345)现在为'1234',并且无法使用此语句进行更新。要更新此字段,您将必须使用以下查询:

UPDATE USERS SET ID_DETAIL='1234' WHERE ID='1234'

这同样适用于您的上一个查询。在堆栈查询中,第一个查询首先执行,依此类推。因此,您的下一个声明应考虑到这一点。