【问题标题】:Mysql subquery, Update embedded into select?Mysql子查询,更新嵌入到选择中?
【发布时间】:2010-10-02 05:34:42
【问题描述】:

我正在一个站点上进行 mysql 注入(出于教育目的,我保证呵呵),现在,它使用 mysql 作为其数据库,我不能这样做:“; UPDATE ...”所以我的问题是,如果我这样做: “OR id=(update...)”.. 作为子查询,这当然没有任何意义,但它会在我选择的表上执行更新吗?

【问题讨论】:

  • 为什么不试试看呢?当然,除非它在您不拥有的网站上。在这种情况下,它是否仅用于教育目的并不重要。不要这样做,并将问题告知网站所有者。
  • 我不拥有该网站,如果我拥有,我会自己尝试,我也会通知管理员,他是我的朋友,但我想尝试更新我的个人资料,看看是否它有效

标签: mysql subquery sql-injection


【解决方案1】:

您的成功或失败将取决于许多因素。您面临的第一个主要障碍是您的“朋友”是否足够聪明,可以将 PHP 用于他的数据库输入并使用 mysql_real_escape_string 行,这将阻止您通过他的文本框和/或其他输入区域发送任何命令。

http://php.net/manual/en/function.mysql-real-escape-string.php

在确定mysql_real_escape_string 未被使用之后,您的第二个主要障碍是确定要更新的表的真实名称。我个人从不向网络公开我的真实数据库名称,我使用代表真实名称的伪名称。

如果到目前为止你已经成功了,你应该能够以任何你认为合适的方式操作 MYSQL 服务器。

查看此链接以获取更多有用的提示。除了测试我自己的 MYSQL 服务器的漏洞之外,我从未以其他方式使用过这些技术。

http://old.justinshattuck.com/2007/01/18/mysql-injection-cheat-sheet/

【讨论】:

  • 嗨,他正在使用魔术引号。我知道如果我得到表的名称,我可以执行更新。我的问题是我是否可以在选择中嵌入更新查询。例如: Select * from Users where id=(Update users set id=5 where name="hi") .. 现在我知道查询没有任何意义,我只是想知道更新查询是否成功执行并且即使选择咨询无效也确实会更新记录
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多