Мы открыли публичное тестирование .NET-версии библиотеки LibProtection. Для тех, кто принимал участие в моём докладе с ноябрьского DotNext и в курсе того, что эта библиотека делает: доступны
репозиторий и
тестовый сайт, имитирующий уязвимое приложение, защищённое с помощью LibProtection. На сайте можно заценить её функциональность и потестировать на возможные байпассы и ложные срабатывания (вот тут будем рады любой помощи).
Для тех, кто не в курсе: LibProtection предоставляет альтернативную реализацию форматных и интерполированных строк, которая позволяет разработчикам не задумываться о проблеме инъекций в различные грамматики: о санитизации входных данных, их валидации в рамках проблемы инъекций -- вот это всё. Уже сейчас поддерживаются грамматики HTML, URL, JavaScript, SQL и файловые пути.
Работает это примерно так: при форматировании/интерполировании строки автоматически определяется граматический контекст для каждого из плейсхолдеров, на основе которого выводится функция кодирования значения, переданного в плейсхолдер. Далее, выведенные функции применяются и результат форматирования/интерполяции подвергается валидации по формальным признакам атак инъекции (которым и был посвящён упомянутый выше доклад). Если валидация завершается успешно, то результирующая строка отдаётся в вызвавший библиотеку код. Если же нет, то выбрасывается исключение, либо возвращается false (в зависимости от того, какой из методов библиотеки был использован).
Поиграться с конкретными примерами работы библиотеки, как я уже написал выше, можно на тестовом сайте
... << RSDN@Home 1.3.16 alpha 5 rev. 60>>