day & night

Бесплатный Инет средствами PHP, сказка или быль?
Дата обновления: , перейти к новому сообщению
#1
SpiderX



Siemensovod
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 962
Регистрация: 5.11.2004
Пользователь №: 1.716


Респектов: 26
-----X----




Случайно вышел на эту статью:

Бесплатный Инет средствами PHP

Может быть, эта статья и не совсем по тематике сайта, но я считаю, что она достойна вашего внимания. Если угодно, можете считать ее продолжением статьи про безопасность PHP. Она покажет, что PHP представляет собой определенную уязвимость в защите сервера. Итак, сначала вступление.

Я подключен к Интернету по выделенному каналу, т.е. плачу не за время, проведенное в Инете, а за трафик - количество скачанной и выкаченной оттуда информации. Среди прочих сервисов провайдер (назовем его www.prov.ru) предоставляет юзерам домашние странички с адресом вида www.prov.ru/user/; при этом пользователям разрешено выполнять скрипты на PHP, но с определенными предосторожностями - запрещен unlink() и, как следует отсюда, fwrite() (так называемый safe mode). Доступ к MySQL тоже не предоставляется. Одним словом - все как-то тухло. Убедившись, что при таких условиях невозможно заставить функционировать даже простейший счетчик, я решил воспользоваться хостингом от WallST. Было это с полгода назад, когда я только начинал знакомиться с PHP вот по этой книжке:

Но вот недавно мне в очередной раз отключили Инет за неуплату. Теперь я мог зайти только на www.prov.ru (в том числе и на домашние странички пользователей) и его поддомены - до них трафик не считается. И вот, после того, как я проглядел страницы всех юзеров и все поддомены, мне захотелось большего. И тут я вспомнил про одну интересную особенность функции fopen() - если в качестве параметра имени файла указать не локальный адрес (типа /home/user/file.ext), а удаленный (http://www.site.ru/page.html), то будет установлено HTTP соединение с www.site.ru, послан запрос на page.html и этот самый page.html будет скачан во временный каталог PHP! При этом юзеру, запустившему сей хитрый PHP скрипт, не засчитается ни байта трафика. Каково? Итак, если админы при конифгурировании сервака проглядели эту дыру... Ну-ка проверим!

-test.php-

$testpointer=@fopen("http://freephp.dax.ru/",r);
if($testpointer)
echo("works!!!");
else
echo("suxx sad.gif");
?>

-test.php end-

Естественно, скрипт вернул слово works wink.gif Я немедленно начал с дикими криками прыгать до потолка. Напрыгавшись, я стал думать, что можно извлечь из данной байды. И вот что придумал:

-surf.php-












$url="http://".$url;


$filepointer=@fopen($url,r);
$infa=fread($filepointer,10000000);
echo($infa);

?>



-surf.php end-


Этот скрипт позволяет бесплатно читать html страницы (естественно, без картинок, фреймов, флеша и прочей фигни). Минусы - неудобная навигация. Плюсы - бесплатно и быстро (напоминаю, что файлы грузятся не с африканского сервера, а с машины моего провайдера, до которого у меня 2mbit канал). Вволю начитавшись мануалов по PHP, разных статей и анекдотов, я решил послушать музыку. Здесь и возник очередной облом - когда я попробовал вместо .htm файла указать .mp3, Internet Explorer выдал мне набор бессмысленных символов. Я сохранил полученный файл на винт и в Блокноте отрезал от него кусок html кода (форма и т.д.). Полученный файл, естественно, и не думал играться в Winamp`е. Помозговав еще чуть-чуть, я набросал новый скрипт:

-mp3.php-


$url=getenv('QUERY_STRING');
$pointer=fopen($url,r);
$mp3=fread($pointer,15000000);
echo($mp3);
fclose($pointer);
?>


-mp3.php end-

Вызвал полученный скрипт вот так: www.prov.ru/user/mp3.php?http://www.mp3-warez....abase/song.mp3. Через полминуты 5-меговый файл скачался. Дальше - дело техники: в папке кэша IE (temporary internet files) находится по размеру, дате или имени наш файл (mp3.php) и переименовывается в pesna.mp3. Вперед к прослушиванию smile.gif

Итак, как видите, без PHP сейчас никуда smile.gif P.S. Статья была написана с целью показать наиболее распространенные ошибки админов. Эта может привести к огромному трафику, за который придется платить тому, у кого они арендуют канал. Будьте осторожны smile.gif

Источник: _http://shaxud.by.ru/php_0001.htm
User is offline
Go topGo end
 

Ответов(1 - 5)
19.02.2005 - 1:21
#2
Андрей



Unregistered














вот именно так и есть у меня но только использую халявную почту
Go topGo end
28.04.2005 - 15:45
#3
SPiRiT



профи!
Group Icon

Группа: Наши Люди
Сообщений: 1.098
Регистрация: 23.01.2005
Из: Краснодар
Пользователь №: 4.820


Респектов: 51
-----X----




объясните поподробней, что надо делать с этими скриптами!
плиз!
User is offline
Go topGo end
28.04.2005 - 16:26
#4
SpiderX



Siemensovod
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 962
Регистрация: 5.11.2004
Пользователь №: 1.716


Респектов: 26
-----X----




Там же всё чётко написано. Ещё раз и медленно. Если твой провайдер предоставляет возможность создавать свои локальные страницы (и поддерживает PHP) + на локале не считает трафик, то через fopen можно попытаться открыть URL.
Зарегся у прова на хосте и пробуй.
User is offline
Go topGo end
28.04.2005 - 17:36
#5
SPiRiT



профи!
Group Icon

Группа: Наши Люди
Сообщений: 1.098
Регистрация: 23.01.2005
Из: Краснодар
Пользователь №: 4.820


Респектов: 51
-----X----




ок, попробую!
User is offline
Go topGo end
17.09.2005 - 17:45
#6
DarkWire



Новичок


Группа: Пользователи
Сообщений: 7
Регистрация: 3.02.2005
Пользователь №: 5.688


Респектов: 0
----------


Предупреждений:


Вот сходный скрипт (viewpage.php):

echo(join(file($_GET['page']),''));
?>

Использовать так viewpage.php?page=http://ya.ru/

Вот тока с фреймами попа smile.gif Я в молодости баловался с PHP таким. Когда писал скрипт который позволял полноценно пользоваться инетом по PHP. Но так как интернет у меня не VPN - мне забить на них smile.gif
User is offline
Go topGo end

Topic Options
Сейчас: 27.04.2024 - 11:18
Мобильная версия | Lite версия