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

SE
На сайте с 11.02.2007
Offline
13
#41
Зингельшухер:
Винда тоже делается коммерсантами а не программистами...

Вот расмешил...:D

Обмен ссылками Авто-Мото, Пишу PHP скрипты любой сложности, Продажа Запчастей на Японские Авто и Спецтехнику
[Удален]
#42
S.E.O:
Так видно сразу...Скрипт писал студент..Нужен нормальный пример

Такое пишут не только студенты но и программисты с внушительными портфолио.

Пишут винду программисты, но они слишком стеснены рамками которые ставят коммерсанты, в таких рамках написать не только рабочее но и надёжное ПО просто невозможно !!!

Думаю не стоит напоминать что .NET был разрекламирован ещё до того как началась его разработка... (ссылку не даю, думаю на этом форуме люди умеют юзать гугль или яндекс)

Мэкс
На сайте с 03.07.2005
Offline
67
#43
S.E.O:
Скрипт писал студент..Нужен нормальный пример, чтобы до маразма не доходило..

Могу положить. Примерно 600 строк кода, а ошибка была в структуре данных. Решили добавив очередной обработчик в 4 строки :). Правда это не безопасность, а сбой при импорте и последующей обработке данных. Ошибка была из за неправильной интерпретации типа данных, при определенном наборе других данных и достижении малоизвестного ограничения системы.

Искали в прошлом году больше 3-х месяцев. Ибо не понимали при каких ТОЧНО условиях оно возникает и на чьей стороне.

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

Кстати, по поводу учебных задач. В свое время, когда мой ребенок учился в школе у них была информатика. Учили программировать на C++. Причем, я бы не сказал, что их преподаватель ни хрена в программировании не понимал. Так вот давали им задачи с такой постановкой, что правильное решение навскидку составляло больше 1000 строк кода, но преп удовлетворялся 30-50 строками. Я как то заставил ребенка в программе обработать ВСЕ возможные варианты входных данных и их источников - преп просто поставил банан, сказав, что писал программу не мой ребенок :)

Учат у нас, да и не только у нас не совсем тому, что надо.

Знание некоторых принципов легко возмещает незнание некоторых фактов. К. Гельвеций
Мэкс
На сайте с 03.07.2005
Offline
67
#44
Зингельшухер:
и программисты с внушительными портфолио.

Воистину!!!!!. Причем пишут очередную заплату на 5 мин, которая превращается в системную функцию :)

Зингельшухер:
Пишут винду программисты, но они слишком стеснены рамками которые ставят коммерсанты, в таких рамках написать не только рабочее но и надёжное ПО просто невозможно !!!

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

Систему качества разработки ISO9000 придумали не программисты а коммерсанты, как раз для того, чтобы при любых изменениях в команде разработчиков это не влияло на качество конечного продукта.

SE
На сайте с 11.02.2007
Offline
13
#45
Мэкс:
По моему Зингельшухер привел правильный пример. В боевых системах такое встречается регулярно ибо много еще "программистов" которые умеют решать только учебные задачи.

Не давно искал сайты для обмена, так у одного дырка была такого плана -- or'1'='1'.

А код я так и не увидел...а вы что когда ломали что-то исходный код всегда видели ?

Мэкс:
Учат у нас, да и не только у нас не совсем тому, что надо.

Век живи век учись..и будет счастье

Мэкс:
А коммерсанты в данном конкретном случае просто кровно заинтересованы в максимально полном тестировании продукта.

Совершенно с вами согласен.

Мэкс
На сайте с 03.07.2005
Offline
67
#46
S.E.O:
а вы что когда ломали что-то исходный код всегда видели

Я уже лет 10 как не кодирую... а с SQL системами завязал еще раньше.

Но за 15 лет работы программером и системным аналитиком насмотрелся всякого, но не при взломе ... а при при модификации, когда в документации одно - а на деле даже подобия нет. И это не в веб, а в финансовых системах, которые разрабатывались и тестились намного серьезнее :)

U
На сайте с 26.12.2006
Offline
40
#47
Зингельшухер:
Вот кусок скрпита
$query = "SELECT *

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

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

Согласен. 🍾

Друзей не обижают, даже шутя. Белый каталог (быстрая регистрация) (http://vazeline.org.ua) 4life.com.ua (http://4life.com.ua)
[Удален]
#48
S.E.O:
а вы что когда ломали что-то исходный код всегда видели ?

Я где-то в 90-х ломал игры для спектрума написанные на ASM, где бы я там нашёл исходиники ?

В том то и дело что его и не нужно видеть, в винде тоже исходников нету, а дыры люди находят.

Для примера в РНР приложении если после ' or 1=1 выскакивает ошибка то осталось ввести подзапрос c помощью того же UNION (UPDATE траляля SET трирубля) делающий вас админом и всё, или (если на этом сайте нет системы пользователей и прав) найти абсолютный путь к папке (что не всегда нужно потому что иногда он проскакивает в ошибках при вводе ' or 1=1) и подзапросом залить шел на серврер (SELECT 0x4841434b454420425920564c4144534f4e INTO FILE '/home/yandex/public_html/index.html')

Конечно это сильно упрощённый вариант, но думаю смысл ясен.

SE
На сайте с 11.02.2007
Offline
13
#49
Зингельшухер:
Конечно это сильно упрощённый вариант, но думаю смысл ясен.

После того как я ввел or'1'='1' я уже рулил сайтом и мне ничего уже не нужно было....

того же UNION -- интересно а про какую базу данных вы говорите ?

M
На сайте с 27.07.2004
Offline
49
#50

угу UNION это синтаксис SELECTа, так что никакого UPDATE, остальное все верно

SQL injection всеж менее опасна, чем выполнение произвольного кода, так как есть прослойка в виде SQL сервера со своими настройками безопасности

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