![]() |
доброго времени суток, господа.
итак, мы имеем сайт, имеем куки в следующем виде: base64---рандомный хэш(?) из 40 символов с каждым обновлением страницы разный и имеем желание ломать. если сделать декод base64, выходит следующее (некоторые данные по понятным причинам замазал): Код:
{"user":{"source":"new","photo":"\/avatar\/s\/аватар","activities":null,"photo_medium":"\/avatar\/m\/аватар","rating":"0","last_name":"фамилия","email":"мыло","confirm":"0","photo_big":"\/avatar\/o\/аватар","updated":"дата","about":"привет","id":"цифра","birthday":"др","comments_count":"0","gender":null,"likes_count":"0","admin":"0","location":"город","my_comments_count":"667","ban":"0","subscribe":"1","deleted":"0","actived":"время","banned_to":null,"created":"дата создания","shop":"0","hidden":"0","first_name":"имя"},"token":"уникальный токен, генерирующийся один раз при каждом входе на сайт (не меняется, пока не выйдешь) "}вот тогда ты и начинаешь думать о второй части, которая после кода base64 - этом самом хэше. сказать что он уникальный ? - нет, я повторял одну и туже (исправную) сессию много раз и всё работало, выходит - каждый раз она хоть и меняется (ключ после base64), но если повторять её, работа не слетает. сдаётся нам что ключ не такой уж и уникальный. выглядит в полном виде сессия так: Код:
eyJ1c2VyIjp7InNvdXJjZSI6Im5ldyIsInBob3RvIjoiXC9hdmF0YXJcL3NcL9Cw0LLQsNGC0LDRgCIsImFjdGl2aXRpZXMiOm51bGwsInBob3RvX21lZGl1bSI6IlwvYXZhdGFyXC9tXC/QsNCy0LDRgtCw0YAiLCJyYXRpbmciOiIwIiwibGFzdF9uYW1lIjoi0YTQsNC80LjQu9C40Y8iLCJlbWFpbCI6ItC80YvQu9C+IiwiY29uZmlybSI6IjAiLCJwaG90b19iaWciOiJcL2F2YXRhclwvb1wv0LDQstCw0YLQsNGAIiwidXBkYXRlZCI6ItC00LDRgtCwIiwiYWJvdXQiOiLQv9GA0LjQstC10YIiLCJpZCI6ItGG0LjRhNGA0LAiLCJiaXJ0aGRheSI6ItC00YAiLCJjb21tZW50c19jb3VudCI6IjAiLCJnZW5kZXIiOm51bGwsImxpa2VzX2NvdW50IjoiMCIsImFkbWluIjoiMCIsImxvY2F0aW9uIjoi0LPQvtGA0L7QtCIsIm15X2NvbW1lbnRzX2NvdW50IjoiMjIiLCJiYW4iOiIwIiwic3Vic2NyaWJlIjoiMSIsImRlbGV0ZWQiOiIwIiwiYWN0aXZlZCI6ItCy0YDQtdC80Y8iLCJiYW5uZWRfdG8iOm51bGwsImNyZWF0ZWQiOiLQtNCw0YLQsCDRgdC+0LfQtNCw0L3QuNGPIiwic2hvcCI6IjAiLCJoaWRkZW4iOiIwIiwiZmlyc3RfbmFtZSI6ItC40LzRjyJ9LCJ0b2tlbiI6ItGD0L3QuNC60LDQu9GM0L3Ri9C5INGC0L7QutC10L0sINCz0LXQvdC10YDQuNGA0YPRjtGJ0LjQudGB0Y8g0L7QtNC40L0g0YDQsNC3INC/0YDQuCDQutCw0LbQtNC+0Lwg0LLRhdC+0LTQtSDQvdCwINGB0LDQudGCICjQvdC1INC80LXQvdGP0LXRgtGB0Y8sINC/0L7QutCwINC90LUg0LLRi9C50LTQtdGI0YwpICJ9---ab4g8j0k4lo12vb56mn098rt5bu42cao65m23eg6итак, Джентльмены, - в какую сторону думать ? |
думаю в правую сторону,бро!
А вообще забудь это. |
Цитата:
|
Цитата:
Тут нету cookie enj. |
хмм.. если есть переменные, и они считываются сайтом, - выходит их можно подменить. если нельзя, - можно попробовать провести sql inj прямо через сессию на этих переменных, т.к очевидно что они обращаются к базе. в чём я не прав ?
|
Цитата:
|
Цитата:
- нет, забудь про это - но почему ? игрушки ведь есть - ты не сможешь поиграть, я тебе уже ответил из такого разряда. |
Цитата:
На сайте отсутсвует уязвимость данного рода. Чтобы её применить должен быть кривой код,а не то что ты написал исходя из своих фантазий |
Цитата:
|
Цитата:
Тролль. |
Понимаешь,exT1ma4ka!Что бы тут была уязвимость,надо поставить ковычку и при обновлении страницы должны быть sql ошибка,которая скажет о налиции уязвимости.
То что ты делаешь вообще к уязвимостям не относится С Уважением,InDuStRieS! |
ты по-моему не понимаешь в чём дело. инъекция в куки, так ? справа - ключ, слева - сама сессия в base64. ключ является проверкой сессии на корректность (отсутствие левых элементов, кавычек, итд). когда ключ не совпадает - сессия не пашет. ты говоришь о чём-то другом.
ставлю вопрос так: каким алгоритмом может быть произведена проверка сессии через хэш ? 40 символов - Sha 1, но я не могу получить туже сумму при переводе чистой сессии или же base64 кода в неё. что-то тут не так. |
Возможно (в самом простом случае), некоторые поля из левой части проходят объединение, и результат такой вот конкатенации обсчитывается в хэш, который является проверкой, не подкрутил ли чего юзер в куках (его мы и видим в правой части). Вся проблема - узнать, какие параметры и каким образом между собой комбинируются. Тут есть величайшее множество возможных реализаций, которые наверняка можно узнать, лишь докопавшись до исходников сайта. В самом элементарном варианте, который я описал, узнать, какие переменные используются при генерации хэша, можно так:
1. Меняем переменную, запоминаем, что поменяли. Хэш оставляем прежним. 2. Отправляем кук на сервер. 3. Вернул ошибку - переменная участвует в "формировании" хэша, нет - тестим следующую. Но здесь всё может пойти прахом (даже если мы узнаем, какие переменные проходят конкатенацию, а какие - нет), если потом они как-то модифицируются (например, между ними ставится тире, и от полученной строки считается хэш)... В общем, самый верный вариант - копать исходники, как ни крути. Если где-то сморозил глупость - сильно не бейте, просто высказал свои мысли, на практике ничем таким никогда заниматься не приходилось. Также думаю, что затея с куками слишком уж трудоёмкая, и стоит поискать более "классические" дырки типа sql-inj, инклудов или XSS'ок... |
жжете
Поняша,тут и есть sql inj,только в куках) Но тут не уязвимо |
H3L1X, тесты проводились, боюсь вся строка участвует в формировании хэша. даже когда переставляешь переменные местами - всё рушится.
|
| Время: 12:40 |