о Грозном Рестораны и кафе книга жалоб Чеченский форум Интересное Кино О Чечне и чеченцах Проза и поэзия Мастера Чечни Фото Ислам

Популярные статьи

Уголок мусульманина

О земных поклонах

Сообщается, что вольноотпущенник посланника Аллаха, да благословит его Аллах и да приветствует, Абу Абдуллах (или же Абу Абд ар-Рахман) Саубан, да будет доволен им Аллах, сказал:
Я слышал, как посланник Аллаха, да благословит его Аллах и да приветствует, сказал: «Ты должен совершать множество земных поклонов, ибо, поистине, за каждый земной поклон, совершённый тобой ради Аллаха, Аллах возвысит тебя на (одну) ступень и снимет с тебя (бремя одного) прегрешения». (Муслим)
 
    Чеченский форум GovzPeople.ru » Мнения, опросы, разговоры » IT - Информационные технологии  

    Безопасность: защита сайта, меры, противодействие  
halsoft
Сообщение # 1


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Буквально 2-3 недели назад мой сайт взломали (точнее сказать, получили доступ ко всей базе). Благо, это был муслим, чеченец, который решил проверить найдёт ли он у меня уязвимость. Он сразу отписался на форуме, пояснил где он находил дыру и как воспользовался им (sql инъекции).Как выяснилось, этих дыр много, очень много. Я был в недоумении - как так? Ведь я каждый запрос оформлял как

select * from table where param = '$_GET[param]'

то есть используя апострофы, что предотвращает инъекцию и вроде php magic_quotes_gpc тоже был включен.

Перестал я надеяться на магические кавычки и ввёл свою защиту на проверку пост и гет данных на ключевые слова select, char, where, from, delete и т.д. и как только обнаруживалось совпадение чистил тот или иной параметр.

После предложил нашему хакеру снова провести ревизию, тот уже не смог больше ни обычные, ни блайнд инъекции, ни что либо еще сделать и получить доступ к базе.

Потом спустя некоторое время гуляю себе в панели своего хостинга, случайно так захожу в настройки php и вижу magic_quotes_gpc OFF. OMG подумал я, быстро его включил и снёс защиту, которую делал сам (зачем делать проверку, если уже защита включена и нести дополнительную нагрузку на сервер).

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

Многие говорят, что php magic_quotes_gpc можно обойти, но конкретного примера я не нашел, искал как в рунете, так и на англоязычных сайтах. Нет, 100% эффективного способа не нашел.

Теперь мне интересно - как чеченское IT сообщество решает проблему с защитой от разных атак, в части от инъекций свои сайты? Знают ли они способ обойти защиту, которую я использую сейчас? Сталкивались ли они с хакерами и приключались ли истории взлома?

Интересно послушать не только про инъекции, но и про другие виды взлома и, соответственно, про методы, разработанные против них :)


кацимодо
Сообщение # 2


Govz-Профессионал
  • 85

Репутация: 116
Группа: Доверенные
Пол: мужской
Сообщений: 2564

Награда
и опять дебри, для меня.


bugmenot
Сообщение # 3


Активный форумчанин
  • 51

Репутация: 83
Группа: Доверенные
Пол: мужской
Сообщений: 739

Сейчас посмотрел, у меня отключена т.к. cmsка не дружит с этой фичей. Еще рекомендуется register_globals=Off в целях безопасности. Сам особо не боюсь за сайты т.к. неплохой движок, самописных нет, больше опасаюсь за сам сервер, т.к. не профи в настройке, все по мануалам, некоторое по-дефолту. Но в общем FTP отключен, из под root не захожу, ssh подключение через ключи, но интересно было бы потестить)) этот чувак серваки не ломает?)
Думаю еще хорошая защита это грамотно поставленный периодический backup, до этого тоже пока руки не доходят. Интересно, как и чем бэкапите?



--------------------
Свободы ветер, свободна милая Чечня...
halsoft
Сообщение # 4


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: bugmenot
этот чувак серваки не ломает?)

Вот это я не знаю, но могу те в личку его почта скинуть :)

Цитата: bugmenot
Интересно, как и чем бэкапите?


К счастью, целый сервер держать и контролировать не приходится. У меня простой хостинг, который сам делаем бэкапы каждые 2 или 3 дня, точно не помню.

А что тебя подтолкнуло на покупку сервера?


bugmenot
Сообщение # 5


Активный форумчанин
  • 51

Репутация: 83
Группа: Доверенные
Пол: мужской
Сообщений: 739

Цитата: halsoft
А что тебя подтолкнуло на покупку сервера?

Меня на это подтолкнула дороговизна shared хостингов и акция от Amazon, бесплатный облачный сервер (виртуальный micro instance) на год :wink:
Виртуальный сервер в формате micro на основе Linux с доступом по SSH.
10Гб места в Elastic Block Storage плюс 1Гб под бэкапы.
15 Гб трафика в месяц.
Выделенный внешний IP адрес


howto на хабре



--------------------
Свободы ветер, свободна милая Чечня...
0x90
Сообщение # 6


Есть прописка
  • 51

Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347

Цитата: halsoft
Многие говорят, что php magic_quotes_gpc можно обойти, но конкретного примера я не нашел, искал как в рунете, так и на англоязычных сайтах. Нет, 100% эффективного способа не нашел

Очень интересно. Дай знать, если найдешь что-нибудь по этому поводу.
По сабжу ничего толкового сказать не могу.



--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
halsoft
Сообщение # 7


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: bugmenot
howto на хабре

Ты приглашал бородатого линуксоида? )) не, я не силен в настройке сервера, лучше уж оставлю это дело другим


halsoft
Сообщение # 8


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: 0x90
Очень интересно. Дай знать, если найдешь что-нибудь по этому поводу. По сабжу ничего толкового сказать не могу.


Единственно понятное, что я нашел об этом вот здесь
Внимание! У вас нет прав для просмотра скрытого текста. Необходимо 10 сообщений.


Но я не догоняю, как в пост запросе передать chr(0xbf)? или chr(0x27)? И какой смысл, если данный способ не применяется к utf-8?


bugmenot
Сообщение # 9


Активный форумчанин
  • 51

Репутация: 83
Группа: Доверенные
Пол: мужской
Сообщений: 739

За те несколько недель что я с ним промучился, у меня бы у самого борода выросла (если бы ее раньше не было)). С линуксом подружился давно, но в конфигах не уверен, а да ладно) если удастся накатить сверху nginx то думаю будет вообще супер. А пока есть простенькая панелька, апач, мускул, sftp, ssh и root которых на шареде не допросишься и вообще огромное поле для экспериментов))



--------------------
Свободы ветер, свободна милая Чечня...
halsoft
Сообщение # 10


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: bugmenot
и вообще огромное поле для экспериментов

Вот вот, чисто ради этого и стоит помучаться :) интересно, на нем сервер cs можно запустить? )))


0x90
Сообщение # 11


Есть прописка
  • 51

Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347

Цитата: halsoft
Но я не догоняю, как в пост запросе передать chr(0xbf)? или chr(0x27)?

Немного не понимаю тебя, не обязательно же его с клавиатуры набивать))
Цитата: halsoft
И какой смысл, если данный способ не применяется к utf-8?

Практически никакого :(



--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
halsoft
Сообщение # 12


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: 0x90
Немного не понимаю тебя, не обязательно же его с клавиатуры набивать))

Смотри, он говорит, что addslashe() превращает сочетание 0xbf0x27 в двойной символ, второй из которых апостроф. Как через пост передать символ, который имеет код 0xbf0x27?

В примере он показывает
$_POST[name] = chr(0xbf).chr(0x27);

применяет chr() - так ведь при взломе у меня нет вариантов встраивать эту функцию в код страницы? Если бы он у меня был, так и взламывать нечего, и так я б имел доступ ко всему остальному ))


0x90
Сообщение # 13


Есть прописка
  • 51

Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347

Цитата: halsoft
применяет chr() - так ведь при взломе у меня нет вариантов встраивать эту функцию в код страницы?

Так это и не нужно, между chr(0xbf) и %bf нет разницы, Скорее всего автор делает это просто ради наглядности. Посылаем такой пост запрос.

curl_setopt($curl, CURLOPT_POSTFIELDS, "url=%bf%27")
curl_exec($curl);



--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
0x90
Сообщение # 14


Есть прописка
  • 51

Репутация: 40
Группа: Посетители
Пол: мужской
Сообщений: 347

%bf

Я не помню точно каким символом в php внутрь строки вставляют hex`ы, но смысл думаю ты понял.



--------------------
Нет рабства безнадежнее, чем рабство тех рабов, себя кто полагает свободным от оков.
halsoft
Сообщение # 15


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

Цитата: 0x90
curl_setopt($curl, CURLOPT_POSTFIELDS, "url=%bf%27")curl_exec($curl);

Всё, догнал. Можно у себя всё это делать, а потом отправлять. Тестирую, пока ничего не получается


virtual
Сообщение # 16


Местный житель
  • 34

Репутация: 19
Группа: Посетители
Пол: мужской
Сообщений: 165

magic_quotes можно обойти методами типа char, но это не прокатит если код уже не инжектирован, т.е чтобы закрыть кавычку надо поставить кавычку, никакие char тут не помогут, имеется ввиду что для первой кавычки закрытием которой обычно инжектят код обход невозможен
вместо ' выйдет \', а если сделать CHAR(27) то опять таки фунция не выполнится, потому что она попадет внутрь кавычек, а значет будет восприниматься как текстовым значением а не как функция.



--------------------
Поможем экосистеме - прекратим существование!
virtual
Сообщение # 17


Местный житель
  • 34

Репутация: 19
Группа: Посетители
Пол: мужской
Сообщений: 165

http://forum.antichat.ru/thread43966.html



--------------------
Поможем экосистеме - прекратим существование!
halsoft
Сообщение # 18


Есть прописка
  • 51

Репутация: 25
Группа: Посетители
Пол: мужской
Сообщений: 292

virtual,
А ты прочитал ту статью, которую я привел
Внимание! У вас нет прав для просмотра скрытого текста. Необходимо 10 сообщений.

Некий Крис дает советы. Каково твоё мнение о статье?


virtual
Сообщение # 19


Местный житель
  • 34

Репутация: 19
Группа: Посетители
Пол: мужской
Сообщений: 165

Это статья показывает что если есть возможно использования китайских символов, то можно использовать мультибайтовую фигню вместо ('), но там же оговороено что
If you want to try this yourself, make sure you're using GBK. I just changed /etc/my.cnf, but that's because I'm testing locally:
default-character-set=GBK
т.е надо на сервере поставить дефолтной кодировку GBR, а как ты это сделаешь если ты не владеешь сервером? А если ты владеешь сервером зачем делать инъекции в какой-то скрипт?)))))))))



--------------------
Поможем экосистеме - прекратим существование!
virtual
Сообщение # 20


Местный житель
  • 34

Репутация: 19
Группа: Посетители
Пол: мужской
Сообщений: 165

хотя его слова какие-то расмплывчатые, он говорит что сам делал локальные тесты, короче надо в коде php для атаки поставить кодировку GBR и попробовать оттуда выполнить инъекцию, в любом случае надо тестировать))



--------------------
Поможем экосистеме - прекратим существование!