0day HQL injection / Hibernate queries

Discussion in 'Уязвимости' started by banned, 4 Feb 2016.

  1. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Как проводить инъекции в HQL написано здесь.

    Доступные функции при проведении инъекций в HQL - http://www.h2database.com/html/functions.html

    Провести инъекции можно на все таблицы данных независимо от наличия прав доступа к ним. Если на сайте база под ReadOnly юзером, мы все равно можем обращаться к другим таблицам.

    Суть уязвимости заключается в обходе HQL парсера. Он считает что
    XXnon-breaking-spaceXX это 1 символ, а база данных видит в нем подзапрос.

    Таким образом если мы заменим пробел на \u00A0, то сможем выполнить любой запрос.

    Например:
    Выведет ошибку HQL на недостаток доступа или о том, что надо установить resultSet scroll.
    А если мы поправим запрос так:

    [​IMG]
    Запрос картинкой потому что WAF античата не даёт создать тему с таким запросом :D
    Запрос можно взять тут.


    Где X заменим на \u00A0, то парсер пропустит данный запрос и обратится к базе, которая нам всё покажет.
     
  2. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    и ещё попалите презу от 0ang3el с последнего ZN
     
    _________________________
    drdlle likes this.