如果注入的查询正确,则可能的 SQL 注入并重定向到网页

Posted

技术标签:

【中文标题】如果注入的查询正确,则可能的 SQL 注入并重定向到网页【英文标题】:Possible SQL Injection with redirect to webpage if injected query is correct 【发布时间】:2020-05-04 21:17:48 【问题描述】:

在我朋友的授权下,我正在测试他的网站是否存在潜在漏洞。

我正在尝试查找是否能够将 SQL 查询注入 POST 请求参数hi' or 1=1 --

query=hi'%20or%201%3d1%20--

我发现文档打印出来了:

<div class="error">index job,query: syntax error, unexpected '-' near '-'</div>

使用' or 0=0 -- 我得到:

<div class="error">index job,query: syntax error, unexpected '|' near ' | 0=0) --'</div>

这是否意味着它容易受到 SQL 注入的攻击?如果是,我怎样才能让它打印服务器系统数据(如信息等)?顺便说一句,如果字符串正确,它会被重定向到另一个网页(我认为这就是 SQLMap 告诉我该参数不可注入 SQL 的原因)。

编辑: 如果 URL 被重定向,我可以看到查询有效,但我不会看到查询输出。如果 URL 没有被重定向,我会看到这些 SQL 查询错误。我正在尝试了解如何获取输出并做一些更有用的事情来攻击网站,甚至可以从sqlmap 检测到它。

我当前使用的命令是sqlmap -r thework.txt -p query --dbsthework.txt 包含完整有效的 POST 请求。

【问题讨论】:

【参考方案1】:

SQL 注入不仅仅涉及读取数据或更改您网站上的数据的恶意攻击。

大多数 SQL 注入只是像您看到的那样的错误。他们甚至可能不是恶意的。如果您有一个 SQL 注入漏洞,当有人想将他们的姓氏注册为“O'Reilly”时会导致错误怎么办?用户是善意的,但当他们使用真实姓名时,您的网站就会中断。

这足以检测和修复代码中的 SQL 注入案例。

您没有发布从该输入构建 SQL 查询的代码,因此您所展示的只是间接证据。但我确实推断您正在使用查询参数将 GET 输入复制到您的 SQL 查询中,而没有适当的转义或首选方法。

【讨论】:

【参考方案2】:

希望我有 50 次重复,这样我就可以把它放在 cmets 中。但是,是的,该网站很可能很容易受到攻击。请务必让您的朋友允许您运行初始漏洞利用。

sqlmap.py -u --dbs

如果你成功拉起数据库,你就发现了漏洞,或者至少确认了存在漏洞。

【讨论】:

SQLMap 未检测到漏洞。 这是我使用的命令 sqlmap -r thework -p query --dbs thework 包含完整的有效 POST 请求。 谢谢 javascripter 我确实需要知道你刚刚发布的命令。更正我使用的命令没有显示漏洞,但如果错误消息是漏洞的结果,您通常可以拉起数据库。如果不是真的易受攻击,你就不会。 好的,谢谢,基本上你是在说像 OP 这样的简单错误意味着它是 SQLi 易受攻击的。现在我确定它是。看看我的编辑,看看你能不能回答这个问题 我自己通常不遵循重定向。抱歉,我无法真正回答您关于重定向的问题,但我想说的原始(主页)来源很容易受到您迄今为止所写内容的影响。

以上是关于如果注入的查询正确,则可能的 SQL 注入并重定向到网页的主要内容,如果未能解决你的问题,请参考以下文章

sql注入入门

SQL 注入 - 如果第一个查询失败,则强制执行第二个查询

00309_SQL注入问题

SQL注入基础整理及Tricks总结

Sql注入之注入点类型和是否存在注入判断

sql注入联合查询注入过程