SQL注入通过正则表达式和类似



有人告诉我,在POSTGRESQL中将SIMILAR TOREGEX结合使用时,有可能进行SQL注入。我阅读了相应的手册,上面写着:

警惕接受来自敌对的正则表达式搜索模式 来源。如果您必须这样做,建议强加一份声明 超时。 9.7. 模式匹配

但是,我进行了广泛的搜索,但找不到这种攻击的样本。有人可以举个例子吗?

使用SIMILAR TOREGEX可以为SQL注入创建向量,即使使用PDO抽象,如果接受未经过滤的用户输入,这可能导致ReDOS攻击。

例如(在 PHP 代码中(,如果您有:

$this->pdo->prepare('SELECT * FROM items WHERE text SIMILIAR TO :searchpattern');
// OR
$this->pdo->prepare('SELECT * FROM items WHERE text ~ :searchpattern');
$stmt->bindValue(':searchpattern', $_GET['searchpattern']);

然后,如果有人发送搜索模式([a-zA-Z]+)*$(来源:https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS(,您将在服务器上导致一个进程的执行时间将随着它将要测试的字符串的长度呈指数级增加(在本例中,数据库字段 - text 如果该字符串失败,例如在最后一个字符上。

最新更新