Универсальная защита от SQLinj и XSS от NGS
Универсальная защита от SQLinj и XSS от NGS
Безопасность многих скриптов системы активной рекламы оставляет желать лучшего. А программисты, которые их делают - это вообще ходячие дыры.

Поэтому решил выложить свою универсальную защиту, которая подойдет на абсолютно любой скрипт активной рекламы, любой сборки. И я сам использую её в своем будущем скрипте.

Любые вопросы или конструктивную критику, принимаю на нашем форуме.

Скачать:
Ссылка: Вы не можете скачивать файлы с нашего сервера
Пароль на архив: kasoi

Установка:

Немного теории:
Как же работает скрипт и от чего защищает???
Скрипт анализируется все GET, POST запросы и что лежит во всех кукисах, и если в них содержатся опасные символы - выполнение скрипта прекращается, а на экран выводится сообщение: Ошибка, сработала защита. Подозрение на SQL inj или XXS.

Как проверить все ли правильно сделано?
Очень просто. Перейдите по ссылке, допустим: http://адресбуса/index.php?r=1' либо при авторизации или регистрации в любое текстовое поле добавьте: > или <

Как отблагодарить?
Вариантов много, некоторые из них:
1. Написать в комментарии ниже - Спасибо и добрые слова.
2. Поставить + к репутации.
3. Перевести любую сумму на кошельки: R442091558271, Z839792403537 (очень прошу не использовать в примечании слово касой)


Рубрика: Бесплатное » Дыры, ошибки   |   Автор: NGS   |   Просмотры: 9638
Комментариев: 4
Публикаций: 0
ICQ: 633690635
- 19 +
  Автор: tankist   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Ты как всегда всех нас радуешь!))) Ты лучший! Спасибо! winked
Комментариев: 39
Публикаций: 0
ICQ: --
- 36 +
  Автор: Mailik   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Спасибо только как архив распокавать что бы проверить
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
Цитата: Mailik
Спасибо только как архив распокавать что бы проверить

Пароль: kasoi До конца прочитать весь текст нужно :)
Комментариев: 44
Публикаций: 2
ICQ: 554236834
- 60 +
  Автор: mr_Black   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Спасибо только как архив распокавать что бы проверить

Пароль на архивв:
kasoi

на мфс чет не пашет...

ставлю спец знаки, никак не реагирует
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
Кстати, все кто поставил, можете смело убирать инклуд .zsecurity.php (если такой имеется)
Комментариев: 39
Публикаций: 0
ICQ: --
- 36 +
  Автор: Mailik   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Спасибо! Буду тестировать! Вечером отпешусь
Комментариев: 738
Публикаций: 50
ICQ: --
- 4 +
  Автор: Green-wm   |   Группа: Пользователи   |   Дата: 06 мая 2011  
Цитата: Mailik
.zsecurity.php

Ага, .zsecurity.php это не защита... Никогда туда не лазил, недавно залез, там ерунда полнейшая.. Что с ним что без него - защиты нет!
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
этот класс модифицирует функцию htmlspecialchars(), которую необезательно модифицировать:)
Комментариев: 32
Публикаций: 0
ICQ: 617328603
- 2 +
  Автор: Woken   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Спс Kasoi )))
Комментариев: 159
Публикаций: 10
ICQ: 407464816
- 174 +
  Автор: bizze   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Ваше красава! :) Что бы без тебя Шоп делал? :D
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
Ваше красава! :) Что бы без тебя Шоп делал? :D


ты можешь и сбебе поставить на bizze! скрипт универсальный!
Комментариев: 95
Публикаций: 0
ICQ: 471590730
- 189 +
  Автор: reklamawmb   |   Группа: Пользователи   |   Дата: 06 мая 2011  
Спасибо большое))
Комментариев: 159
Публикаций: 10
ICQ: 407464816
- 174 +
  Автор: bizze   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Цитата: kasoi
ты можешь и сбебе поставить на bizze! скрипт универсальный!

Знаю, поставлю, конечно.
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 06 мая 2011  
Молодец конечно. Но обьясни мне где тут защита от XSS если от XSS это htmlspecialchars
а у тебя я чёто не вижу.
Zsecurity вроде хороший файл защищает от левых пост и гет запросов


И если магические ковычки выключены то нет потребности использовать stripslashes

И это не полная защита. Перед записью в базу поле например логина стоит обрабатывать через mysql_real_escape_string и не надо не какие символы фильтровать.
А перед выводом инфы в поток пропустить через htmlspecialchars() и XSS не страшен.
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
VELIK505 несогласен с тобой во многом!

Но обьясни мне где тут защита от XSS если от XSS это htmlspecialchars

Нет тут htmlspecialchars !!! но скрипт функций изза этого не теряет! поставь и посмотри,, что происходит если попробовать сделать иньекцию или XXS!!!

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

И это не полная защита. Перед записью в базу поле например логина стоит обрабатывать через mysql_real_escape_string

Используя этот скрипт, ты просто не дойдешь до стадии, когда нужно заносить данные в БД! если в POST или GET запросе есть зарщенные символы - работа скрипта сразу прекращается и выводится сообщение с ошибкой!

А перед выводом инфы в поток пропустить через htmlspecialchars() и XSS не страшен.
Да? а какже быть с плагинами, которые написаны через жопу начинающими программистами??? или ктото случайно допустил ошибку.... Вот используя мой скрипт ошибкой не воспользоваться!!!

И это не полная защита.

Согласен, в 20% случаев взлома человеческий фактор и его никак не исключить!
и найди, хоть одно слово где я написал, что это 100% защита вашего сайта!

но допустим ктото переписал скрипт новостей.... и новость примерно так:
сайт (допутим): lohobux.ru
$newsId = $_GET["id"];
$sql = "SELECT * FROM `news` WHERE `id` = 'newsId'";


новость вызывается примено так: lohobux.ru/news.php?id=2

злоумышленик сможет без пробелм воспользоваться допущенной тут уязвимость и сделать SQL иньекцию! так: изменив ?id=-1'UNION+SELECT+1,2,3,4,5,6,7,8,9,10
к коду добавиться так: $sql = "SELECT * FROM `news` WHERE `id` = '-1'UNION+SELECT+1,2,3,4,5,6,7,8,9,10'; и на месте новости выведется число от 1 до 10 (в зависимости от ячеек) , ну все углубляться в то, как поводить иньекции небуду :)


ну так вот даже если человек напишет такой код для стения новости, но восполльзуется моей защитой :))))) до места, когда идет выборка он просто не дойдет! ему выскачит сообщение об ошибке!



Вообщем хочешь продолжить дебаты гоу на форум...... будет взвышивать все за и против!
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 06 мая 2011  
Ну и так нельзя все выдавать Ошибка, сработала защита. Подозрение на SQL inj или XXS http://адресбуса/index.php?r=1' за такой переход.
Для этого есть чёткая Свич обработка.
Комментариев: 75
Публикаций: 8
ICQ: 746522
- 61 +
  Автор: jamals   |   Группа: Пользователи   |   Дата: 06 мая 2011  
Kasoi реально щас попробывал сделать SQl иньекцию не канает) Так что впервые говорю спс) и плюсик те)
Комментариев: 58
Публикаций: 4
ICQ: 621983937
- 60 +
  Автор: UkrDimon1234   |   Группа: Пользователи   |   Дата: 06 мая 2011  
Вот супер))лови +!
Комментариев: 338
Публикаций: 169
ICQ: 650073308
- 291 +
  Автор: Alex   |   Группа: Пользователи   |   Дата: 06 мая 2011  
Цитата: kasoi
$newsId = $_GET["id"];

ну у меня всё числами передаётся)) и там интвалов тьма)

ну а входящре данные фильтруются типичными обрезаниями кавычек и заменой их на хтмл симвлоы (к примеру " меняется на " )

на & quot; ***
Комментариев: 52
Публикаций: 1
ICQ: 646864908
- 55 +
  Автор: Совесть   |   Группа: Пользователи   |   Дата: 06 мая 2011  
=)))) cool
Комментариев: 22
Публикаций: 0
ICQ: --
- 19 +
  Автор: souelle   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
получается скриптом закрываются многие дыры?:)
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 06 мая 2011  
По ходу дела даже если форма заказа рекламы какойнить плохо обработана скрипт касого это закрывает. Касой я прав?
Комментариев: 16
Публикаций: 0
ICQ: 420666009
- 36 +
  Автор: Alexxl67   |   Группа: Пользователи   |   Дата: 06 мая 2011  
kasoi, мысль хорошая, посмотрел код но не проверял, я у себя в .htaccess прописал с переходом на 404...
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
Вот супер))лови +!
И тебе спасибо :) Seo-wm.ru был первым, на ком я проверил работу :)))) спс жамалсу

ну у меня всё числами передаётся)) и там интвалов тьма)

Ну использовать скрипт нужно для перестраховки, а не основной защиты

получается скриптом закрываются многие дыры?:)

Многие потенциальные!

По ходу дела даже если форма заказа рекламы какойнить плохо обработана скрипт касого это закрывает. Касой я прав?

ДА! проверяются все GET, POST запросы и все, что содержится в Cookies, но при условии, что проинклудили файл сперва! поэтому нужно инклудить почти в самый верх.
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 06 мая 2011  
Стои так хедер же сквозной в любом случае значит и на формы заказов потянеться
Комментариев: 5
Публикаций: 0
ICQ: 381092691
- 7 +
  Автор: Ametist   |   Группа: V.I.P.   |   Дата: 06 мая 2011  
Привет! Пишу спасибо и очень добрые слова :) Даешь трудовой Энтузиазм! wink
+
Комментариев: 95
Публикаций: 2
ICQ: 656527
- 355 +
  Автор: NGS   |   Группа: NGS Engine   |   Дата: 06 мая 2011  
Стои так хедер же сквозной в любом случае значит и на формы заказов потянеться
Да, если проинклуден в хедер, то и формы будут защищены

kasoi, мысль хорошая, посмотрел код но не проверял, я у себя в .htaccess прописал с переходом на 404...


это нен ужно, при прямом доступе к файлу небудет никаких ошибок или нарушения работы, увидишь лишь пустую страницу.

[size=5]ВНИМАНИЕ[/size]


Владельцы сборки JMS перекачайте скрипты, обнаружена небольшая несовместимость со страницой конкурсов на данном скрипте: (index.php?page=competition)
ссылка на файл не изменилась Скачать

Остальным переживать нечего и обновлять необезательно
Комментариев: 8
Публикаций: 0
ICQ: --
- 0 +
  Автор: alexcandr831   |   Группа: Пользователи   |   Дата: 07 мая 2011  
Благодарю!
Комментариев: 30
Публикаций: 0
ICQ: 561972020
- 31 +
  Автор: alek999s   |   Группа: V.I.P.   |   Дата: 07 мая 2011  
говорю спс) и плюсик те) wink
Комментариев: 3
Публикаций: 0
ICQ: --
- 1 +
  Автор: Ascaron   |   Группа: V.I.P.   |   Дата: 09 мая 2011  
У меня на МФС2.2 не работает, что нужно убрать-добавить? В некоторых файлах необходимо заменить: require_once('zsecurity.php'); на require_once('kasoi_security.php'); ???

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.