|
|
|
|
|
для: BinLaden
(11.01.2009 в 21:33)
| | Тогда array("/../", "../", "/..", ".."); | |
|
|
|
|
|
|
|
для: FUNC
(11.01.2009 в 20:54)
| | >Я пишу свою cms
>Ну как вданный момент можно защититься от этого эксплоита. Уже 15 тыс. писем пришло на почту.
странно... как же вы пишете свою cms, если не знаете как защититься от простейшей уязвимости?
забудьте про файлики. попробуйте http://ru.wikipedia.org/wiki/SQL | |
|
|
|
|
|
|
|
для: FUNC
(12.01.2009 в 09:09)
| | - | |
|
|
|
|
|
|
|
для: AcidTrash
(11.01.2009 в 22:14)
| | Да на файлах. | |
|
|
|
|
|
|
|
для: Trianon
(11.01.2009 в 21:45)
| | Тоесть имеешь ввиду проверять имеется ли такое название папки в каталоге content? | |
|
|
|
|
|
|
|
для: FUNC
(11.01.2009 в 20:25)
| | Странная CMS, контент на файлах? Раньше возможно и использовалась, или автор не знал, что такое БД. | |
|
|
|
|
|
|
|
для: FUNC
(11.01.2009 в 20:54)
| | Нужно проверять содержимое $_GET['content'] на принадлежность множеству имеющихся у Вас страниц. Перед тем, как использовать . | |
|
|
|
|
|
|
|
для: Саня
(11.01.2009 в 21:15)
| | После удаления ".." в тексте не останется подстрок "../", "/../", "/..". | |
|
|
|
|
|
|
|
для: FUNC
(11.01.2009 в 20:54)
| |
<?
$_GET['content'] = str_replace(array("..", "../", "/../", "/.."), "", $_GET['content']);
// соответственно в именах реальных файлов и папок не должно быть ".."
if ( !is_dir($_GET['content']) ) exit("DIE!!!");
|
Ещё не мешает защититься от такого "site.ru/index.php?content=../../../". | |
|
|
|
|
|
|
|
для: Саня
(11.01.2009 в 20:45)
| | >Поможет смена CMS.
Я пишу свою cms
Ну как вданный момент можно защититься от этого эксплоита. Уже 15 тыс. писем пришло на почту. | |
|
|
|
|