小能豆

最近练习sql注入时 使用'or''='可以直接成功,但是输入1' order by 2#系统报错order后缺少操作数

sql

最近练习sql注入时 使用’or’‘=’可以直接成功,但是输入1’ order by 2#系统报错order后缺少操作数


阅读 49

收藏
2024-06-03

共1个答案

小能豆

在SQL注入中,'or''=' 的目的是构造一个恒为真的条件,从而绕过认证或者过滤机制,例如在登录页面中绕过密码验证。但是,当你尝试使用 'or''=' 时,系统报错指出了 order by 子句后缺少操作数,这意味着系统正在尝试按照第二个列进行排序,但是缺少指定要排序的列。这可能是因为在输入 'or''=' 后,SQL语句变得不完整或者语法错误。

在注入攻击中,'or''=' 通常用于绕过登录认证,而 order by 子句通常用于指定查询结果的排序方式。如果你正在尝试构造一个成功的注入攻击,可以尝试使用 'or''=' 绕过认证,然后继续进行其他操作,而不是尝试在排序子句上进行注入攻击。

如果你想在 order by 子句上进行注入攻击,你需要确保构造的SQL语句是完整且合法的,并且能够执行你想要的操作。例如,尝试注入一个合法的列名或者数字。不过需要注意,注入攻击可能会违反法律,并且严重威胁系统安全,因此请确保你的行为是合法的且得到授权的。

2024-06-03