PDA

Просмотр полной версии : 0day HQL injection / Hibernate queries


Isis
04.02.2016, 14:18
Как проводить инъекции в HQL написано здесь (http://blog.h3xstream.com/2014/02/hql-for-pentesters.html).

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

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

Суть уязвимости заключается в обходе HQL парсера. Он считает что

XXnon-breaking-spaceXX это 1 символ, а база данных видит в нем подзапрос.

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

Например:


query=' and (select password from users where id=1)=0 or ''='


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

А если мы поправим запрос так:

http://hsto.org/files/14d/857/6fa/14d8576fa27c4db1a03e2f450155cef2.png

Запрос картинкой потому что WAF античата не даёт создать тему с таким запросом

Запрос можно взять тут (https://forum.xeksec.com/f4/t88607/).

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

faza02
04.02.2016, 14:31
и ещё попалите презу от 0ang3el с последнего ZN