Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Сайт RIAA почищен «хакерами»

Информационная безопасность *
Очевидно что RIAA слишком занята судебными разбирательствами с потребителями, что бы нанять достойных програмистов. Просредством простого «SQL injection» их пропаганда была успешно удалена с сайта.

Читать дальше →
Всего голосов 59: ↑57 и ↓2 +55
Просмотры 275
Комментарии 193

Кто первый сломает ITQuiz 2.0?

Чулан
Тыкнув в поиск одну кавычку на сабже, обнаружил весьма приятное сообщение: Server Error in '/' Application. Unclosed quotation mark after the character string ''.

Далее: вводим любое ключевое слово SQL, например, OR — о, чудо! Опять ошибка, но уже другая: Server Error in '/' Application. Incorrect syntax near the keyword 'OR'.

Т.е. получается, что строку поиска никто не эскейпит. Что мы из этого получаем? ;-)

Ссылка на уязвимую страницу тут
Всего голосов 19: ↑15 и ↓4 +11
Просмотры 460
Комментарии 18

Полмиллиона серверов IIS попали под атаку

Информационная безопасность *
В интернете распространяется эпидемия нового вируса, который эксплуатирует уязвимость в популярном веб-сервере Microsoft Internet Information Server. С заражённых сайтов осуществляется редирект на сайт с вредоносным кодом.

Определить факт заражения можно по появлению новой строчки в коде страниц.



Похоже, эпидемия приобретает глобальный масштаб. Первой на это обратила внимание антивирусная компания Panda Security, которая оценила количество поражённых серверов IIS в 282 тыс., но не прошло и суток, как компания F-Secure подняла планку до 500 тыс. Собственно, такую же картину показывает поиск через Google.



Эксперты предупреждают: если раньше, чтобы избежать заразы, нужно было воздерживаться от посещения сомнительных сайтов, то теперь подхватить трояна можно даже при посещении вполне респектабельного сайта, на котором установлен IIS.
Всего голосов 59: ↑51 и ↓8 +43
Просмотры 717
Комментарии 105

Idiots in my internets.

Чулан
«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher.»* — Albert Einstein


Дело было вечером, и делать, как водится, было много чего, но лень.
По случайной ссылке пришел на один сайт, адрес которого я не привожу из очевидных соображений этического характера. Флешевая поделка; суть ее в следующем: тыкаем по свободному месту, и нам предлагают загрузить на это самое место свою картинку и приписать к ней ник. Моей фантазии оказалось недостаточно, чтобы представить, сколько радости способен доставить человеку простой советский флешер.
Читать дальше →
Рейтинг 0
Просмотры 278
Комментарии 0

Idiots in my internets.

Чулан
«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher.»* — Albert Einstein


Дело было вечером, и делать, как водится, было много чего, но лень.
По случайной ссылке пришел на один сайт, адрес которого я не привожу из очевидных соображений этического характера. Флешевая поделка; суть ее в следующем: тыкаем по свободному месту, и нам предлагают загрузить на это самое место свою картинку и приписать к ней ник. Моей фантазии оказалось недостаточно, чтобы представить, сколько радости способен доставить человеку простой советский флешер.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 321
Комментарии 8

Безопасность сайтов с лирическими отступлениями

Информационная безопасность *
Недавно я писал для одного заказчика обзорный документ по безопасности web приложений, после чего я подумал, что было бы неплохо выложить его на общее обозрение.
Статья написана для непрофессионалов, поэтому дабы сделать ее более интересной для притязательных пользователей хабра, я разбавил текст некоторыми случаями из жизни.
Читать дальше →
Всего голосов 80: ↑74 и ↓6 +68
Просмотры 9.6K
Комментарии 41

Хакеры получили доступ к базе данных пользователей The Pirate Bay

Информационная безопасность *
Аргентинский хакер Ch Russo сообщил, что он с двумя партнёрами обнаружил многочисленные уязвимости на thepiratebay.org, связанные с возможностью внедрения SQL-кода. С помощью этих уязвимостей они получили доступ к базе данных пользователей сайта и тем самым получили возможность создавать, удалять, изменять и просматривать все сведения о пользователях, в том числе номера и имена файловых трекеров или торрентов, загруженных пользователями.

Скриншот административной панели The Pirate Bay, показывающей недавно зарегистрированных пользователей:


Читать дальше →
Всего голосов 73: ↑66 и ↓7 +59
Просмотры 733
Комментарии 64

Сайт MySQL.com скомпрометирован через внедрение SQL-кода

MySQL *
Офсайт СУБД MySQL вчера взломан двумя злоумышленниками через банальное SQL injection. По ссылке опубликован отчёт о взломе и выложены некоторые части внутренней структуры базы данных, дамп паролей и т.д.

Vulnerable Target : mysql.com/customers/view/index.html?id=1170
Host IP : 213.136.52.29
Web Server : Apache/2.2.15 (Fedora)
Powered-by : PHP/5.2.13
Injection Type : MySQL Blind
Current DB : web


Хуже всего, что пароли юзеров уже пошли в разработку, в том числе уже расшифрован пароль директора по разработке продуктов MySQL (всего четыре символа), пароли многочисленных админов на форуме и т.д. Так что если у вас есть аккаунт на MySQL.com, то рекомендуется срочно сменить данные регистрации.

Кстати, те же два злоумышленника одновременно взломали и Sun.com тем же способом.
Всего голосов 154: ↑142 и ↓12 +130
Просмотры 2.6K
Комментарии 94

Массовое SQL-внедрение скрипта LizaMoon

Информационная безопасность *
Websense Security Labs информирует о массовом SQL injection, которое в момент написания этого текста обнаруживается на 252 000 сайтах (ещё вчера было 28 000).



Как сообщает Websense Security Labs, в какой-то момент число заражённых сайтов превышало 380 000. Таким образом, это одна из самых массовых атак SQL injection за всё время.
Читать дальше →
Всего голосов 49: ↑38 и ↓11 +27
Просмотры 934
Комментарии 30

Путь к проведению SQL-инъекций в Zend Framework

Информационная безопасность *Zend Framework *
Возможно, слегка громкое название статьи, но вопрос поднят именно этот.

Момент первый


Если следовать всем правилам, т.е. использовать внутренние механизмы Zend, подготавливать параметры в методах — то на данный момент нет информации о возможности проведения sql-инъекции. Речь идет о подобных конструкциях:
$select->order($value);

Которые так или иначе встречаются на практике.

Момент второй


В чем же соль? В том, что даже при поступлении параметров в подобные методы без какой-либо подготовки внутренние механизмы все же их подготавливают. Только не все (а некоторые частично) — об этом и речь.
Читать дальше →
Всего голосов 34: ↑28 и ↓6 +22
Просмотры 5.8K
Комментарии 83

SQL injection для начинающих. Часть 1

Информационная безопасность *

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
Читать дальше →
Всего голосов 191: ↑135 и ↓56 +79
Просмотры 668K
Комментарии 160

Немного о связываемых переменных (prepared statements)

SQL *
Из песочницы
Если бы мне пришлось писать книгу о том, как создавать немасштабируемые приложения Oracle, первая и единственная ее глава называлась бы «Не используйте связываемые переменные».
Том Кайт, вице-президент Oracle

Недавно на Хабре появилась статья от AlexanderPHP «SQL injection для начинающих. Часть 1». По ее содержимому и комментарием к ней может создаться впечатление, что у многих разработчиков нет понятия, что такое связываемые переменные, зачем ими следует пользоваться и какие преимущества они дают. Попытаюсь в данной статье пролить небольшой свет на данные вопросы.
Читать дальше →
Всего голосов 58: ↑55 и ↓3 +52
Просмотры 43K
Комментарии 196

Защита от SQL-инъекций в PHP и MySQL

Информационная безопасность *PHP *MySQL *
Recovery mode
К своему удивлению, я не нашёл на Хабре исчерпывающей статьи на тему защиты от инъекций. Поэтому решил написать свою.

Несколько пространный дисклеймер, не имеющий прямого отношения к вопросу
Давайте признаем факт: количество статей (и комментариев) на тему защиты от SQL-инъекций, появившихся на Хабре в последнее время, говорит нам о том, что поляна далеко не так хорошо истоптана, как полагают некоторые. Причём повторение одних и тех же ошибок наводит на мысль, что некоторые заблуждения слишком устойчивы, и требуется не просто перечисление стандартных техник, а подробное объяснение — как они работают и в каких случаях должны применяться (а в каких — нет).

Статья получилась довольно длинной — в ней собраны результаты исследований за несколько лет — но самую важную информацию я постараюсь компактно изложить в самом начале, а более подробные рассуждения и иллюстрации, а так же различные курьёзы и любопытные факты привести в конце. Также я постараюсь окончательно развеять множественные заблуждения и суеверия, связанные с темой защиты от инъекций.

Я не буду пытаться изображать полиглота и писать рекомендации для всех БД и языков разом. Достаточное количество опыта у меня есть только в веб-разработке, на связке PHP/MySQL. Поэтому все практические примеры и рекомендации будут даваться для этих технологий. Тем не менее, изложенные ниже теоретические принципы применимы, разумеется, для любых других языков и СУБД.

Сразу отвечу на стандартное замечание про ORM, Active record и прочие query builders: во-первых, все эти прекрасные инструменты рождаются не по мановению волшебной палочки из пены морской, а пишутся программистами, используя всё тот же грешный SQL. Во-вторых, будем реалистами: перечисленные технологии — хорошо, но на практике сырой SQL постоянно встречается нам в работе — будь то legacy code или развесистый JOIN, который транслировать в ORM — себе дороже. Так что не будем прятать голову в песок и делать вид, что проблемы нет.

Хоть я и постарался подробно осветить все нюансы, но, вполне возможно, некоторые из моих выводов могут показаться неочевидными. Я вполне допускаю, что мой контекст и контексты читателей могут различаться. И вещи, которые кажутся мне сами собой разумеющимися, не являются таковыми для некоторых читателей. В этом случае буду рад вопросам и уточнениям, которые помогут мне исправить статью, сделав её более понятной и информативной.

Ещё только начав интересоваться темой защиты от инъекций, я всегда хотел сформулировать набор правил, который был бы одновременно исчерпывающим и компактным. Со временем мне это удалось:

Правила, соблюдение которых гарантирует нас от инъекций


  1. данные подставляем в запрос только через плейсхолдеры
  2. идентификаторы и ключевые слова подставляем только из белого списка, прописанного в нашем коде.

Всего два пункта.
Разумеется, практическая реализация этих правил нуждается в более подробном освещении.
Но у этого списка есть большое достоинство — он точный и исчерпывающий. В отличие от укоренившихся в массовом сознании правил «прогонять пользовательский ввод через mysql_real_escape_string» или «всегда использовать подготовленные выражения», мой набор правил не является катастрофическим заблуждением (как первое) или неполным (как второе).

Но вперёд, читатель — перейдём уже к подробному разбору.
Читать дальше →
Всего голосов 128: ↑98 и ↓30 +68
Просмотры 227K
Комментарии 97

Выводы по SQL injection

Информационная безопасность *MySQL *


Я знаю, что тема SQL инъекций уже всем набила оскомину.

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

О том, как не допустить инъекций была уже масса статей — повторять не буду — сводится все к нескольким банальнейшим пунктам практики:
Читать дальше →
Всего голосов 68: ↑32 и ↓36 -4
Просмотры 11K
Комментарии 57

Обзор уязвимостей на сайтах «Большой Тройки»

Информационная безопасность *

Вступление


Некоторое время назад мне на глаза попалась обычная xss на сайте МТС.
Моему удивлению не было предела, как разработчики такой компании могли допустить такую банальную ошибку?!
Пару дней назад, вспоминая ту xss, было решено провести поиск уязвимостей на сайтах большой тройки.
Тогда я понял, что это были цветочки.

Читать дальше →
Всего голосов 142: ↑129 и ↓13 +116
Просмотры 10K
Комментарии 57

PHP класс для удобной и безопасной работы с MySQL

Информационная безопасность *PHP *MySQL *
Из песочницы
После написания статьи про защиту от инъекций я взялся за написание класса, реализующего изложенные в ней идеи.
А точнее, поскольку ключевой функционал уже использовался в рамках рабочего фремворка, я занялся выделением его в самостоятельный класс. Пользуясь случаем, хочу поблагодарить участников PHPClub-а за помощь в исправлении нескольких критических ошибок и полезные замечания. Ниже я постараюсь описать основные особенности, но сначала небольшой
дисклеймер
Есть несколько способов работы с SQL — можно использовать квери-билдер, можно ORM, можно работать с чистым SQL. Я избрал последний вариант, потому что мне он ближе. Я совсем не считаю первые два плохими. Просто лично мне всегда было тесно в их рамках. Но я ни в коем случае не утверждаю, что мой вариант лучше. Это просто ещё один вариант. Который можно использовать, в том числе, и при написании ORM-а. В любом случае, я считаю, что наличие безопасного способа работать с чистым SQL не может принести какой-либо вред. Но при этом, возможно, поможет последним оставшимся приверженцам использования mysql_* в коде приложения, отказаться, наконец, от этой порочной практики.

В двух словах, класс строится вокруг набора функций-хелперов, позволяющих выполнять большинство операций с БД в одну строку, обеспечивая при этом (в отличие от стандартных API) полную защиту от SQL инъекций, реализованную с помощью расширенного набора плейсхолдеров, защищающих любые типы данных, которые могут попадать запрос.
В основу класса положены три базовых принципа:
  1. 100% защита от SQL инъекций
  2. При этом защита очень удобная в применении, делающая код короче, а не длиннее
  3. Универсальность, портабельность и простота освоения

Остановлюсь чуть подробнее на каждом из пунктов.
Читать дальше →
Всего голосов 92: ↑51 и ↓41 +10
Просмотры 113K
Комментарии 103

Критическая уязвимость в Rails. Опять

Ruby on Rails *
Перевод

Очередная уязвимость(CVE-2013-0333) в Rails позволяет злоумышленникам минуя аутентификацию запускать произвольный код.

Уязвимые версии: 2.3.x, 3.0.x
Безопасные: 3.1.x, 3.2.x или приложения использующие yajl-ruby
Пофикшено в версиях: 3.0.20, 2.3.16
Опять!?
Всего голосов 40: ↑33 и ↓7 +26
Просмотры 11K
Комментарии 13

История одной SQL инъекции

Чулан
Recovery mode
Из песочницы
Добрый день!
Хочу рассказать, как я взломал большой американский сайт по созданию sitemap-ов и напомнить о защите от sql-инъекций. Цель поста исключительно ознакомительная. Но все по порядку.

Предыстория

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

Первые действия

И вот я снова возвращаюсь к созданию сайтмапа. Ввожу свои данные на том же сайте(уже подлинные), и раньше введенный адрес сайта. В результате обработки формы сайт выдает текст:
FATAL ERROR: Duplicate entry 'http://gnum.me/' for key 2 FATAL ERROR: query: 
INSERT INTO site (userid, url, verifyfile, usetimestamp, usepriority, useupload, useping, usepingbing, createdate) VALUES (178817, 'http://gnum.me/', 'fsga6a59.txt', '1','1','0','0','0', NOW());
Читать дальше →
Всего голосов 27: ↑14 и ↓13 +1
Просмотры 7.3K
Комментарии 19

45% веб-ресурсов крупнейших российских компаний содержат критические уязвимости

Блог компании Positive Technologies Информационная безопасность *
Веб-приложения давно стали неотъемлемой частью корпоративной информационной системы любой современной организации вне зависимости от рода ее деятельности. Собственные веб-ресурсы создают не только коммерческие компании, но и государственные учреждения, которые развивают веб-сервисы для предоставления онлайн-услуг.

Несмотря на все преимущества веб-приложений, уязвимости в них являются одним из наиболее распространенных путей проникновения в корпоративные информационные системы. Это подтверждается статистическими исследованиями, которые ежегодно проводятся экспертами Positive Technologies.

Предметом исследования стали 67 ресурсов крупнейших российских организаций государственной и промышленной отраслей, сферы телекоммуникаций и IT (банковским системам посвящена отдельная работа).
Читать дальше →
Всего голосов 20: ↑13 и ↓7 +6
Просмотры 10K
Комментарии 6