为什么大多数 Sql 注入需要这样的 url “index.asp?id=123”

R1w*_*R1w 1 sql-server sql-injection

我正在尝试学习“SQL 注入”概念,并尝试练习一些 Kali 工具来学习,但有一个我不明白的问题,我的问题是为什么大多数工具都需要以“AAA.BBB?id”结尾的 URL? =000" 作为注入的输入字符串。

Sco*_*red 7

当您看到具有这种语法id=123 的URL 时,底层代码很有可能使用123作为某种动态 SQL 语句的输入。除非编写底层代码来防止 SQL 注入,否则您可以通过直接在浏览器窗口中向 url 添加附加信息来从数据库中获取附加信息(或造成危害)。

看看SQL 注入演练

什么是 SQL 注入? 可能通过网页将 SQL 查询/命令作为输入注入是一种技巧。许多网页从网络用户那里获取参数,并对数据库进行 SQL 查询。例如当用户登录时,网页该用户名和密码,并对数据库进行SQL查询以检查用户是否具有有效的用户名和密码。使用 SQL 注入,我们可以发送精心设计的用户名和/或密码字段,这些字段将更改 SQL 查询,从而授予我们其他内容。

你需要什么? 任何网络浏览器。

尝试特别查找带有参数的 URL,例如:

http://duck/index.asp?id=10

在我上面引用的帖子中有很多 SQL 注入的例子。

  • 好吧,SQL 注入不仅限于 Web 应用程序,还可以影响任何接受输入并在 SQL 查询中使用该输入的程序。这也可以是桌面应用程序或移动应用程序等。 虽然对于通常可供公众访问的 Web 应用程序,而对其他程序的访问通常仅限于相对较小的用户群,但攻击的可能性一般可能更大。 (3认同)
  • 即使底层查询是参数化的(避免 SQL 注入),在 url 中传递值的问题在于用户很容易更改这些值,从而导致意外数据泄露。 (2认同)