插入符号在 postgresql 中做什么?

问题描述

我正在玩 hacktheBox 机器,当前的机器有一个 postgresql 数据库查询以 ' 和 appeas 中断,如下所示:

错误:“'”处或附近的未终止的带引号的字符串第 1 行:选择 * from 车名喜欢'%test'%' ^

我知道 % 用于在查询字符串中搜索所提供的字符,但是 ^ 用于什么?

粗体突出显示我的测试查询

我所有的搜索都产生了关于正则表达式和插入符号表示字符串开始的结果。加上有关使用 cli 或类似内容的其他结果。

谁能告诉我查询结束时它在做什么?

解决方法

您正在寻找在错误消息中专门使用插入符号。

如果我运行这个查询:

psql -c " Select * from cars where name ilike '%test'%'"

这就是我得到的,保留换行符和空格:

ERROR:  unterminated quoted string at or near "'"
LINE 1:  Select * from cars where name ilike '%test'%'
                                                     ^

插入符号指向上一行发生错误的位置。在这种情况下,这就是从未关闭的开头引号所在的位置。

如果您使用的工具会导致错误消息的格式错误,您应该考虑更改为没有格式的工具,或者想办法解决它。