【发布时间】:2017-12-15 17:45:38
【问题描述】:
我正在做一个关于 SQL 注入的练习,给出了查询。数据介于“”之间。所以这是查询:
select * from contacts where name = ''
我设法使用这个来查看表中的用户:
select * from contacts where name = 'anything' or 1='1'
但我的问题是如何编写它以便编写新查询?或者例如查看数据库名称,以便我可以检查其他表。
编辑:
为避免混淆查询没有提供给我们,网页上有一个文本字段,这就是我们用来进行 SQL 注入的内容。
所以想象一下查询是这样的:
select * from contacts where name = ''
我把它写到文本字段中,以查看所有用户。
anything' or 1='1
我正在尝试了解如何使用此文本字段、查看数据库名称或运行其他查询。
谢谢。
【问题讨论】:
-
您对结果的看法如何?你是直接在sql中运行查询吗?
-
我在网页上看到了结果。最初我对查询一无所知,但由于这是一个家庭作业,它正在向我们展示。有一个文本字段,您可以在其中插入我在文本字段中写入的名称(anything' 或 1='1 )以查看所有用户。 @clinomaniac
-
页面是用什么语言编写的?研究使用参数。它看起来像 select * from contacts where name = ?然后你会传入这个值。
-
@clinomaniac 可能是 PHP 和 MYSQL。您可以查看我对帖子的编辑,也许这会让您更好地理解。
-
您是否正在尝试进行 SQL 注入并从数据库中获取更多信息?我以为你在问如何编写查询以避免 sql 注入。
标签: mysql sql code-injection