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 注入更新查询不起作用的主要内容,如果未能解决你的问题,请参考以下文章

SQL注入篇——数据库增删改查语句

组合查询时的 SQL-server 语法错误(传递查询)

5月11日 python学习总结 子查询pymysql模块增删改查防止sql注入问题

SQL-Server 视图中的 JAva 查询

使用 PDO 驱动程序 PHP 在 sql-server 查询中循环

如何使用 sql-server 后端处理访问中的表单引用查询