Автор Тема: Php include() bug  (Прочетена 3042 пъти)

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Php include() bug
« -: Oct 09, 2007, 23:51 »
Значи ... споря си аз в един форум, че
Примерен код

include("contents/prefix_".$GET['a']);


е доста сигурно и не подлежи на "../../../" експлойти, защото prefix_* директория не съществува.
НО... оказа, се че тъпото PHP не се интересува дали съответната директория съществува щом може да я игнорира заради ../ . Явно някаква предварителна оптимизация на пътя се прави преди четенето на файла, при което се губи грешката от несъществуването на някоя от директориите.

Това в шела или Perl не върви - изплюва веднага грешка, но PHP-то е с особено мнение по въпроса ...
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Php include() bug
« Отговор #1 -: Oct 10, 2007, 07:14 »
Мдаа, изродско.

Ако говорим принципно си е малко рисковано да ползваш точно такъв код, но проблема в php-то си съществува...
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Php include() bug
« Отговор #2 -: Oct 10, 2007, 09:40 »
Това минава в PHP?

Много странно '<img'>
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Php include() bug
« Отговор #3 -: Oct 10, 2007, 13:20 »
@Hapkoc
Аз само за ../.. спорех, ама се оказах "крив"

@gat3way
"странно" '<img'> то си е направо идиотско '<img'>

Както вика един приятел - може да не е bug, а feature '<img'> '<img'>

УжасТ ... бях толкова сигурен, че пуснах един такъв ПХП файл да ми хакват сървера '<img'> По едно време почнах бая се шашнах ...



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

eniac111

  • Напреднали
  • *****
  • Публикации: 263
  • Distribution: Debian / Ubuntu
  • Window Manager: Enlightenment DR16 / KDE4
    • Профил
    • WWW
Php include() bug
« Отговор #4 -: Oct 16, 2007, 18:18 »
Че на кой му пречи да сложи
Примерен код
if(strpos($page, "..") === true) {
die();
}
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Php include() bug
« Отговор #5 -: Oct 16, 2007, 19:04 »
Много забавен въпрос '<img'>

Ако хората винаги пишеха "сигурен" код нямаше да се случват сума ти глупости '<img'>
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Moderator
  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Php include() bug
« Отговор #6 -: Oct 16, 2007, 19:42 »
Цитат (eniac111 @ Окт. 16 2007,18:18)
Че на кой му пречи да сложи
Примерен код
if(strpos($page, "..") === true) {
die();
}

1. Кодът ти е грешен '<img'> - die() *никога* няма да се изпълни '<img'>
man strpos '<img'>
2. Аз просто съм възмутен, огорчен и потресен от безумието на тази PHP функция '<img'> Иначе валидации, санитизации и т.н. - бол могат да се направят '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Include Directive
Преводи на документация
kennedy 0 3565 Последна публикация Apr 27, 2002, 11:38
от kennedy
#include <hashmap>
Общ форум
aSmith 2 2020 Последна публикация Dec 27, 2004, 12:17
от aSmith
PHP include
Web development
svincho 4 2253 Последна публикация Aug 17, 2005, 08:28
от svincho
Http грешка при външно include?
Web development
Naka 11 3735 Последна публикация Apr 21, 2010, 00:14
от VladSun
Проблем с настройването на Proftpd с include mysql.conf
Настройка на програми
djpatzo 8 1731 Последна публикация May 24, 2010, 13:26
от djpatzo