sql-server 堆栈查询 sql 注入更新查询不起作用
Posted
技术标签:
【中文标题】sql-server 堆栈查询 sql 注入更新查询不起作用【英文标题】:sql-server stack queries sql injection update query is not working 【发布时间】:2019-07-18 22:10:06 【问题描述】:使用堆栈查询运行更新语句。但是,奇怪的是,只有一列没有变化。
';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
没有错误输出。有人能救我的命吗?
【问题讨论】:
您的第一行修改了id
列,因此在第二行中 12345 用户不存在。
否,可以通过SELECT语句中的查询查看。
【参考方案1】:
以下是您正在做的事情的摘要: 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'
这同样适用于您的最后一个查询。在堆栈查询中,首先执行第一个查询,依此类推。因此,您的下一个陈述应考虑到这一点。
【讨论】:
感谢您的回答。明白,但我不能改变一列,不是那个。 假设我有两列。 'team_select'、'team_name' 和 'team_name' 改变,但 'team_select' 没有改变。 UPDATE TEAMS SET team_name='A' WHERE IDX=1 => CHANGE// UPDATE TEAMS SET tame_select='1' WHERE IDX=1 -> NOT CHANGED @김주원 您的问题已得到解答。出于多种原因,不鼓励将新问题作为评论开始 - 很难阅读/理解您所写的内容,因此请开始一个新线程。并注意 - “失败”通常被解释为“发生错误”。在您的原始帖子中,您的失败查询不会产生错误;它们只是没有效果。以上是关于sql-server 堆栈查询 sql 注入更新查询不起作用的主要内容,如果未能解决你的问题,请参考以下文章
5月11日 python学习总结 子查询pymysql模块增删改查防止sql注入问题