Главная Мой профиль Регистрация Выход Вход
Вт
17.10.2017
09:02
Приветствую Вас Гость | RSS ВходРегистрацияГлавная
Поиск
Друзья сайта
Опрос
Какой у вас процессор?
1. Intel Core 2 Duo
2. Не Intel у меня, ацтаньте!
3. Intel Pentium 4
4. Intel Core i7
5. Беспанятия :(
6. Ниже Pentium 4
7. Intel Core 2 Quad
8. Intel Core 2 Extreme
Всего ответов: 415
Статистика




Онлайн всего: 1
Гостей: 1
Пользователей: 0



Главная » Уроки » Класс 2

Localhost
Урок 1

Доброго времени суток, начинающие кулхацкеры! У меня было много идей по поводу того, с чего можно было бы начать первый урок во втором классе, но самой логичной мыслью из всех было начать со вступления! biggrin Итак, добро пожаловать во второй класс! Здесь вы научитесь основам основ веб-хакинга и, я надеюсь, это будет для вас действительно интересно! Конечно, обойтись без каких-либо вступительных уроков, имеющих исключтельно подготовительный характер, у меня не получится, но таких уроков будет совсем не много! smile Наше обучение во втором классе мы начнём с того что определим...
Наш путь в хакинге

В хакерстве есть два пути: веб-хакинг и крэкинг. Крекинг - это взлом и изучение софта, приложений: написание кряков, кейгенов и т.п. Этот путь довольно сложный, ибо нужно обладать хорошими знаниями языков программирования. Лично я пошёл сначала по пути веб-хакинга, так как он намного интереснее (на мой взгляд), и только недавно начал смотреть в сторону крэкинга (мало что в этом понимая xD). Веб-хакинг подразумевает взлом в интернете (что и понимается под словом "хакерство" чаще всего): это взлом почты, сайтов, форумов, соц. сетей, и т.д. Как вы уже могли догадаться, сначала я поведу вас именно путём веб-хакинга! Но сперва нам необходимо узнать и понять принципы работы всего Интернета: где находятся все эти веб-странички и что из себя представляет "Всемирная паутина".
Как работает Интернет

"Всемирная паутина" (она же World-Wide-Web и WWW) содержит множество серверов, имеющих свой IP и URL. Пользователи интернета могут подключаться к серверам и скачивать те файлы, к которым разрешён доступ из сети. Любая веб-страница - это файл, который скачивается с удалённого сервера и открывается браузером пользователя. Это упрощённая схема. На самом деле информация с одной страницы может содержаться на различных серверах, данные могут многократно проходить через прокси и скокс сервера (о них чуть позже) и огибать земной шарик пару раз, прежде чем достигнуть пользователя. biggrin
Поднимаем сервер на localhost-е

Внимание! Все, кто по каким-либо неведомым причинам не хочет пытаться разобраться в принципе работы и устройстве полноценного веб-сервера, могут скачать и в два щелчка установить localhost-сервер, а точнее платформу для веб-разработчиков Denwer
Прочитав урок далее, вы поймёте, как проверить работоспособность locahost сервера и как добавлять на него файлы. Забегая вперёд, скажу, что в случае с дэнвером вместо папки htdocs будет использоваться папка www. Когда установите Denver, он создаст свой виртуальный диск в "Мой компьютер". На этом диске в папке home -> localhost и найдёте папку www.
Даю ссылку на упрощённый аналог только потому, что пользоваться им на самом деле в разы удобнее, и при установке и настройке проблем не возникает. Но тем не менее... хочу акцентировать ваше внимание на том, что самое главное, что по моей задумке должно было быть извлечено из этого урока - это именно детальное понимание принципа работы сервера любого сайта.

Для того чтобы лучше понять как работает сервер, мы с вами поднимем (установим то есть =) локальный сервер на своём компьютере! Он не будет доступен из Интернета, только из локальной сети и будет носить скромное имя localhost-сервер. smile Делаем мы это не для баловства и не чтобы сказать другу: "А у меня свой сервер!", а чтобы мы в дальнейшем имели возможность запускать у себя на тачке php-скрипты. Дело в том, что php (он же пых-пых) - серверный язык программирования (то есть выполняется на сервере, а не у пользователя в броузере) и просто так запустить php-скрипт не получится. Нужно запускать его на сервере, который мы и установим! smile
Итак, нам нужно установить связку Apache+PHP+MySQL (Апач - сервер, пых пых - интерпретатор языка php, MySQL - базы данных). Всё это безобразие качаем с официальных сайтов:

  • Apache (httpd). В списке выбираем последнюю (по номеру) версию no_ssl. Нас интересуют установочники с расширением .msi
  • PHP. Качаем Installer последней версии.
  • MySQL. Уносим MSI Installer, соответствующей архитектуре вашей ОС: 32 или 64 bit.

В первую очередь запускаем установочник апача (Apache.msi), пропускаем лицензионное соглашение и список нововведений и видим окно, где нам предлагают ввести Network Domain, Server name и мыло. Вводим везде localhost (мыло: admin@localhost), выбираем опцию установки для всех, через 80 порт, как сервис. После установки стоит убрать апач из автозагрузки, куда он залазит без спроса (он ведь нам не каждый день нужен будет)! Проверим как всё работает... в адресной строке вбацаем localhost. Если всё будет работать - сразу сами поймёте wink
Теперь будем ставить php. Для этого просто папку PHP копируем в папку, куда установили апач. Теперь из этой папки (php) нужно файл php.ini-development скопировать в папку WINDOWS и переименовать в php.ini. Затем в нём (php.ini) найдите строку extension_dir и измените указанное там "C:/php5/ext" на путь_к_папке_с_апачом\php\ext (то есть адрес на вашем жёстком диске к папке ext, которая в папке php). Далее в папке с апачом откроем папку conf и в ней найдём файл httpd.conf. Открываем его блокнотом и ищем строку

Code
AddType application/x-gzip .gz .tgz

После неё на новой строке пишем:

Code
AddType application/x-httpd-php phtml php

Теперь почти в начале документа находим целый блок строчек, начинающихся с LoadModule. В конец этого блока с новой строки дописываем:

Code
LoadModule php5_module путь_к_папке_с_апачом\php\php5apache2_2.dll

Осталось только настроить параметр DirectoryIndex. Найдём её и отредактируем:

Code
DirectoryIndex index.html index.htm index.html.var index.php

Пора устанавливать MySQL! Запускаем установочник, выбираем полную установку (complete), по окончании установки ставим флажок "Configure the MySQL Server now". Выбираем расширенную конфигурацию, а затем ничего не меняем, а просто нажимаем кнопку далее, пока не дойдём до этапа выбора набора символов (character set). На этом этапе нам необходимо выбрать последний пункт и в выпадающем списке character set установить набор cp1251 (кириллица). Жмём далее и видим в следующем окне 3 флажка. Тут нам нужно снять второй и установить третий флажки (отключить автозапуск сервиса и добавить видимость bin-дирректории для виндосовской cmd). Далее нам предлагают установить пароль доступа к управлению MySQL. Обязательно ставим и запоминаем(!) этот пароль (не желательно оставлять поле пустым). Последний этап: тыкаем "Execute". Теперь нам надо отредактировать файл my.ini (он находится в папке, куда вы установили MySQL).
Сначала находим строку port=3306 (в разделе [client]) и после неё на новой строке пишем такое:

Code
character-sets-dir="путь_к_папке_куда_установили_MySQL\share\charsets"

Чуть ниже в документе у нас есть блок "[mysqld]". Вот в нём после строки port=3306 с новой строки (а точнее с двух строк) пишем текст:

Code
character-sets-dir="путь_к_папке_куда_установили_MySQL\share\charsets"
init-connect="SET NAMES cp1251"

Далее ищем строку default-storage-engine=INNODB и меняем в ней INNODB на MYISAM. Сохраняем изменения, закрываем документик.
Установка закончена! smile

Теперь выясним зачем мы всё это сваяли, как оно работает и работает-ли вообще... Зайдите в папку с апачом и найдите там папку htdocs. Это корневая директория, куда вы будете кидать все файлы, которые захотите открыть на локальном сервере (кстати, советую сразу сделать ярлык этой папки в каком-нибудь более доступном месте, потому что каждый раз лазить туда через "Мой компьютер" не очень удобно). Первым всегда открывается файл с именем index, если ничего другого не указано (файлом .htacces). Вот мы и создадим сейчас там файл index.php, содержимое которого будет таким:

Code

<?php
         print "Current PHP version: <b> ". phpversion() ."</b>";
          
         $link = mysql_connect("localhost", "root","YOURPASSWORD") or die("Could not connect"); //В этой строчке измените пароль доступа к mysql НА ТОТ, КОТОРЫЙ ВЫ ВВОДИЛИ ПРИ УСТАНОВКЕ MYSQL!!!
         if( !$link ) die( mysql_error() );
                
         $db_list = mysql_list_dbs($link);
                
         while ($row = mysql_fetch_object($db_list))        
         {
           echo "<h3>Database \"".$row->Database."\"</h3>\n";
           $result = mysql_list_tables($row->Database);        
                  
           if(!$result) die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() );
           else {
             while ($row = mysql_fetch_row($result))
             print "Table: $row[0]<br>";
             mysql_free_result($result);
           }
         }
         ?>

Теперь нужно запустить всё это хозяйство. Для этого в папке с апачом есть папка bin, а в ней файл ApacheMonitor.exe. Его тоже советую вынести ярлыком куда-нибудь, куда вы вынесли ярлык к папке htdocs. Запускайте эту программу. Вы увидите строку Apache 2.2 в списке сервисов (а у нас больше ничего и нет smile ). Жмём Start, а после того как сервер запустится нажимаем Services. В появившемся списке находим сервис MySQL и запускаем его. Если хотите, можете настроить его на автоматический запуск.
Наш localhost-сервер запущен! Впишите в адресную строку: "localhost", и перед вами окажется результат работы скрипта. Выглядеть всё должно примерно так:

Code
Current PHP version: 5.3.0
Database "information_schema"

Deprecated: Function mysql_list_tables() is deprecated in F:\Progs\Apache\htdocs\index.php on line 19
Table: CHARACTER_SETS
Table: COLLATIONS
Table: COLLATION_CHARACTER_SET_APPLICABILITY
Table: COLUMNS
Table: COLUMN_PRIVILEGES
Table: ENGINES
Table: EVENTS
Table: FILES
Table: GLOBAL_STATUS
Table: GLOBAL_VARIABLES
Table: KEY_COLUMN_USAGE
Table: PARTITIONS
Table: PLUGINS
Table: PROCESSLIST
Table: PROFILING
Table: REFERENTIAL_CONSTRAINTS
Table: ROUTINES
Table: SCHEMATA
Table: SCHEMA_PRIVILEGES
Table: SESSION_STATUS
Table: SESSION_VARIABLES
Table: STATISTICS
Table: TABLES
Table: TABLE_CONSTRAINTS
Table: TABLE_PRIVILEGES
Table: TRIGGERS
Table: USER_PRIVILEGES
Table: VIEWS
Database "mysql"

Deprecated: Function mysql_list_tables() is deprecated in F:\Progs\Apache\htdocs\index.php on line 19
Table: columns_priv
Table: db
Table: event
Table: func
Table: general_log
Table: help_category
Table: help_keyword
Table: help_relation
Table: help_topic
Table: host
Table: ndb_binlog_index
Table: plugin
Table: proc
Table: procs_priv
Table: servers
Table: slow_log
Table: tables_priv
Table: time_zone
Table: time_zone_leap_second
Table: time_zone_name
Table: time_zone_transition
Table: time_zone_transition_type
Table: user
Database "test"

Deprecated: Function mysql_list_tables() is deprecated in F:\Progs\Apache\htdocs\index.php on line 19

Если бы мы не установили пых-пых, то наш php-скрипт не выполнялся бы, и мы увидели бы не результат его работы, а сам скрипт. Так же при неправильно установленном или настроенном MySQL сервере, скрипт вывел бы сообщение об ошибке. Если это случилось, переустановите сервер заново! Итак, мы, наконец, имеем в своём распоряжении собственный (хоть и только локальный) сервер, на котором сможем тестировать php-скрипты, фейки и многое другое. Но самое главное - теперь у нас есть возможность лекго изучать php, используя наш сервер как тренировочную площадку!

Чему мы научились?
  • Узнали по какому из двух путей в хакерстве пойдём сначала
  • Поняли принцип работы web-а
  • Подняли локальный сервер у себя на машине.

Круг затронутых вопросов оказался не очень широким, но мы сделали одну очень важную вещь, которая ещё 100 раз пригодится нам в будущем - поставили localhost-сервер! Благодаря этому у нас открылся путь к многим новым темам (например, фейк) и к изучению первого языка программирования - php (а для кого-то может и не первого :))! Но всему своё время... ждите следующих уроков, задавайте ваши вопросы. До встречи на втором уроке!

Категория: Класс 2 | Добавил: M@ZAX@KEP (24.08.2009)
Просмотров: 24156 | Рейтинг: 4.9/8


Форма входа
Логин:
Пароль:
Меню сайта
Категории
Класс 1
Здесь учат самым элементарным вещам. Этот уровень необходимо посетить тем, кто ещё плохо ориентируется в компьютерах.
Класс 2
Здесь даются основные навыки хакерства. Этот класс для тех кто давно на "ты" с компьютерами, изучил винду вдоль и поперёк, а потом устал просто так сёрфить по инету и решил научится ещё чему-нибудь ;)
Уроки PHP
Мини-уроки php by JUMP
Мини-чат
    Все материалы на сайте предоставлены исключительно в ознакомительных целях.
     Администрация не несет никакой ответственности за последствия их использования.