Как я включил обиженку: повесть об анализе пикабу и мести юзеру
Привет, пикабу! В связи с тем, что я недавно закончил проект раньше времени и меня отпустили в отпуск на целый месяц - мне стало скучно. И вот пришел я на пикабу.
Общался общался, но тут мое самолюбие задели. Я подумал-подумал, ну ок, вызов принят. Включил Дон Кихота и начал воевать с невидимыми мельницами. Первым делом - я решил заминусить все комменты. Но не тут то было, комментарии пользователи были скрыты.
Ага, не проблема. Идем в гугл и печатаем:
Видим, что данный юзер писал на 701-й странице. И тут я понял, что так просто моя месть не свершится. Минусовать на каждой странице - это сложно, для человека.
И тут я решил написать скрипт. Каким образом я это сделал? В Firefox'е есть плагин FireBug позволяющий перехватывать запросы сайта.
Идем и минусим рандомного чела
Итак, видим, что создается AJAX запрос к скрипту vote_comment.php, во вкладке post мы видим, что для минусования есть две переменные: айди комментария и голос.
В заголовках присутствует X-csrf-Token. Забегая вперед скажу, что это первая уязвимость. Данный токен используется для защиты от подделки Ajax-запросов. Злоумышленник может создать сайт, передать ссылку и юзер, перейдя по нему, сделает фейк-запрос от лица пользователя на пикабу. Этот токен призван от него защитить. Создавая мульти-акки я обнаружил, что у разных аккаунтов в единицу времени токен одинаковый. То есть, потенциальный злоумышленник без проблем знает какой токен используется для защиты.
Но наша цель не в этом, это я так, между слов. Надеюсь, администрация пофиксит. Иначе можно хоть пароли менять.
Для этого нам надо найти все комментарии, искать мы их будем через гугл:
После чего в каждом URL нам надо найти все комментарии пользователя, сделать это также легко. После первого вхождения никнейма можно найти сигнатуру начала айди комментария.
Для этого напишем код, который будет парсить каждую url:
После чего нам осталось создать фейк-запрос к ajax скрипту, имея куки и Csrf-токен мы можем это ез проблем сделать:
Скрин сделал с пастебина где уже вырезал свои куки, ссыль в конце прилагается :)
После запуска мы увидим такую картину:
И, о да, долгожданный результат:
Вот и все, пастебин. /DpcLrBSH
У меня все.










