// Wake Up Neo The Matrix Has You (кто участвовал, тот вспомнит) // Американская дрянь, химия, наркота... никогда мне не прельщала... Affiliate Site Management System V2.0 История длиною в 3 года Предыстория: Когда-то, когда трава была зеленее, деревья выше, а я моложе, некий форумчанин спамил по личкам в ожидании помощи по добыче email-аккаунтов фармокологических сайтов. Такое случается очень и очень часто, никто из тех, кто взялся за ум, уже и не обращает внимания. Но среди сайтов был один интересный тем, что когда-то я уже находил SQL инъекцию на нём. На это письмо я и нарвался пару недель назад, сортируя почту. Тогда он меня мало интересовал. SQL подразумевала некоторую фильтрацию, куча ограничений, в бд нет таблички пользователей, даже админов нет. Как и что было делать - вообще не понятно. Но от скуки и для студентов ради (преподаю курс Web-уязвимостей в университете), SQL была найдена, повторно проверена и всё... Ничего толком не поменялось. Было решено продолжить исследования. Нашёл похожие сайты, сформировал dork, дыра везде одинаковая. Те же самые ограничения, кое-где дополнительная фильтрация, даже WAF кое-где... Но среди всех сайтов линейки выбивался 1 - на нём mysql работал от root, что даёт необходимые привилегии по чтению исходников CMS. Итак, на начало исследования я имел следующие моменты: 1) Раскрытие путей до основного сайта (в SQL инъекте было сообщение о ошибке); 2) MySQL root с очень сложным паролем. От него работала CMS. 3) 1 сосед с WordPress 3.* на борту. Пасс также очень сложный. 4) MQ = on. Вектор атаки был выбран наипростейший - читаем конфиг ВордПресса, узнаём пасс от БД. Пробуем такой же пасс на root. Ищем PhpMyAdmin и пробуем пробиться внутрь. Конфиг был прочитан через load_file(). Пасс выдран. На основном сайте PMA был спрятан хитро, DirBuster не смог его отыскать. За то на дополнительном отыскался в стандартной директории. Авторизовался в PMA под юзером для WP, сменил пасс на WP, чтоб можно было авторизоваться. Права на папки и файлы были выставлены супер-секурно, аплоад был невозможен никуда и ни при каких обстоятельствах. WordPress был отброшен как бесполезный. Права на Load_file у юзера для WP были без привилегий на чтение файлов, зато читался mysql.user и даже вносились изменения в учётки. Залиться через SQL было нельзя по причине включенных магических кавычек. Поэтому был сменен пасс на root, сам mysql-сервер был уронен эксплойтом от многоуважаемого Light Code: select 1 from table procedure analyse ((select 1 from (select 1)a),1); Привелегии обновились, я зашёл в PMA под root. Теперь уже можно было из консоли PMA залить мини-шелл в директорию основного или дополнительного сайтов. WP не сдался, а основной имел врайтабельные директории в глубине директив, которые DirBuster мне не показал. Решено было продолжать ковырять исходники. И всё бы хорошо, если бы они не были накрыты IONCUBE. Пришлось искать деионкубер, расшифровывать исходники и искать необходимые директории. Наконец, шелл был залит, исходники сдамплены, цель, казавшаяся невыполнимой 3 года назад, была достигнута, а всё пиво выпито. Отдаю вам всё что наффазил, всё таки исходники закрытых CMS, продающие всякую американскую дрянь для меня редкость, вдруг и вы что-нибудь интересное для себя найдёте. Итак, наша цель - Affiliate Site Management System V2.0 dork: inurl:cart.htm intext:"Shipping Terms" SQL-инъекция: (Внимание. Все точки необходимо заменять Double URL Encode вариантом => %252e) Request: Response: Full Path Disclosure: Request: Response: Раскрытий путей будет много, привёл всего 1 пример. Ибо и так в SQL запросе раскрывается. XSS via SQL (SiXSS): Request: Response: Private key authentication: (Бага существует из-за того, что любой пользователь может прочитать на сервере файл, в котором хранятся пара login+pass в виде sha1(login):sha1(pass), подобрать данные и авторизоваться в Admin-панели). Source ( /admin/application/controllers/admin.php): Request: Response: Админка по дефолту - http://[host]/admin Отдельно выложу исходники для изучения и пример SQL дампа.
LOL, как раз у меня парочка сайтов партнерки на этом движке. Только смысла ломать такие сайты нет, так как никаких баз юзеров и заказов там не сохраняется