IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Веб-программирование (http://www.imho.ws/forumdisplay.php?f=29)
-   -   По поводу хакерства РНР сайтов (http://www.imho.ws/showthread.php?t=54061)

Drualex 17.03.2004 18:06

По поводу хакерства РНР сайтов
 
Я тут что то много наслышан о такой вот проблемме(хакерства), то что сайт написанный с использованием РНР технологии, легко ломается данной прослойкой населения нашей планеты Вот и решил написать этой пост, который бы был целиком и полностью был бы посвящен этой теме.
ЗЫ Очень бы хотелось услышать, как усложнить работу хакерам, что надо использовать, что не надо и т.д.
Кстате, на сколько лучше выносить РНР файл(чисто РНР), и интегрировать его в индех.РНР, т.е. что бы было 2 разных файла???
С уважением, не сочтите за оффтоп.

AleXXXSoft 17.03.2004 18:46

если руки не кривые, если руки не кривые у хостерского админа - то все это нереально.

BiГ 17.03.2004 21:49

Если программер - отчасти параноик ... думаю таких большинство в веб-сфере (к таким и я отношусь:rolleyes: ) то можно сказать, что защита скриптов будет на достаточно хорошем уровне ... :biggrin:

А вообще для таких делов есть специальная литература ...

Repressor 17.03.2004 23:17

Лазейку всегда можно найти... Если защитить грамотно (почитать литературу по этому вопросу), то малолетки, начитавшиеся Баг-Траков, тебе будут не страшны. А серьезный хакер едва ли возьмется за дефейс первого встречного сайта, если ему не сделают заказ. Для этого нужно кому-то сильно насолить. ;)

hempsmoke 18.03.2004 00:13

Цитата:

BiГ:
таких делов есть специальная литература
Цитата:

Repressor:
почитать литературу по этому вопросу
что посоветуете прочесть? ;)

Repressor 18.03.2004 00:18

hempsmoke
Это уже в раздел "Электронные книги"
*сказал Repressor, не зная как отмазываться*
:biggrin: :biggrin: :biggrin:

FantomIL 18.03.2004 00:24

Цитата:

Первоначальное сообщение от hempsmoke
что посоветуете прочесть? ;)
Для начала советую почитать книгу Криса Касперски "Техника сетевых атак" и почаще посещать проект www.void.ru
Написано не занудно и очень понятно.:)

InsaneX 18.03.2004 00:25

dlya nachala chitaem vot eto: http://www.php.net/manual/en/security.index.php

hempsmoke 18.03.2004 02:30

Repressor
:)
FantomIL
пасиб. буду изучать.
InsaneX
я просто не люблю читать много и долго на иностранном с компа. :)

Добавлено через 14 минут:
FantomIL
клевый ресурс! спасибо!
5! :yees:

FantomIL 18.03.2004 12:54

Рад стараться :)
Вот держи еще один http://www.infosec.ru/press/pub_main.html
Этот чуть понуднее, но тоже ничего

hempsmoke 30.05.2004 22:40

что-то я немного не догоняю.. точнее совсем не догоняю:
зачем делать проверку переменных $_POST['act'] ... она не работает...

if ($_POST['act']=="delete") unlink("file.txt");

по идее должно работать только если переменная послана методом post из формы. Но набирая в адресной строке index.php?act=delete удаляет файл начисто...

просветите пожалуйста. меня это очень волнует.!
Спасибо.

Sheryld 31.05.2004 01:47

а вот я бы посоветовал взять что-нибудь от wrox серии professional(там даже примеры кода написаны весьма проффесионально). ну а самые распрастраненные ошибки вы можете найти в многочисленных статьях, на соответствующих сайтах.

2hempsmoke

а register_globals=0ff ? и какая версия php.

если в php.ini
register_globals=off

Код:

if (isset($HTTP_POST_VARS['act']) && $HTTP_POST_VARS['act']) == "delete")

VIRT 31.05.2004 10:46

$_POST['act'] & $HTTP_POST_VARS['act'] разве не одно и тоже?

hempsmoke 31.05.2004 12:31

Sheryld
rgister_globals = off но причем здесь это? эта директива не объявляет переменные как глобальные, их к ним надо обращаться через массивы _POST _GET _SerVER и т.д. важна суть. Т.е. я так понимаю, что если нет аутентификации, то пользователь, знающий, что по такому -то адресу произойдет удаление, но доступа к форме с кнопкой delete у него нет, он легко может снесьти все к черту через адресную строку...

VIRT
Одно и тоже. $HTTP_POST_VARS['act'] - более древний подход.

Sheryld 31.05.2004 15:17

это смотря в какой версии(я про длинные и короткие имена массивов).

register-globals=off

нельзя обращаться к переменным как к глобальным. пример:

myindex.php?param=1
Код:

echo $param1 //ничего
а если бы было включено, то:
Код:

echo $param1 //1
теперь про get & post
про get
если знать имена переменных которые идут через get(а это раз плюнуть) и скрипт написан так, что никто не проверяет пользователя, а просто делает свое дело, то естественно любой может через адресную строку сделать все-что угодно.

про post
метод можно проверять так:
$HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST' - но это при условии, что у вас apache, хотя все нормальные серверы по идее должны поддерживать эту переменную.

если все удаляется через POST метод, то GET здесь не прокатит в любом случае. если только у вас где-то ошибка. но аутентификацию нужно сделать обязательно. больше того, обязательно нужно проверять ещё и откуда к вам пришли, т.е. IP и REFERRER. но и этому не стоит доверять(хотя ипользовать нужно). лучше сделать классический mixed mode или аутентификацию на базе средств ОС.

mixed mode заключается в том, что после успешной проверки логина и пароля(например через базу), вам выдается и записывается(в базу) уникальный ID. а когда вы "ходите" по страницам, он каждый раз проверяется(например как скрытое поле в форме). т.е. значения и на странице и в базе должны совпадать. а когда вы делаете "выход" значение в базе аннулируется.

hempsmoke 31.05.2004 21:17

Цитата:

Sheryld:
$HTTP_SERVER_VARS['REQUEST_METHOD'] == 'POST'
а ведь можно не проверять метод, если проверяешь саму переменную $_POST['act']. правильно?

Цитата:

Sheryld:
обязательно нужно проверять ещё и откуда к вам пришли, т.е. IP и REFERRER
про реферала понятно - мы проверяем, что запрос пришел со страницы с формой. так? а как проверить ip да и зачем? если он каждый раз у всех разный..?

аутентификация есть.

aoxyz_30330 01.06.2004 05:51

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

а еще есть такая штука как бан, где тоже адрес роль играет ...

и кстати реферер не обязательно будет показан. как гласит дока к пхп, ета штука сильно зависит от браузера ...

Sheryld 01.06.2004 13:16

я же написал что проверять надо, а доверять не стоит. по ip проверка уместа тогда, когда админ/менеджер имеет например статический ip, а это не редкость сегодня.

hempsmoke 01.06.2004 18:42

Цитата:

Sheryld:
админ/менеджер имеет например статический ip, а это не редкость сегодня
это да..... не догнал сначала... спасиб!


Часовой пояс GMT +4, время: 10:31.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.