Основы безопасности веб-приложений

-EX-
На сайте с 07.07.2006
Offline
180
#31

Развели тут флейм... :) Лучше бы живые примеры демонстрировали... :) Опытом делились...

С уважением, Андрей aka EX
U
На сайте с 26.12.2006
Offline
40
#32
Все "дыры" в веб-приложениях происходят не потому что есть дыра, а потому что программист совершил ошибку.

Если программист совершил ошибку, то программа\скрипт корректно работать не будет.

А взлом происходит из-за неопытности программистов и различной настройки сервера.

Друзей не обижают, даже шутя. Белый каталог (быстрая регистрация) (http://vazeline.org.ua) 4life.com.ua (http://4life.com.ua)
[Удален]
#33
-EX-:
Опытом делились.

Что касается опыта во взломах то я участвовал в процессе бета-тестирования нескольких OpenSource Web-приложений я обнаруживал не много дыр, но большенство из них именно опечатки а не отсутствие "параноидальной-фильтрации" предложенной букозавр-ом.

Опечатку допустить может любой (а для XSS и SQL-injection достаточно упустить в коде даже один символ) проблема тут проста и называется она "качество vs сроки"

Обычно выбор падает на сроках (тестирование требует слишком много времени) по этому проще выпустить дырявый скрипт а потом если кто нибудь найдёт дыру то просто выпустить "security-fix".

Именно по этому пути и идут большенство фирм/фрилансеров/итд а у некоторых философия ещё проще: "клиенты всё равно лохи будут думать что купили стоящую вещь, а нам главное что мы уже будем при деньгах."

(думаю люди чьи сайты взламывали подтвердят)

А вот рецепта как избежать участи "лоха" или как стать программистом а не "кидалой" просто нету, это слишком сильно зависит от воспитания...

usja:
то программа\скрипт корректно работать не будет.

Вы явно мало представляете о чём идёт речь.

U
На сайте с 26.12.2006
Offline
40
#34
Зингельшухер:

Вы явно мало представляете о чём идёт речь.

Может быть, докажите это ☝

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

Только скажите что Вы понимаете под ошибкой

[Удален]
#35
usja:
Только скажите что Вы понимаете под ошибкой

Вот кусок скрпита

$query = "SELECT *

FROM `table`
ORDER BY `id` DESC
WHERE `value` > " . $_GET['start'];
$result = mysql_query ($query) or die ('Error');

Ошибка допущена а скрипт работает на все 200% (в том то и проблема что на 200% а не 100%) то есть помимо своей функции он также выполняет роль "backdoor"-a.

Мэкс
На сайте с 03.07.2005
Offline
67
#36
usja:
Приведите мне, пожалуйста, пример когда была допущена ошибка и скрипт работает правильно.

Любой программист, осиливший проект хотя бы в 10 000 строк приведет десятки таких примеров. Много таких ошибок "затыкается" админами на уровне настроек сервера, о чем, в лучшем случае пишут в документации.

Классическая подобная ошибка - установка системы или данных в определенный каталог на сервере :)

Как правило ошибки допускаются на обработчиках пограничных значений и исключений.

Просто не все возможные варианты учитываются. О многих вещах просто не задумываются.

В веб приложениях это чревато сбоями в работе и бэкдорами, а в финансовых банальными несхождениями баланса. И в том и в другом случае это к деньгам... не в пользу обладателя программы.

Знание некоторых принципов легко возмещает незнание некоторых фактов. К. Гельвеций
SE
На сайте с 11.02.2007
Offline
13
#37
Зингельшухер:
И у всех кто в гугле стоит версия 1.0 ?

Да и винда у Вас без дыр выходила ...

Зингельшухер:
и они выбирают пункты 1 и 2 потому что думают что "качество" это только то что внутри скрипта и что этого никто не увидит. (о том что такое безопасность они вообще не имеют понятия)

Бред то не нужно нести...

Зингельшухер:
Вот кусок скрпита

А скрипт написали вы сами для примера.... А поумнее можно было придумать...Так мог написать только начинающий программист, он еще учиться и ему простительно.

Обмен ссылками Авто-Мото, Пишу PHP скрипты любой сложности, Продажа Запчастей на Японские Авто и Спецтехнику
pelvis
На сайте с 01.09.2005
Offline
345
#38

Есть хорошая поговорка:

Созвать консилиум и не пригласить больного - поссорить и хороших и плохих врачей.

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

Продаю вывески. Задарма и задорого (https://www.ledsvetzavod.ru/)
[Удален]
#39
S.E.O:
А поумнее можно было придумать.

Откройте phpNuke старых версий и вы увидите именно этот кусок только чуть чуть видоизменённый как минимум в нескольки местах... (я изменил пример для наглядности)

S.E.O:
Да и винда у Вас без дыр выходила

Винда тоже делается коммерсантами а не программистами...

SE
На сайте с 11.02.2007
Offline
13
#40
Зингельшухер:
(я изменил пример для наглядности)

Так видно сразу...Скрипт писал студент..Нужен нормальный пример, чтобы до маразма не доходило..

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий