Pull to refresh
  • by relevance
  • by date
  • by rating

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

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

Читать дальше →
Total votes 59: ↑57 and ↓2 +55
Views 261
Comments 193

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

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

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

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

Ссылка на уязвимую страницу тут
Total votes 19: ↑15 and ↓4 +11
Views 447
Comments 18

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

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

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



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



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

Idiots in my internets.

Lumber room
«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher.»* — Albert Einstein


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

Idiots in my internets.

Lumber room
«Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher.»* — Albert Einstein


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

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

Information Security *
Недавно я писал для одного заказчика обзорный документ по безопасности web приложений, после чего я подумал, что было бы неплохо выложить его на общее обозрение.
Статья написана для непрофессионалов, поэтому дабы сделать ее более интересной для притязательных пользователей хабра, я разбавил текст некоторыми случаями из жизни.
Читать дальше →
Total votes 80: ↑74 and ↓6 +68
Views 9.5K
Comments 41

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

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

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


Читать дальше →
Total votes 73: ↑66 and ↓7 +59
Views 726
Comments 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 тем же способом.
Total votes 154: ↑142 and ↓12 +130
Views 2.6K
Comments 94

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

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



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

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

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

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


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

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

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


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

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

Information Security *

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Но вперёд, читатель — перейдём уже к подробному разбору.
Читать дальше →
Total votes 128: ↑98 and ↓30 +68
Views 225K
Comments 97

Выводы по SQL injection

Information Security *MySQL *


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

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

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

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

Information Security *

Вступление


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

Читать дальше →
Total votes 142: ↑129 and ↓13 +116
Views 10K
Comments 57

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

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

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

Остановлюсь чуть подробнее на каждом из пунктов.
Читать дальше →
Total votes 92: ↑51 and ↓41 +10
Views 112K
Comments 103

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

Ruby on Rails *
Translation

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

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

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

Lumber room
Sandbox
Добрый день!
Хочу рассказать, как я взломал большой американский сайт по созданию 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());
Читать дальше →
Total votes 27: ↑14 and ↓13 +1
Views 7.2K
Comments 19

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

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

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

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