Твой софтовый форум > WeB - Developments > Apache (php + Perl) + FTP + MySQL

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

,

сказка или быль?

Дата публикации: 17.09.2005 - 17:45
SpiderX
Случайно вышел на эту статью:

Бесплатный Инет средствами 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
Андрей
вот именно так и есть у меня но только использую халявную почту
SPiRiT
объясните поподробней, что надо делать с этими скриптами!
плиз!
SpiderX
Там же всё чётко написано. Ещё раз и медленно. Если твой провайдер предоставляет возможность создавать свои локальные страницы (и поддерживает PHP) + на локале не считает трафик, то через fopen можно попытаться открыть URL.
Зарегся у прова на хосте и пробуй.
SPiRiT
ок, попробую!
DarkWire
Вот сходный скрипт (viewpage.php):

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

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

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


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Бесплатный Инет средствами PHP
SoftoRooM © 2004-2024