Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   WWW (http://mangos.ytdb.ru/forumdisplay.php?f=23)
-   -   [SQL] SQl-инъекции (http://mangos.ytdb.ru/showthread.php?t=146)

Кот ДаWINчи 08.03.2010 19:01

[SQL] SQl-инъекции
 
На прежнем ru RMDC форуме эта тема была, и совершенно случайно осталась у меня, сохраненная ввиде файла.

Цитата:

Сообщение от Kponoc
Администрация форума разрешила создать такую тему.Для незарегенных юзеров она скрыта,Думаю инфа полезна для тех кто сталкивался с проблемой, когда сервер взламывался через сайт. Информация приведенная ниже предназначена для нахождения уязвимости в сайтах с целью дальнейшего устранения.Данные собирал по кускам.

05.03.2009 14:12

И так Текст:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 5 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

Madmunus 08.03.2010 19:57

Мож немного подоформить темку? или в тэге хайда другие тэги не работают?

DeusModus 08.03.2010 20:06

Цитата:

Сообщение от Madmunus (Сообщение 705)
Мож немного подоформить темку? или в тэге хайда другие тэги не работают?

Работают. Однако, все торопятся.

Madmunus 08.03.2010 20:11

Цитата:

Сообщение от DeusModus (Сообщение 707)
Работают. Однако, все торопятся.

Да восстановить сейчас прежний вид форума одна из основных задач)

Кот ДаWINчи 08.03.2010 20:20

Цитата:

Сообщение от DeusModus (Сообщение 707)
Работают. Однако, все торопятся.

У меня сохранено было в текстовый файл.

Всё поправил!:blush2:

В продолжении темы. Вот вариант защиты:

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 10 сообщение(ий)):
У вас нет прав чтобы видеть скрытый текст, содержащейся здесь.

gR4mm 13.03.2010 11:28

Эх,жаль текста не вижу, сообщений не хватает.:)
Вставлю свои 5 копеек. ЕМНИП, дабы избежать скл-инъекции достатчно использовать параметризованные ХП.

ghostpast 13.03.2010 12:07

Цитата:

Сообщение от gR4mm (Сообщение 1754)
Эх,жаль текста не вижу, сообщений не хватает.:)
Вставлю свои 5 копеек. ЕМНИП, дабы избежать скл-инъекции достатчно использовать параметризованные ХП.

если в хранимой процедуре не будет проверок входных параметров на допустимые значения, то избежать SQL-инъекции не получится.
что касается скрытого текста, то я догадываюсь что там написано :)

Кот ДаWINчи 13.03.2010 17:59

gR4mm, ghostpast, Там написано всё то, что можно вычитать погуглив фразу "SQl-инъекции". Просто Вся информация собрано воедино, и направлена на то, чтобы создатели скриптов могли сделать хоть какой-то вывод для себя.

gR4mm 13.03.2010 21:20

Цитата:

Сообщение от ghostpast (Сообщение 1759)
если в хранимой процедуре не будет проверок входных параметров на допустимые значения, то избежать SQL-инъекции не получится.
что касается скрытого текста, то я догадываюсь что там написано :)

Наконец то вижу скрытый текст.:)
Честно говоря, не представляю варианта скл-инъекции в случае использования хп. Если не сложно, привидите пример.
Предлагаю сделать тут мини факу по возможным вариантам инъекции и путей их избежания.

Kujbor 17.03.2010 10:13

Аналогично ничего не вижу да и не горю желанием если чесно)) У меня 1 вопрос:

Кот ДаWINчи, в вашем ACP2 есть такие уязвимости? Если нет то я спокоен, если да то что сделать-то нужно чтобы обезопаситься? =)

Кот ДаWINчи 17.03.2010 14:07

Цитата:

Сообщение от Kujbor (Сообщение 2385)
Аналогично ничего не вижу да и не горю желанием если чесно)) У меня 1 вопрос:

Кот ДаWINчи, в вашем ACP2 есть такие уязвимости? Если нет то я спокоен, если да то что сделать-то нужно чтобы обезопаситься? =)

прочитай тему про АСР целиком! Там мы как раз это обсуждали и я давал ответы.

ANTOMA 26.03.2010 16:33

методы инъекции не нужны, кроме уже имеющихся горе-Хацкеров, нехватало еще мЕГА-хацкеров, а вот по методам лечения были бы признательны....

Chestarfild 30.03.2010 14:18

Пару советов:
  • Лучше используйте библиотеку DbSimple вместо стандартных функций php. В ней кое-какая защита от инъекций (если конечно правильно применять плейсхолдеры)
  • Старайтесь как можно меньше данных принимать извне, и старайтесь принимать только числовые значения. Их удобно проверять функцией is_numeric()
  • Для работы с инклудами файлов удобнее использовать что-то такое:
    Код:

    switch(@$_GET['do'])
    {
            case "index": include_once("index"); break;
            case "page":  include_once("page"); break;
            default:        include_once("index"); break;
    }

    Такой код более менее стойкий к php инъекциям.


Текущее время: 21:57. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS