DevOps TeamLead
Хакинг и модинг ASUS WL500G Premium

Защищаем сайт от атак на примере ХабраХабра

Рано утром Хабр «выкатил» своё новое обновление, и я с чистой совестью достаю эту статью из черновиков.
Вчера у меня случился epic fail и этот топик частично, включая строчку об апдейте выше, попал в паблик на пару секунд. За эти секунды топик успело плюсануть несколько человек.
Ещё раз, теперь публично, прошу прощения у администрации!
Совет остальным — НИКОГДА не храните в черновиках информацию вроде этой.
В последнее время в сети Интернет можно найти очень много пособий для «Начинающих хакеров», в которых подробно описываются все основные методы взлома сайтов. Думаете, веб-разработчики стали от этого умнее и предприняли все возможные методы для защиты? Я так не думаю.
В настоящей статье я хочу ещё раз поведать разработчикам о том, как ломают сайты, а чтобы вам не было скучно, я попутно буду ломать Хабр и подробно описывать, как я это делал. Мы рассмотрим такие интересные штучки, как «Активная XSS в профиле», «Бесконечное обнуление кармы», «Публикация топиков со значком 'Из песочницы'», «CSRF через Flash и дыру в Internet Explorer 6» и многое другое.
Все уязвимости уже исправлены. Ну или почти все. Поэтому, если вы найдёте очередную дыру, то пишите на support@habrahabr.ru — миф о том, что эту почту никто не читает всего лишь миф.
Пишем драйвер для самодельного USB устройства
На данный момент, большинство радиолюбителей реализуют такой тип подключения используя чипы переходники USB в RS232 таким образом организуя связь со своим устройством посредством драйвера виртуального COM порта поставляемого с чипом переходником. Минусы такого подхода думаю понятны. Это как минимум лишний чип на плате и ограничения накладываемые этим чипом и его драйвером.
Мне же хочется осветить весь процесс организации такого взаимодействия так как оно и должно быть сделано, и как делается во всех серьезных устройствах.
В конце концов, сейчас 21-й век, модуль USB есть почти во всех микроконтроллерах. Именно о том, как наиболее быстро воспользоваться этим модулем и будет эта статья.
CRACKL@B Contest 2010. Анализ первого задания

Заканчивался 2010 год, шли глобальные реформы на ресурсе. Это были смутные времена. И в это суровое время зарождается идея о создание местного турнира. Эта идея была очень радостно воспринята местным сообществом. Спустя некоторое время, было создано 3 задания (хотя планировалось 5), были выбраны члены жюри и система оценивания. И так, это началось.
Анализ Crackme #1 от PE_Kill
Предисловие

Я уже долгое время ничего не исследую, так сказать ушел на покой. Но тут мне на глаза попалась очередная поделка немало известного в определенных кругах PE_Kill'a. Т.к. мне довелось решать его предыдущую поделку в рамках CRACKL@B Contest 2010, которая в свою очередь была довольно интересна, я решил взглянуть на его новое «детище».
Что вас ждет под катом: подделка CRC32, брут ключа для RC4, факторизация для RSA, а также использование коллизии для MD4 и генерация двух разных сообщений с одинаковыми хешеми. Всё это и многое другое под катом.
Android. Обзор боевых приложений

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.
Мы уже знаем, на что способен iPhone. Уступает ли ему Android?
Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!
Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.
Итак, краткий обзор боевого софта на Android:
Процесс загрузки Windows или что спрятано под стартовым логотипом

Что тогда подразумевает под собой загрузка операционной системы? По большей части это проецирование в память исполняемых модулей и инициализация служебных структур данных. Структуры данных живут в памяти, поэтому операции с ними по идее должны быть быстрыми. Все наталкивает на мысль о том, что время съедается именно процессом загрузки исполняемых модулей в память.
Давайте интереса ради разберемся, какие модули, в каком количестве и в каком порядке загружаются при старте ОС. Чтобы выяснить это, можно, например, получить лог загрузки системы. Подопытная ОС в моем случае — Windows 7 Enterprise x64. Логировать процесс загрузки будем при помощи отладчика ядра. Существует несколько вариантов отладчиков ядра, лично я предпочитаю WinDbg. Также нам понадобятся некоторые вспомогательные средства для волшебного превращения лога в нечто более приятное глазу.
Продуктивная работа с MySQL в командной строке
Примечание: эти команды работают только для Unix/Linux.
Веб-контроль Raspberry Pi GPIO

Краткое описание:
- Серверная программа, которая работает на Raspberry Pi, для того чтобы читать переменные
- Базы данных MySQL для хранения переменных
- Веб-страница Apache2, для того чтобы контролировать переменные
Основы Linux от основателя Gentoo. Часть 1 (1/4): BASH, основы навигации
Предисловие
Об этом руководстве
Добро пожаловать в первую из четырех частей обучающего руководства по основам Linux, разработанного чтобы подготовить вас к сдаче экзамена Linux Professional Institute 101. В нем вы познакомитесь с bash (стандартной оболочкой командного интерпретатора в Linux), узнаете о большинстве возможностей таких стандартных команд Linux, как ls, cp и mv, разберетесь в инодах, жестких и символьных ссылках, и многом другом. К концу этого руководства у вас сформируется некий фундамент знаний, и вы будете готовы к изучению основ администрирования Linux. К концу всего курса (8 частей), у вас будет достаточно навыков, чтобы стать системным администратором Linux и пройти сертификацию LPIC Level 1 от Linux Professional Institute, если конечно захотите.
Данная первая часть руководства отлично подходит для новичков в Linux, а также для тех пользователей, кто хочет освежить или улучшить свое понимание фундаментальных концепций Linux, таких, как копирование и перемещение файлов, создание символических и жестких ссылок, а также стандартных команд обработки текста, включая конвейеры и перенаправления. По ходу мы также дадим множество советов, подсказок и трюков, что делает это руководство насыщенным и практичным, даже для тех, кто уже имеет солидный опыт работы с Linux. Для начинающих большая часть этого материала будет новой, но более продвинутые пользователи Linux найдут это руководство отличным средством, чтобы разложить свои фундаментальные навыки по полочкам у себя в голове.
Моё путешествие в будущее

Был тихий осенний вечер. Ничто не предвещало беды. Смеркалось. Я заканчивал плановый upgrade компьютера, в процессе которого по затерявшимся уже в истории причинам понадобилось сбросить BIOS. Дело не хитрое. Расположение батарейки и перемычки Reset на материнской плате известны – вперед! После включения и загрузки Windows 7 мне в ультимативном порядке было заявлено, что на дворе далекое будущее, а именно – 14201-ый год.

Приключения только начинались…
От домашней автоматизации и умных домов в общем к конкретному примеру

В последнее время здесь много пишут о домашней автоматизации и умных домах. Хотел бы поделиться своим опытом, общими соображениями и конкретным проектом. Эта статься будет полезна тем кто просто хотел бы знать чем может быть в принцыпе полезен/удобен умный дом а также тем, кто хотел бы управлять(или просто наблюдать) с любого устройства с браузером(телефон, планшет, читалка, HTPC, ноутбук, настольный компьютер и тд) системой домашней автоматизации. Причём это можно делать из любой точки мира. Мой опыт и пример описанный во второй части этой статьи (Arduino, JQuery Mobile Web интерфейс и прочее) могут пригодиться тем у кто уже есть какая-то система домашней автоматизации (например X10) или тем кто начинает этот тернистый путь.
Делаем информационный виджет для Drupal сайта
Коротко о сервисе — Сайт «Умное слово на каждый день» — это первый образовательный ресурс подобного рода. Неизвестные широким массам слова появляются каждый день и составляют крупнейший в рунете словарь «умных» слов. Заходи на Everydayword.ru каждое утро и повышай словарный запас.
Ломаем BIOS: включение поддержки виртуализации VT-x на нетбуке Acer Aspire One
ПРЕДУПРЕЖДЕНИЕ: всё, описанное в этой статье, рассчитано на то, что вы знаете, что делаете. Всё на свой страх и риск! Если не уверены — не пытайтесь повторить это дома.
Итак, в чем же проблема?
Проблема, которую мы будем решать, для конечного пользователя компьютера выглядит так: При использовании гипервизора второго типа (например, VirtualBox)
- вы не можете запускать виртуалки с более, чем одним процессором
- вы не можете запускать 64-битные гостевые операционные системы внутри 32-битной хост ОС.
Вот такое сообщение вы можете видеть при попытке запуска виртуалки с числом процессоров, большим чем 1:

Аналогичное сообщение об ошибке вы также получаете, если собираетесь запускать 64-битную виртуальную машину (например, Debian amd64) с 32-разнядной хост ОС, например WinXP.
Можно ли вылечить это?
На этот вопрос можно ответить, проверив некоторые биты в некоторых словах состояния процессора. Самый простой способ убедиться, что в вашем случае проблема лечится — это посмотреть на то, что показывает программа SecurAble. В моем случае это выглядело так:

Итак, если у вас программа показывает такую же картинку, как показанная выше, то вы можете вылечить эту проблему. Однако нюанс заключается в том, что это установить нужный бит в регистре процессора можно только в БИОСе, поскольку вредный БИОС вашего ноутбука его выставляет в ноль, потом включает блокирующий бит и изменение этого бита более невозможно (до перезагрузки компа, где БИОС во время POST опять его сбросит и залочит).
Биос на нетбуке Acer Aspire производства Insyde, настройки его очень скудны и по F2 естественно мы не можем зайти в программу редактирования настроек БИОСа и включить виртуализацию там. Это было бы слишком просто.
Поэтому, мы будем дизассемблировать БИОС и менять его код, чтобы у нас бит был выставлен в 1. Если готовы, то читаем далее.
Wi-Fi: неочевидные нюансы (на примере домашней сети)
[!!]: после замечаний касательно публикации первой части привожу текст целиком. Если вы читали первую часть — продолжайте отсюда.
+1 расширение для Mozilla Firefox
Несколько дней назад Shaida создал пост под названием +1 расширение для Google Chrome, где каждый мог посоветовать расширение, которое ему когда-либо пригодилось. Пора пользователям огнелиса дать свой ответ. Итак, я начну!
SQL injection для начинающих. Часть 1

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
HTML5 в HabraStorage
Поэтому я написал небольшой userscript для себя и готов поделиться им со всеми.

Готовим расширение под Chrome, украшаем Хабр
Полностью готовый экстеншн можно установить и проверить в работе через Chrome Web Store, а здесь разберемся как написать основной код с нуля (полный занимает всего 6 KB).

Information
- Rating
- Does not participate
- Location
- Новосибирск, Новосибирская обл., Россия
- Works in
- Registered
- Activity