Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/110: Рейтинг темы: голосов - 110, средняя оценка - 4.88
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
1

Проверка сайта на уязвимость

04.07.2012, 00:20. Просмотров 19980. Ответов 13
Метки нет (Все метки)

Скажите пожалуйста как можно проверить свой сайта на уязвимость, например на ввод вредносного кода(HTML тегов, PHP кода, Javascript кода и MYSQL кода) и если сайт не защищен то может ли взломщик ввести этот код через адресную строку и тем самым навредить, скажем получить доступ к базе данных или это можно сделать только через форму ? Просто у меня есть форма для отзывов и я хочу защетить ее от ввода этого кода, что мне посоветуете в этом случае, есть ли в PHP для этого какие нибудь функции ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 00:20
Ответы с готовыми решениями:

Уязвимость сайта
Всем привет! Сайт сделан на старой самописной CMS. На формуме сайта стали...

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

Уязвимость php файла
Здравствуйте Уважаемые! Есть файл myfile.php, и в начале этого файла стоит...

Проверка доступности сайта
Добрый день друзья. Мой код дергает с энных сайтов кое-какие файлики, что лежат...

Проверка сайта на уязвимости используя http запросы
Привет людям! Хочу проверить сайт на уязвимости, нашла в инете сервисы для...

13
Василий Макогон
270 / 226 / 11
Регистрация: 20.04.2012
Сообщений: 820
04.07.2012, 10:42 2
http://phpfaq.ru/safety
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
04.07.2012, 20:27  [ТС] 3
а я вот в интернете нашел что можно с помощью .htaccess защитить сайт от sql инекции вот таким кодом
SQL
1
2
3
4
5
6
7
RewriteEngine ON
Options +FollowSymlinks -Indexes
RewriteBase /
RewriteRule ^.htaccess$ -[F]
 
RewriteRule ^(news+)/{0,1}$ news.php?module=$1
RewriteRule ^(news+)/(a-z]+)/([0-9]+)/{0,1}$ news.php?&module=$1&VIEW=$2&id=$3
подскажите пожалуйста где и как правильно создать файл .htaccess в XAMPP ? потому что я его так и не создавал ни когда, и действительно ли это поможет ?
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
04.07.2012, 23:39 4
gigs, проверить можно. Платно. Ищи сервисы, только сначала отзывы смотри.

Есть ряд простых рекомендаций, следуя которым у тебя не будет XSS или SQL injection.
Например от большинства XSS, основанных на случайной ошибке верстальщика, спасет использование шаблонизатора с экранированием по умолчанию. А против SQL injection спасут prepared-запросы.

Никакие "универсальные скрипты защиты" не помогут. Иначе бы их функционал давно бы в языки внедрили. Но этого не сделали(т.к. такое невозможно).
0
r36
236 / 233 / 42
Регистрация: 16.03.2011
Сообщений: 750
05.07.2012, 10:48 5
.htaccess нужно создать в корневом каталоге.
Пример использования:
Код
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteRule r_(\d+).html 1.php?id=$1
при обращении к файлу r_36.html переадресует на 1.php?id=36, при обращении к r_'36.html получим страница не найдена так как рег.выражение не совпадает тем самым получим передачу только цифр.
Код
RewriteRule r_([1-9]{1}\d{0,3}).html 1.php?id=$1
пропускаем только цифры длиной не больше 4.

В старых версиях php 4 версий и ниже существовали уязвимости в стандартных функция фильтрации слеширования и др. возможно остались ещё другие уязвимости о которых я ни знаю в новых версиях php. Если даже по максимум защитится, но на хостинге допустим будет уязвимость или слабый пароль на ftp это ни от чего не спасёт. При проверки на уязвимости нужно проверять все способы. Защита мала эффективна от специалиста.
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
05.07.2012, 20:34  [ТС] 6
Спасибо, я так понял что данные нужно пропускать через mysql_escape_string и strip_tags, а как сделать так чтобы у меня вместо: h**p://localhost/mysite/view_news.php?id=2 было так:
h**p://localhost/mysite/view_news.php/2/
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
05.07.2012, 21:00 7
и strip_tags
нет.
Либо шаблонизатор, либо вручную через htmlspecialchars.
1
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
05.07.2012, 21:05  [ТС] 8
а как на счет второго вопроса ?
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
05.07.2012, 21:21 9
а как сделать так чтобы у меня вместо: h**p://localhost/mysite/view_news.php?id=2 было так:
h**p://localhost/mysite/view_news.php/2/
все запросы к файлам, которые не существуют, редиректишь вебсервером на index.php и разбираешь полученный запрос роутером.

есть еще говнокодистый вариант, где роутинг производится правилами вебсервера, но его не используй.
1
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
05.07.2012, 21:28  [ТС] 10
я извеняюсь но мне новичку что то не очень ясно как это сделать, можите росказать по конкретней как это делать пожалуйста ?
0
r36
236 / 233 / 42
Регистрация: 16.03.2011
Сообщений: 750
05.07.2012, 21:36 11
Код
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ 1.php?q=$1 [L,QSA]
если помогло жмите спасибо. Много интересного в поисковике по запросу "чпу htaccess"
0
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
05.07.2012, 21:59  [ТС] 12
нет всеравно выводит h**p://localhost/mysite/view_news.php?id=2
0
OnYourLips
506 / 356 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
05.07.2012, 22:22 13
gigs, логика приложения делится на следующие части:
1. Сначала работает роутер(фронт контроллер). Он смотрт на входящие параметры и определяет, какой обработчик будет действовать.
Т.е. если он увидит адрес "/posts/create" и содержимое {name: 'foo', content: 'bar'}, то вызовет действие create обработчика posts, которому передаст параметры {name: 'foo', content: 'bar'}.
Связь параметров с действием ты задаешь сам.
2. Обработчик(контроллер). Его задача - взять данные от пользователя и передать их логике, после чего вызвать отображение. Больше ничего в нем быть не должно, только работа с HTTP.
Грубо говоря тут несколько строк, хотя новички любят пихать сюда всю логику, не выделяя е в отдельный слой.
Пример кода:
Код
новости = Новости.сортируяПоДате.страница(параметры[номер_страницы])
ВызватьВид(новости, "шаблон_новостей")
Т.е. я не шутил, когда говорил про пару строк, я имел ввиду это буквально: 1-10 строк.
3. Логика(модель). Этот код ничего не знает о запросах, куках и т.д., ведь этим занимается обработчик. Но данный код выполняет всю бизнес-логику приложения. Вся работа с файлами, базой, алгоритмами тут.
4. Отображение(вид). Занимается отображением данных, полученных их контроллера. Естественно, может содержать логику отображения.

Данная схема называется MVC. Это шаблон проектирования, и смысл его именно в разделении логики на 3-4 части.

Добавлено через 3 минуты
нет всеравно выводит h**p://localhost/mysite/view_news.php?id=2
Ты сам должен делать ссылки на нормальный адрес.
1
gigs
8 / 9 / 1
Регистрация: 21.12.2011
Сообщений: 398
05.07.2012, 22:25  [ТС] 14
Спасибо понял
0
05.07.2012, 22:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2012, 22:25

Уязвимость веб сервиса
увидел в одной старой теме о том что на сайте были открыты рут пути...

Уязвимость в коде убрать
Здравствуйте. Есть две SQL базы на одной висит форум на другой скрипт для...

Уязвимость сайта
Приветствую. Ребята помогите найти на моем сайте уязвимости. Просто не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru