Сегодня 9 апреля, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7281
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
RMCreative.ru - Блог
RMCreative.ru - Блог
Голосов: 1
Адрес блога: http://rmcreative.ru/feed/
Добавлен: 2008-06-12 21:34:00 блограйдером ZaiSL
 

Yii 2.0 HP Fortify WebInspect SQL Injection: Blind

2015-04-10 18:58:09 (читать в оригинале)

Знакомые попросили проверить отчёт сканирования приложения Yii 2.0 на безопасность. Среди прочего HP Fortify WebInspect нашёл "SQL Injection: Blind" по URL:

http://example.com/post/view?id=10%27%09and%091%09%3d%09if(5%3d5%2c%09sleep(200)%2c%090)%09and%09%271%27%3d%271

что расшифровывается как

`10'    and 1   =   if(5=5, sleep(2000),    0)  and '1'='1`

То есть классически закрыли кавычку и т.д.

Сделал тестовое приложение, запустил, получил страницу с постом с id = 10. То есть сканер среагировал на то, что нет ошибки или 404. Возможно, что SQL injection прошёл успешно.

Полез в код, там ничего особенного:

public function actionView($id)
{
    $model = News::findOne($id);
    if (!$model) {
        throw new HttpException(404);
    }
    return $this->render('index', ['model' => $model]);
}

Полез глубже и убедился, что параметр не вставляется в SQL. Используется prepared statement, всё как положено. Задумался.

Выполнил в консольке MySQL вот такое:

select * from post WHERE id = '10lalalallala';

Получил запись с id = 10 и вспомнил, что MySQL приводит строки к int-у почти как PHP. То есть, что бы мы не вставили после 10, MySQL переварит и не поперхнётся.

В итоге:

  • С Yii всё хорошо.
  • HP Fortify нашёл то, чего нет, и пометил как критическое.



 


Самый-самый блог
Блогер Рыбалка
Рыбалка
по среднему баллу (5.00) в категории «Спорт»


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.