Теоретические основы хакинга
Нет тебе респекта, чел, если ты решил прочитать мою статью, чтобы поднять свой уровень знаний)). Возможно, он настолько низок, что ты не понимаешь даже те статьи, которые лежат на портале под лейблом "Новичкам". В таком случае я хочу сказать, что ты - ламер, и не стоит думать, что ты станешь крутым, прочитав эту и другие статьи. А к статусу "ламер" тебе придётся привыкнуть, ты ещё долго таким будешь. Но не стоит краснеть, через это прошли все, но напрячься придётся. Меня зовут DrWeb, я помогу тебе перейти тот барьер, через который в мои времена)) пройти было гораздо сложнее. Возьми толковый словарь и читай внимательно, перечитывай много раз, практикуйся. Удачи!Выполняем команды
Сейчас ты сидишь в ОС Windows. Многие программы являются консольными, или терминальными, что не позволяет наслаждаться их интерфейсом и функциональностью сразу после шелчка на иконке. Для этого существует программа, у которой есть собственные команды, предназначенные для работы с программами и данными на компьютере. Для Windows XP это программа cmd.exe, расположенная в директории системных файлов Windows в подкаталоге system32. Для Windows 98 - это программа command.com, расположенная в корне диска с ОС. Быстрый запуск программы можно осуществить след. обр.: Пуск--Выполнить--Ввод без кавычек "cmd"--ok. После запуска откроется командная строка (консоль, терминал, cmd). Чтобы узнать какие есть команды, вводим help. Для получения информации о какой-то конкретной команде (её формат, параметры) дополняем интересующую нас команду символами /?. Например, copy /? или help /?. Если в формате команды параметры указаны в квадратных скобках, значит, они не обязательны. Посмотрим информацию о команде help. Введём help /?. На экране появится формат: HELP [команда]. Это значит, что команда help может выполнятся без параметра, просто: help. А если мы хотим получить помощь по какой-либо команде программы cmd (например, cd), то должны ввести: help cd или же help help. Теперь ты должен сам научиться свободно работать с файлами из командной строки. Полученных знаний для этого хватит. Скажу только, что запуск исполняемого файла из текущей директории (она всегда показывается на экране перед знаком >, например, C:>) осуществляется простым вводом его имени, без команд, а запуск исп. файла не из текущей директории осуществляется так же, только с указанием полного пути: c:\windows\system32\calc.exe. Если в указываемых именах файлов или директорий содержатся пробелы, то путь файлу надо брать в двойные кавычки: "c:\documents and settings\qwe".
Вся правда об IP
Ты задаёшься вопросом об IP-адресе: для чего он, как он присваивается, где он регистрируется, как его узнать, что можно сделать, зная его, что могут со мной сделать после хулиганства в Сети, что нужно делать, чтобы его не узнали? Если нет, то пропускай этот топ, иначе читай, но имей ввиду, что я не буду объяснять тебе тонкости протокола.
IP-адрес нужен для осуществления передачи данных сети. Ты сёрфишь в инете, качаешь софт, разговариваешь по асе, имейлу etc - во всех этих случаях передаются данные, и это нельзя осуществить без уникального идентефикатора - ip-адреса. Почему уникальный? Да потому, что он один такой в интернете в определённую секунду, и знай, что, пока ты в инете, например, под айпи-адресом 81.123.200.4, то больше кроме тебя нет никого с таким адресом.
Присваиваивается айпишник сразу же после подключения к инету, как бы ты это ни делал: ISDN, ADSL, Dial-Up, Wi-Fi, GPRS. В Европе самым распространённым способом подключения является диалап, т.е. через обычный модем и телефонную линию (не путать с ADSL). Ты коннектишься, и тебе выдаётся айпи. Для тебя этот айпи сейчас является внешним (но зачастую он не является внешним для Интернета, т.е. в инете ты под другим IP). Определить ip, выданный провайдером можно, набрав команду в cmd: ipconfig. Рядом со строкой "IP-адрес....." показан твой IP.
Если твой IP - динамический (так обычно), то при каждом коннекте к провайдеру последний выдаёт тебе новый ip, а старый IP может затем принадлежать, напр., твоему соседу. Каждый, вновь полученный IP, регистрируется у провайдера в соответствии с временем, причём не тем, что тикают у тебя под ухом, или на экране монитора, а с часами, которые у них. Также в регистрационный лог заносится номер твоего телефона (определители стоят сейчас на всех провайдерах, причём обмануть их невозможно). Ну и, ест-но, регистрируется время отключения от инета, т.е. с каких пор ты не являешься обладателем этого ip. Это - тот минимум, что заносится в лог прова при диалап-подключении. Как видишь, есть всё, чтобы узнать, ты ли в определённый момент времени залезал на какой-либо сайт, а также полный домашний адрес и паспортные данные того, на чьё имя зарегистрирован телефон, с которого был "звонок в интернет".
Теперь о том, как же изменить свой IP. Изменить свой IP нельзя, иначе у интернета появилась бы большая проблема, которая привела бы к разрухе, если не создать новый протокол. Зато можно сделать так, чтобы в логах серверов, на которых ты побывал, оставался не твой IP (есессно, на те самые логи провайдера, которые сохраняются при подключении к инету, это не действует). Осуществить такое можно с помощью прокси (proxy) или сокетов (socks). Необходим какой-либо прокси-сервер. Программа, предварительно настроенная на использование прокси(например, твой браузер), сначала соединяется с прокси-сервером, он выполняет твою команду (например, скачать файл, и скачивает его сначала себе), а затем отсылает тебе результат выполнения команды (в нашем случае передаёт тебе файл). А в логах сайта, с которого был скачан файл, остаётся IP-адрес прокси-сервера, а не твой. С сокетами всё аналогично. Проблема в том, что при ипользовании proxy/socks (в отличие от VPN, где трафик шифруется) огромный проигрыш во времени. Чтобы показать тебе отличия прокси от сокс, я приведу тебе вырезку своего же поста в форуме:
"
Прокси и сокс не составляют друг другу конкуренцию, а прекрасно сочетаются вместе. В ситуации, когда необходимо без гемора зайти анонимно на какую-то страничку, можно просто прописать новый прокси в настройках браузера, или же вообще использовать CGI-PROXY. Если нужно достигнуть анонимности на долгое время, причём не частичной (один только браузер), а полной, то удобней настроить СОКС сразу на несколько приложений и включать их по мере необходимости. Также, если есть сетевое приложение, не поддерживающее настройку PROXY, единственный выход - SOCKS.
Дополнительная информаци об анонимности и настройке proxy and socks тут:
http://antichat.ru/txt/old/anonumus.shtml
http://antichat.ru/txt/old/socks.shtml
".
Теперь поговорим о том, как узнать IP своего врага. Если компьютер твоего врага используется в качестве веб-сервера в интернете (у него установлен HTTP-сервер) и имеет своё зарегистрированное доменное имя (т.е. к нему можно обращаться не просто по IP, но и по имени, например, www.hackzona.ru), то узнать его IP можно, выполнив команду: ping www.hackzona.ru. Если же твой враг к таким не относится, то можно сделать с помощью простого мыльного трояна: ты конфигурируешь троянский сервер, чтобы он отсылал IP врага на твой имейл, подсовываешь его жертве, как только после запуска троянского сервера жертва выйдет в инет, так сразу же на твоё мыло отошлётся нужный IP жертвы. Только не забывай, что IP может быть динамическим, и жертва может быть уже в оффлайне, когда ты будешь пытаться её взломать. Есть, конечно более рациональные способы узнать IP, но они сложны, чтобы использовать их на данной стадии обучения.
Зная IP жертвы, можно её взломать. Под взломом подразумевается доступ к файлам жертвы. Не могу не упомянуть взлом с помощью троянов (не мыльных) и сканеров расшаренных ресурсов. Трояны: файл-сервер настраиваешь с помощью файла-конфигуратора, чтобы при запуске первый отсылал на указанный e-mail IP жертвы; сервер даешь жертве, она запускает файл, выходит в онлайн; ты получаешь письмо с IP-адресом жертвы, запускаешь у себя файл-клиент, в параметрах подключения указываешь украденный айпишник, подключаешься и управляешь компьютером жертвы (возможности упр-ия ограничиваются функциями трояна). Расшаренные ресурсы (РР). Многие люди, у которых есть локальная сеть, открывают доступ к файлам, чтобы ими можно было управлять с другого компьютера локальной сети. Но если доступ открывается, то он открывается и для любого компьютера сети Интернет! То есть каждый может подключиться и работать с чужими файлами. Для ограничения такого доступа ставятся пароли, но часто и не ставятся:) Для обнаружения расшаренных ресурсов сушествуют сканеры. Самым удобным и быстрым является на данный момент Essential Net Tools. После нахождения РР в этой проге их можно сразу подключить. Бесплатным, но медленным аналогом является XSharez. Также есть Legion - старичок, который сканирует быстрее XSharez, но является платным, как и Essential Net Tools, но не имеющим функции подключения РР. Эти два способа взлома хоть и практикуются до сих пор, но считаются не актуальными. Я расскажу о третьем способе. Он заключается в использовании дыр в ПО. Поскольку речь идёт о взломе через интернет, то скажу следующее. Программы, драйверы, системные модули, использующие сеть, могут иметь уязвимости. Глупый пример, но ты сможешь понять: интернет-браузер "Ивановец" при обработке строки, полученной с сокета (который всегда находится в режиме ожидания соединения), и имеющей в теле служебную команду exit;, переходит в режим выполнения команд командной строки Windows (тот самый cmd). Производители браузера это не учли, но это баг. Мы, заранее зная такую уязвимость, составляем такой запрос, что в передаваемой строке вместо предполагаемых служебных команд браузера "Ивановец" пишем следующее: exit;dir. Браузер увидит exit;, перейдёт в другой режим и выполнит команду командной строки dir. Т.о. мы получим список файлов и папок в данном каталоге компьютера жертвы через дырку в браузере "Ивановец". А строка exit;dir, которую мы составили для взлома, будет называться эксплоитом (exploit, сплойт). Правда спллойты обычно публикуются в виде программ, которые сразу же за тебя всё далают: подключаются, посылают команды, обрабатывают ответ etc. Сплойты на серьёзнейшие уязвимости распространённых программ распространяются, помимо всего, в откомпилированном и готовом к запуску в ОС Windows виде. Но так принято, что все сплойты распространяются в виде исходников, которые нужно предварительно откомпилировать. Компиляция тоже доставит хлопот, если авторы сплойтов специально допускают ошибки в некоторых местах и ты не знаешь языка, на котором написан эксплоит. Сплойты чаще всего пишутся на C/C++, PERL, PHP и на многих других языках, в зависимости от области применения слойта. Думаю, сейчас уже пора попробовать что-нибудь взломать. В ОС WinXP <= SP1, а также некоторых версиях Win2000 и WinNT существует серьёзная уязвимость, открывающая полный удалённый доступ к файлам пользователя. Под эту уязвимость написан эксплоит kaht2.exe. В пору найти документацию к kaht2, скачать сам эксплоит и попробовать взломать с его помощью.
А как же взламываются сайты?
Сайт - это тот же компьютер в сети, который также физически где-то расположен. Твой компьютер тоже может им быть, если установить на него HTTP-сервер (программа такая), и зарегистрировать доменное имя (это условие необязательно, т.к. в случае отсутствия доменного имени на сайт можно будет заходить по внешнему IP). Вот ты, собсно, и получил почти весь ответ на вопрос. Но количество и разнообразие ПО на сайтах гораздо больше, отсюда и вероятности наличия "дыр" тоже больше. На этом, наверно, про взлом через баги, допущенные производителями ПО, я закончу и расскажу про баги, которые допускают сами пользователи, при этом становясь жертвой взломов. Чтобы стало ясно, сначала скажу, что любое ПО напрямую взаимодействует с пользователем, при этом зачастую позволяя создавать что-то своё. Это самоё "своё" пользователи как раз-то и не могут создать по-человечески, без дыр. Здесь много моментов, но я остановлюсь на самом часто применяемом. HTTP-серверы, в зависимости от их возможностей, позволяют использовать на сайтах специальные скрипты: CGI (они могут быть написаны почти на всех языках, в зависимости от реализации их поддержки сервером), PERL, PHP, ASP и мн.др. Эти скрипты коряво пишут пользователи, а хакеры, примерно предполагая что в них написано (т.к. обычным скачиванием их просмотреть нельзя, не имея прав), посылают этим скриптам обычные запросы, слегка изменённые для тех или иных целей. Вот об этом-то и пишет куча статей на портале, поэтому я тебе рассказывать о подробностях не буду.
Ну и последний способ, который называется "грубая сила" (brute force). Это перебор паролей к какому-либо сервису, предоставляющему пользователю определённый доступ. Например, на компьютере установлен FTP-сервер, который держится только по надобности администратора. FTP-сервер предоставляет доступ к файлам на компьютере, пароль для входа знает только админ. Ты берёшь какой-либо брутфорсер FTP с большим словарём (списком) паролей, и он начинает последовательно, один за другим, подбирать пароль к FTP.
Как взламываются электронные почтовые ящики (e-mail accounts)?
Для этого сначала надо понять принципы работы эл.почты. Для обработки писем используется SMTP-сервер - программа, которую также может установить себе любой желающий. Это значит, что для взлома почтового ящика (возможности управлять письмами чужого аккаунта) достаточно взломать сайт, на котором висит SMPT-сервер (если база данных аккаунтов расположена там же). Это самый хороший способ. Минус - тяжело. Второй способ заключается в подборе паролей к аккаунту (brute force, брутфорс). Он подразумевает последовательный перебор паролей. Плюс этого способа в том, что степень вероятности взломать прямо пропорциональна величине словаря, по которому идёт перебор. Минус - время, которое уходит на брутфорс, прямо пропорционально величине словаря)). Третий, самый рациональный, способ заключается в краже cookies, если такие на сайте используются. Большинство пользователей используют не программы-почтовики, а работают с почтой прямо на сайте почтового сервера, пользуясь функциями управления письмами, реализованными скриптами, или же используют почтовики с включенным HTML-кодом. Здесь хакеру помогают XSS-уязвимости сайта. О них я писал в статье "XSS новичкам. Предназначение XSS-атак" (http://www.hackzona.ru/hz.php?name=News&file=article&sid=5005&mode=&order=0&thold=0). О том, как осуществить взлом акка третьим способом, я приведу вырезку своего поста из форума:
"
Если это кукис создан системой авторизации на сайте, то в большинстве случаев он хранит md5-хэш пароля аккаунта. С помощью таких тулз как md5inside, johntheripper можно взломать этот хэш (метод брутфорс: из словаря берётся обычный пароль, затем генерится md5-хэш и сравнивается с имеющимся(спёртым) хэшэм).
Но это делается, чтобы узнать пароль; т.к. он, как правило, совпадает с паролями других сервисов, принадлежащих этому же админу, то можно завладеть не только аккаунтом.
Если же просто требуется поиметь акк, то формируешь украденный кукис у себя на компе, и при следующем заходе на сайт у тебя уже права админа.
Чтоб не возникало лишних вопросов, заранее скажу...
-для правки кукисов юзай IECookiesView;
-перед их правкой залогинься на сайт под своим акком(в браузере Internet Explorer);
-ищи в указанной проге этот кукис, вставляй хэш, сохраняй, снова лезь в IE. Всё.
".
Практикуется ещё один вариант взлома мыл - СИ (социальная инженерия), но это скорей мошенничество, чем взлом, поэтому его рассматривать не будем.
Как взламываются (угоняются, крадутся) ICQ-юины?
Не хочется поднимать эту тему, т.к. статей на неё крайне много, но для полноты статьи всё же вкратце расскажу. 1 способ: взлом сервера ICQ. Он не приемлем из-за труднодоступности, но исключать его я не могу. 2 способ: брутфорс. Здесь всё аналогично взлому мыл, только рассмотрим 2 варианта. 1)ты можешь перебирать множество паролей к одному юину; 2)ты можешь перебирать один (несколько, немного) паролей к множеству юинов (если ты не преследуешь цель взломать один какой-то конкретный юин). Третий же способ является простым, не требующим каких-либо больших затрат и самым доступным. (Внимание! Применяется только к юинам, имеющим более 5 цифр в номере, т.е. начиная с шестизнаков!). При регистрации нового юина указывается "первичный имейл" (Primary mail, PM). Он является очень важным, т.к. в случае утери пароля от юина пользователь может всегда сделать ретрив (генерируется новый пароль и отсылается на PM). Cделать это можно на официальном сайте ICQ. Так вот, третий способ заключается во взломе праймари мыла. Также многие почтовые сервисы мира удаляют мыльные аккауны, если ими долго не пользоваться. Так вот, если такого PM не существует, то можно его зарегистрировать (а если этот сервис вообще перестал существовать - можешь поднять на время), а затем сделать ретрив пароля.
Форумы, чаты, гостевые книги
Форумы, чаты и гостевые книги (далее - просто форумы) являются частью сайта, а, значит, взломав сайт, ты получишь доступ и к форуму. Это был первый способ.
Если под взломом форума ты понимаешь просто кражу одного чужого аккаунта, то, чем взламывать весь сайт, проще украсть cookies этого акка, как и в случае с кражой cookies при взломе e-mail. Если же ты украдёшь кукис администратора форума, то и права у тебя будут, соответственно, адимнские (полное управление форумом). Не забудь ещё раз перечитать про взлом мыла за счёт кражи cookies.
Что представляет собой DoS / DDoS? В чём разница?
DoS - аббревиатура от Denial of Service, переводится как "отказ в обслуживании". Он заключается в использовании DoS-уязвимостей ПО, не предоставляющих доступ к чему-либо, а банально заставляющих критически завершить работу какого-либо ПО (или компьютера вообще)). DoS может осуществиться не только с помощью сплойтов, но и с помощью спуфинга IP (не подразумевающего перехват TCP-сессии). Но последним способом сделать это будет трудновато, зато при некоторых условиях будет справедливо утверждение, что любой сервер уязвим. DDoS - Distibuted Denial of Service, распределённая атака с целью вызова DoS. Различные вирусы-черви, или же хакеры при взломе большого количества машин, строят ботнеты - сети компьютеров-зомби. Червь/хакер может установить на взломанной машине программу, которая начинает DoS-ить определённый компьютер в сети при поступлении определённого хакерского запроса. Массовый дос, когда одну машину досят сразу несколько, и называется DDoS-ом. Кое-что о DoS и DDoS вы можете почерпнуть из моей статьи "Введение в хакинг на низком уровне. Спуфинг IP - начальные сведения" (http://hackzona.ru/hz.php?name=News&file=article&sid=4831&mode=&order=0&thold=0)
Какая связь хакинга с сетевыми портами и что такое порт?
ЛЮБОЕ сетевое приложение использует как минимум один порт. Порт - это как обычный компьютерный порт (COM, LPT), к которому происходит подключение чего либо и через который происходит передача данных, только он не существует физически. Он играет большую роль, но в реальности это просто цифра от 1 до 65536. Пример. Наш IP 81.123.200.4. У нас есть две сетевые проги, которые работают одновременно: HTTP- и FTP-сервер. Обе они используют протокол TCP/IP. Как же данные распределяются между ними, ведь трафик просто напросто может перемешаться? Ответ: HTTP-сервер висит на порту номер 123, а FTP- - на 125. (В реальности любой порт можно изменить, но по стандарту FTP-сервер использует порт №21, а HTTP- - 80.)
Для того, чтобы узнать, какие сетевые проги используются на удалённом компьютере, существует большое количество прог - сканеров портов. Не могу не сказать о, ИМХО, лучшей из них - это "NMAP". Она имеет также функцию определения ОС на компьютере (fingerprint).
Снифферы - их функции и виды.
Сниффер в буквальном смысле означает "нюхач". Под сниффером подразумевается любая прога/скрипт, совершающая какие-либо "подслушивающие", "перехватывающие" или содействующие первым двум действия. Из определения, которое я дал, видно, что типов снифферов может быть сколь угодно, но чаще всего под сниффером подразумевают один из двух следующих типов. 1)сниффер, обрабатывающий информацию, которая передаётся ему вредоносной программой. Чаще всего практикуется снифф, которому передаётся кукис, "украденный" XSS-эксплоитом. 2)Анализатор траффика. Название говорит само за себя, однако, алнализатор может быть двух видов: файервол (firewall, "огненная стена", брэндмауэр) и "сниффер". Файер анализирует траффик, проходящий через какой-либо сетевой интерфейс, при этом не перехватывая траффик, а лишь уведомляя о его наличии, при этом неся информацию типа: "Входящий IP 234.57.40.7 пытается подключиться к порту 22", или "Исходящее приложение alb.exe пытается подключиться к IP 234.57.40.7 на 31337 порт". Пользователь, благодаря файерволу, может как блокировать входящий/исходящий трафик, так и разрешать его. Сниффер же, как второй вид анализатора, перехватывает весь трафик, проходящий через твой сетевой интерфейс, и в зависимости от функциональности, может отфильтровывать определённые данные из трафика, например, пароли. Такие снифферы чаще всего используются в сетях с хабом, который, в отличие от свитча, шлёт любой передаваемый трафик не только адресату, но и всем компьютерам в сети (просто обрабатывает его только адресат).
Роль UNIX-based ОС, сетевых протоколов и программирования в хакинге.
Все три фактора, перечисленные мной в сабже играют огромную и, наверно, основную роль в хакинге. Придерживайся их всегда напротяжении обучения, а я тебе расскажу об этом поподробней.
UNIX-based ОС - все операционные системы, базированные на UNIX. Сюда входят UNIX, Linux, BSD, Solaris и много других. Все они примерно схожи по основному составу команд. Почему необходимо занть *nix? Ты поймёшь это в ходе практики тех знаний, которые получил.
Сетевые протоколы. Думаю, ты уже понял, зачем они нужны. Будешь знать их устройство - сможешь не просто взламывать "по шаблону", но и "творить" взлом. Это намного серьёзнее.
Программмирование. Тут ты тоже, наверно, понял. В сочетании со знанием протоколов ты сможешь искать уязвимости, писать эксплоиты и знать их принцип работы. Зная лишь программирование, ты сможешь ВСЁ. Тех же сетевых протоколов не существовало бы без программирования. Да какие там протоколы! Не было бы компьютера! Но изучать программирование сложно. Вот что я посоветовал бы знать:
*язык C/C++/Pascal - для понимания устройства программ, принципов взаимодействия с ОС/ФС/сетью, развития логики программиста, которая в дальнейшем сыграет очень важную роль. В качестве компиляторов для этих языков я посоветую: для C - MSVisualC, BorlandC, GCC; для Pascal - Delphi, Kylix. С этих и только с этих языков нужно начинать!
*простенький HTML и дополняющий его JavaScript (не путать с Java).
*PHP, PERL.
*простенький язык запросов SQL.
*если останется сил и терпения, то Assembler, Python, ASP, BASIC и т.д. по мере желания и возможностей.
Послесловие
Тьфу.... вроде разобрался с основными вопросами. Если честно, то когда я писал статью, то немного жалел и жался, что знания, которые мне доставались долгим и упорным трудом, кладутся новичкам прямо на блюдечко. Но чувство патриотизма и осознавания скорого внедрения Интернет-2 )))), где будут совсем новые технологии, меня успокаивали. Если серьёзно, то я искренне хочу добиться доминирования нашей нации, т.е. наций бывшего СССР, над всеми другими.
Насчёт того, что я назвал тебя ламером - это для снижения самооценки, так работать будет легче. Тебе придётся очень много трудиться: два, три, четыре года - не знаю. Ещё совет: много практикуйся; узнал что-то новое - сразу же проверь на практике. А когда изучаешь язык, то обязательно должен быть включен компьютер и установлен компилятор. Прочитаешь книгу по кодингу не практикуясь - считай, что ты узнал 20% от возможного. И ещё. Чем задавать всем вопрос, лучше самому поискать информацию, а если нигде не найдёшь - можешь попробовать объяснить суть проблемы другим. Ты мучаешь других, снижаешь свой авторитет и главное - ты теряешь хлеб, за счёт которого поднимается уровень знаний. Преодолевание всех препятствий самостоятельно - то что способствует мгновенному росту профессионализма, уж это я знаю точно, можете не сомневаться.
Теперь немного психологии) . Если ты прочитал эту статью и у тебя сформировалась в голове мысль, или ты хочешь оставить комментарий, типа "ты тупица нах написал статью, это и так все знают, лучше бы чё-нить серьёзное написал. И знай, придурок, я её оценил на 2", то я сделаю вывод, что ты прочитал статью, узнал из неё много нового и сказал это лишь для повышения самооценки (обычная ситуация с человеком со слабо развитой психикой и интеллектом - как правило дети, или взрослые, у которых было "трудное" детство). Однако такие люди МОГУТ быть профессионалами, но многое придётся изменить. Остальные ситуации я рассматривать не буду, но скажу, что у некоторых положение может быть как лучше, так и хуже. Если у тебя покраснели уши за время прочтения всей статьи (в т.ч. и этого абзаца), то знай что ты сможешь быть в числе лучших, но надо стараться.
Удачи!
Дата створення/оновлення: 25.05.2018