Search
Write a publication
Pull to refresh
14
0
Мухаммад @muhammad_97

Пользователь

Send message

Как я училась в вузе

Reading time14 min
Views145K
Данная статья для тех, кто еще не знает, нужно или ему высшее образование. Я ни в коем случае не пытаюсь сказать, что оно не нужно. Каждый сам для себя делает выводы. И возможно так не во всех ВУЗах, как было у меня.

О поступлении


image

В далеком 2010 году поступила я в ВУЗ. Моих несчастных 166 баллов (по 3 предметам) хватило только на МГУПИ. Такое количество баллов из-за того, что в ВУЗ пошла после 2-х курсов колледжа и вечерней школы, и так вышло, что на подготовку к ЕГЭ по всем 3 предметам у меня было что-то около 2 недель в перемешку с сессией колледжа.

Мама хотела, чтобы я училась в МГТУ СТАНКИН, и поэтому туда сразу отдали оригинал аттестата. Но моих баллов в первую волну на бюджет не хватало. Было несколько попыток забрать аттестат, но приемка морозилась, убеждая подождать 2-й волны. В итоге, почти с боем, аттестат отдали.
Читать дальше →

RE: ВУЗ для IT специалиста: взгляд изнутри

Reading time7 min
Views88K
Здравствуйте, дорогие читатели Хабра!
Этот топик-ответ на недавнюю статью о получении IT специальности в ВУЗе.

Первой моей реакцией на этот пост был комментарий, в котором я попытался уточнить географическое положение рассматриваемых Высших Учебных Заведений. Что удивительно, помимо ответа на мой комментарий на хабре, несколько человек ответило мне в Facebook'e (у них пока что нет инвайтов), а товарищ quicksdk попросил меня рассказать в том же ключе о University of British Columbia.

Так сложилось, что я учусь в канадском университете на компьютерной специальности и уже около года работаю разработчиком (фрилансером). В связи с малым опытом работы и с тем, что я закончил всего один год обучения на бакалавриате, я не позиционирую свое мнение, как единственно правильное. Однако кому-нибудь эта статья может оказаться интересной.

Позволю себе процитировать уважаемого mattheus:
Дальше будет много букв и ни одной картинки. Кому еще интересно — прошу под кат.
Читать дальше →

ВУЗ для IT специалиста: взгляд изнутри

Reading time10 min
Views240K
Если вы давно закончили институт и уже сформировавшийся, матерый специалист, то вам не стоит читать дальше. Вы не узнаете из этого поста ничего нового и полезного. Может быть он вызовет у вас улыбку. Но судя по комментариям к статьям, на сайте достаточно и тех, кто еще учится или только собирается учиться на IT специальности. Для них этот пост написан и я искренне надеюсь может быть чем-то полезен.
Так сложилось, что я работаю подрабатываю в университете преподавателем на компьютерной специальности и уже много лет работаю разработчиком (фрилансером и офсерсером). Т.е. могу видеть обе стороны одной медали, имя которой — ВУЗ.
Дальше будет много букв и ни одной картинки. Кому еще интересно — прошу под кат.
Читать дальше →

Язык программирования J. За что любить?

Reading time13 min
Views94K
image
J – самый ненормальный и самый эффективный язык из известных мне языков. Он позволяет быстро разрабатывать, а также вызывать ненормативную лексику у людей, незнакомых с ним и смотрящих на код.

J слишком необычный. И сложный для изучения. У людей, сталкивающихся с J не хватает мотивации, чтобы его изучить. Синтаксис непривычный.
В этом посте я хотел помочь вам заглянуть дальше, что будет, если вы его изучите и чем он интересен. По своему опыту знаю, что преимущества этого языка сразу не очевидны. В посте я не собираюсь останавливаться на разборе конструкций. Только в обзоре. Предлагаю просто окунуться в примеры, попробовать ощутить мощь языка. Узнать, чем прекрасен язык, без изучения. Писать статьи, обучающие программированию на нем – дело сложное и думаю, не нужное. Он не так прост, чтобы это сделать кратко, а с обучающими материалами на официальном сайте нет никаких проблем. Главное – желание. Им и займемся.
Читать дальше →

Язык программирования J. Взгляд любителя. Часть 2. Тацитное программирование

Reading time8 min
Views13K
Предыдущая статья цикла Язык программирования J. Взгляд любителя. Часть 1. Введение

Вопрос: Если функции изменяют данные, а операторы изменяют функции, тогда кто изменяет операторы?
Ответ: Кен Айверсон
Chirag Pathak


В J используется идея тацитного (от слова «tacit», неявный) программирования, не требующего явного упоминания аргументов определяемой функции (программы). Работа в тацитном подходе происходит, как правило, с массивами данных, а не с отдельными их элементами.
Интересно заметить, что тацитное программирование было открыто Бэкусом еще до APL и реализовано им в языке FP. Среди современных языков, поддерживающих такой подход, (кроме, естественно, J) можно назвать Форт и другие конкатенативные языки, а также Haskell (за счет point-free подхода).

1. Глаголы


Определим наш первый глагол. Для удобства, можно считать, что глагол – это функция с аргументами, заданными по умолчанию. Открываем интерпретатор J, вводим

	neg =: -
Читать дальше →

Язык программирования J. Взгляд любителя. Часть 1. Введение

Reading time6 min
Views21K
Дейкстра: А как вы запишите более сложное выражение? Например, сумму всех элементов матрицы, которые равны сумме индексов соответствующих строк и столбцов.
Айверсон: + + / (M = ?1 ^(o)+ ?1)M//
(Кеннет Айверсон — создатель языков APL и J)


1. Быстрый старт



Перед тем как APL получил свое название, он назывался «нотация Айверсона». Однако Кен считал, что название должно звучать просто как «Нотация». И в самом деле, мы же не говорим «трава Бога», мы говорим просто «трава».
Paul Berry


Отличительными особенностями языка программирования J можно назвать:
  • векторная арифметика
  • предельная лаконичность
  • обширная стандартная библиотека, предназначенная в частности для статистической обработки данных
  • наличие в стандартной библиотеке функций для рисования 2d графиков и 3d поверхностей, а также примитивов для создания графического интерфейса
  • подробнейшая и разнообразнейшая документация и примеры

Можно сказать, что J находится в той же нише, что и Matlab и R. Но есть одно «но» — синтаксис языка.
Приведем один из самых распространенных учебных примеров всех введений и туториалов J:

	mean =: +/%#

В данном примере определяется новая функция (на языке J это называется «глаголом») «mean», которая рассчитывает среднее значение в массиве чисел.
Читать дальше →

Чтобы скрыть беременность от маркетинговых компаний, женщина использовала Tor

Reading time3 min
Views118K
Два года назад многих удивила новость о том, что американская торговая сеть Target узнала о беременности девушки раньше, чем её отец. «Она ещё в школу ходит, а вы посылаете ей купоны на детскую одежду и памперсы?», — кричал тогда рассерженный отец. Ничего удивительного: простой дата-майнинг истории покупок с привязкой к дисконтной или банковской карте.

Оказывается, многие маркетинговые компании сейчас активно пытаются найти именно беременных женщин, потому что те находятся в преддверии большого количества предсказуемых покупок. Поэтому ритейлеры и производители детских товаров много платят за такую информацию. В эпоху таргетированной рекламы один только факт беременности примерно в 200 раз повышает стоимость профиля потребителя.
Читать дальше →

Настраиваем окружение на Mac OS и собираем автономное приложение с PySide/PyQt

Reading time5 min
Views28K
image
Сейчас все удобнее становится использовать HTML и JavaScript в интерфейсах приложений. И именно такая задача недавно появилась передо мной, с одним важным условием — на выходе должно быть полностью standalone приложение, не требующее установки дополнительных библиотек и способное запуститься в обычном пользовательском окружения.

В силу своего природного обаяния в качестве основного языка был выбран Python + PySide c WebKit на борту, для сборки app-бандла использовался py2app.

Проблемы появились, при первой же попытке запустить приложение на чистой системе — обнаружилось большое количество внешних зависимостей, которые py2app не смог самостоятельно разрешить. Под катом пошаговая инструкция как эта проблема была решена.
Читать дальше →

Учебник по языку программирования Python (хабраиндекс)

Reading time1 min
Views314K

Серия статей «Основы Python»


I, Начало
II, Строки
III, Списки, кортежи, файлы
IV, Генераторы списков
V, Определение функций, основы
VI, Расширенное определение функций

Об основах языка Python в сжатой форме

Продвинутый уровень


Сила и красота декораторов Короткий экскурс в метапрограммирование.
Итерируем все и вся Специфика циклов в Питоне.
Как я учился работать с XML
Консервация объектов в Python Использование модуля Pickle.
Memoization в Python Оптимизация работы программ.
Простейшее рисование с помощью PIL
Regexp и Python: извлечение токенов из текста
Как писать маленькие приложения на python с графическим интерфейсом (библиотека Qt).

http://netsago.org/ru/docs/1/12/
Одеваем скрипты Python с помощью EasyGui (добавляем простой диалоговый интерфейс)

http://djbook.ru/
Учебник по Django (Python-фреймворк для веб-приложений)

Читать дальше →

Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2

Reading time8 min
Views195K
Как-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.

Бесплатные инструменты пентестера веб-приложений


В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:

  1. Сетевые сканеры
  2. Сканеры брешей в веб-скриптах
  3. Эксплойтинг
  4. Автомазация инъекций
  5. Дебаггеры (снифферы, локальные прокси и т.п.)

Читать дальше →

Обзор бесплатных инструментов для аудита web-ресурсов и не только

Reading time4 min
Views40K

Вопрос безопасности всегда будет актуальным, особенно в Сети. По этому, чтобы в один прекрасный день не получить на своем ресурсе такую картинку нужно уметь проверять на предмет уязвимостей себя самого.

Под катом — краткий обзор и типовые примеры использования бесплатных утилит, которые помогут (а точнее уже во всю помогают) хакерам, администраторам, разработчикам, тестировщикам проверить свои ресурсы конкурентов в автоматизированном режиме.

У статьи довольно низкий порог вхождения для понимания и использования, по этому, надеюсь, придется по душе многим. Раскрывается лишь базовый функционал программ.

В злых целях знания использовать не буду!

Убийцы жестких дисков. Коэрцитивный выстрел в голову

Reading time9 min
Views232K
«Любую ценность контролирует лишь тот, кто в состоянии её уничтожить» Дюна, Фрэнк Герберт

Сегодня пойдет речь о том, как быстро убить 3.5" жесткий диск.

image

О весьма успешном захвате HDD спецслужбами:
Важность улики была настолько велика, что для получения ноутбука пришлось разыграть целую сцену в библиотеке, где брали Ульбрихта. Агенты ФБР (мужчина и женщина) начали публичную ссору. Ульбрихт отвлёкся, чтобы посмотреть на них — и в этот момент другой агент быстро вытащил ноутбук у него из-под рук. Затем уже был произведён стандартный арест.

В последующие часы айтишники ФБР тщательно исследовали ноутбук и фотографировали экран, тщательно следя, чтобы ноут не ушёл в спящий режим (с шифрованием информации). Потом они сделали копию содержимого жёсткого диска.

На компьютере найдены копии паспортов и водительских лицензий Ульбрихта, расчётные ведомости по выплате зарплаты сотрудникам Silk Road, логи активности персонала, сканы удостоверений личности админов Silk Road.

Личный дневник Ульбрихта ведёт начало с 2010 года, когда у Росса появилась идея создать сайт Silk Road и продавать там задёшево галлюциногенные грибы, которые он выращивал. Ульбрихт описывает всё, чем занимался ежедневно, включая личные цели, повседневную работу и выпивки с друзьями.


Представьте себе: вам уже пилят дверь (производитель которой гарантировал, что пилить ее будут не менее 30 секунд), а на жестком диске у вас много интересного. Какие ваши действия?
Читать дальше →

Собираем базу людей из открытых данных WhatsApp и VK

Reading time15 min
Views220K
Etan Hunt
кадр из фильма Миссия Невыполнима II

Эта история началась пару месяцев назад, в первый день рождения моего сына. На мой телефон пришло СМС-сообщение с поздравлением и пожеланиями от неизвестного номера. Думаю, если бы это был мой день рождения мне бы хватило наглости отправить в ответ, не совсем культурное, по моему мнению, «Спасибо, а Вы кто?». Однако день рождения не мой, а узнать кто передаёт поздравления было интересно.

Первый успех


Было решено попробовать следующий вариант:
  • Добавить неизвестный номер в адресную книгу телефона;
  • Зайти по очереди в приложения, привязанные к номеру (Viber, WhatsApp);
  • Открыть новый чат с вновь созданным контактом и по фотографии определить отправителя.

Мне повезло и в моём случае в списке контактов Viber рядом с вновь созданным контактом появилась миниатюра фотографии, по которой я, не открывая её целиком, распознал отправителя и удовлетворенный проведенным «расследованием» написал смс с благодарностью за поздравления.

Сразу же за секундным промежутком эйфории от удачного поиска в голове появилась идея перебором по списку номеров мобильных операторов составить базу [номер_телефона => фото]. А еще через секунду идея пропустить эти фотографии через систему распознавания лиц и связать с другими открытыми данными, например, фотографиями из социальных сетей.
Далее перебор аккаунтов WhatsApp и VK по Москве и Ненецкому АО и распознание лиц

Избранное: ссылки по IT безопасности

Reading time3 min
Views110K




Давно хотел написать этот пост с подборкой полезных ссылок, так как очень часто спрашивают подобное (думаю, у многих, кто в этой (да и в других) сфере). Ссылки разбиты на категории.




Читать дальше →

GraphQL — новый взгляд на API. Ч.1

Reading time4 min
Views44K
Всем привет, хочу поделиться накопленными знаниями по GraphQL, которые сформировались на основе около сотни прочитанных статей/доков и месяца построения API используя GraphQL.

Ну что ж, начнем с того, что такое GraphQL?


GraphQL — это стандарт декларирования структуры данных и способов получения данных, который выступает дополнительным слоем между клиентом и сервером.

Одной из основных фичей GraphQL является то, что структура и обьем данных определяется клиентским приложением.

Рассмотрим пример простого запроса пользователя.



Клиент точно указывает, какие данные он хочет получить, используя декларативную, графо-подобную структуру, которая очень напоминает формат JSON.
Читать дальше →

Необычные заголовки HTTP

Reading time2 min
Views34K
HTTP-ответ сервера содержит не только машиночитаемый текст, но иногда и скрытые послания для людей. Например, WordPress.com вставляет в заголовок поле X-hacker с текстом: «Если вы читаете это, то вам следует пойти на automattic.com/jobs и заполнить анкету». Объявления с приёмом на работу внедряют и другие серверы, например, Gigaom.com. Поскольку он размещается на WordPress, налицо конкуренция работодателей внутри служебных полей.

Server: nginx
Date: Wed, 15 Aug 2012 14:04:39 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding, Cookie
Last-Modified: Wed, 15 Aug 2012 14:03:40 GMT
Cache-Control: max-age=241, must-revalidate
X-hacker: If you’re reading this, you should visit automattic.com/jobs and apply to join the fun, mention this header.
P3P: CP=”GigaOM has a Privacy Policy available at gigaom.com/privacy-policy
X-PickUsInstead: Cool company, cooler headers, join the team! Send an email to jobs@gigaom.com and mention this header.
X-Pingback: gigaom.com/xmlrpc.php
X-nananana: Batcache
Content-Encoding: gzip

Вот забавная подборка нестандартных HTTP-заголовков на разных серверах.
Читать дальше →

Секреты Metasploit

Reading time4 min
Views229K

Вступление


В 2003 году, хакеру, известному как «HD Moore», пришла идея разработать инструмент для быстрого написания эксплоитов. Так был рожден хорошо известный во всех кругах проект Metasploit. Первая версия фреймфорка была написана на языке Perl, содержавшая псевдографический интерфейс на базе библиотеки curses.

К 2007 году разработчики консолидировались, основав компанию Metasploit LLC; в это же время проект полностью переписали на Ruby и, частично на Си, Python и Ассемблер.

В октябре 2009 года, проект Metasploit был приобретен компанией Rapid7 с условием, что HD Moore останется техническим директором фреймворка, на что согласилась компания Rapid7.
Читать дальше →

Не доверяйте SUDO, она может вас подвести

Reading time7 min
Views47K

Всем доброго времени суток, в этой статье постараюсь описать некоторые способы обхода ограничений на исполнение команд в ОС Linux, советы по использованию которых можно часто встретить на различных форумах. Демонстрация будет проведена на примере задания Restricted shells с сайта Root-Me. Итак, начнём.
Читать дальше →

Разбор опций командной строки в UNIX-подобных системах

Reading time7 min
Views44K

Введение


Одной из важных задач любой программы, будь она консольной или графической является интерпретация аргументов командной строки. Формально аргументами называются все слова в командной строке(в том числе и имя самой команды) разбитые разделителем (как правило, это пробел и табуляция), кавычки же позволяют включать разделители в аргументы.
Аргументы можно подразделить на опции и операнды. Опции изменяют поведение программы или предоставляют ей дополнительную информацию. У опции могут быть свои аргументы, которые являются информацией необходимой только для этой опции.
Продолжим здесь

Эксплуатация уязвимостей eXternal Entity XML (XXE)

Reading time8 min
Views39K

В ходе работ по тестированию на проникновение мы можем столкнуться с уязвимостью, которая позволяет нам выполнять атаки XML eXternal Entity (XXE) Injection. XXE Инъекция — это тип атаки на приложение, которое анализирует ввод XML. Хотя это относительно эзотерическая уязвимость по сравнению с другими векторными атаками веб-приложений, например, Cross-Site Request Forgery (CSRF), мы максимально используем эту уязвимость, когда она появляется, поскольку она может привести к извлечению конфиденциальных данных и даже к удаленному исполнению кода (RCE). В статье мы рассмотрим настройку уязвимого PHP-сервера, эксплуатируя уязвимость вручную, а затем перейдем к удобному инструменту под названием XXEInjector, чтобы автоматизировать этот процесс.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity