[Moscow.pm] Уязвимость при использовании dataTables и DBIx::Class

Grigory Batalov grisxa на gmail.com
Пн Дек 28 05:31:43 PST 2015


В Mon, 28 Dec 2015 15:53:28 +0300
"Dmitry L." <dim0xff на gmail.com> пишет:

> А если у меня quote_chars включены, то запрос будет таким? Он
> отработает вообще?
> 
> ORDER BY `me`.`id`, `(select 1 from (SELECT name, CASE name='first'
> WHEN FALSE THEN pg_sleep(0) ELSE pg_sleep(10) END from users) as t
> limit 1)` ASC

Добавил параметр quote_names в соединение с БД

    my $db = MyProject->connect( ... ,
        {
            AutoCommit     => 1,
            pg_enable_utf8 => 1,
            quote_names    => 1,
        }
    );

Сырой SQL-запрос стал таким, и, конечно, не сработал из-за отсутствия
колонки:

... ORDER BY "me"."id, (select 1 from (SELECT name, CASE name='first' WHEN FALSE THEN pg_sleep(0) ELSE pg_sleep(10) END from users) as t limit 1)" ASC LIMIT ?: '10'

Спасибо, буду использовать впредь!


Подробная информация о списке рассылки Moscow-pm