Pull to refresh
42
0.3

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

Send message

Об одном способе веб-скрапинга сайтов, защищенных Cloudflare

Level of difficultyMedium
Reading time10 min
Views15K

Сразу оговорюсь, что описанное ниже носит исключительно информационно-образовательный характер, и не имеет целью нанесение какого-либо ущерба компаниям, использующим защиту из заголовка статьи. По этим же причинам фокусировка статьи именно на том, как получить заветный html «как из браузера» в автоматизированном режиме, и здесь не будет идти речь о каких-то массовых распараллеливаниях через proxy и VPN, подкладываниях отпечатков (finger prints) браузеров и т. д.

Узнать о способе обхода защиты Cloudflare
Total votes 28: ↑27 and ↓1+26
Comments31

Nuclei — это просто

Level of difficultyEasy
Reading time11 min
Views7.7K

Обязательный инструмент для всех багхантеров!

Nuclei - это современный, мощный и гибкий инструмент для сканирования веб-приложений и поиска уязвимостей в них. Его простой и понятный синтаксис позволяет создавать свои собственные шаблоны для сканирования тех уязвимостей, которые вас интересуют. В данной статье мы погрузимся в мир nuclei, изучим его возможности и рассмотрим, как создавать кастомные шаблоны для эффективного тестирования безопасности веб-приложений. Не упустите возможность изучить один из самых перспективных инструментов в области информационной безопасности!

Так что не стоит откладывать эту выполнимую задачу на потом - начинайте изучение nuclei прямо сейчас!

Усовершенствуйте тестирование с nuclei!
Total votes 1: ↑1 and ↓0+1
Comments0

Наиболее распространенные уязвимости в мобильных приложениях

Reading time24 min
Views10K

Всем привет, меня зовут Юрий Шабалин, я один из основателей компании "Стингрей Технолоджиз" (входит в группу компаний Swordfish Security), мы разрабатываем платформу анализа защищенности мобильных приложений iOS и Android. Этой статьей я бы хотел открыть серию материалов, посвященных мобильной безопасности. И сегодня поговорить о тех уязвимостях, что мы встречаем чаще всего при автоматическом анализе.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments3

Использование Service Worker для создания ботнета

Reading time4 min
Views23K


Если кратко: в этом посте мы рассмотрим один из множества способов запуска бесконечного выполнения кода Javascript в браузере с помощью Service Worker, а еще немного покритикуем саму технологию.
Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments6

Turbo Intruder и потерянное руководство пользователя

Reading time14 min
Views7.3K

Практически каждый, кто хоть немного пользовался Burp Suite, знает про Intruder – инструмент внутри Burp, который позволяет автоматизировать атаки на веб-приложения, такие как брутфорс, фаззинг, майнинг параметров.

Однако, Intruder имеет много ограничений. Например, в Intruder не так много возможностей для генерации и предобработки пейлоадов, а также он плохо подходит для тестирования сложных многоступенчатых атак и race condition. Все это делает Intruder не настолько универсальным инструментом, насколько хотелось бы.

К счастью, существует более изящный инструмент с желаемой функциональностью - расширение Turbo Intruder. Инструмент отличный, но у него отсутствует нормальная документация. Скорее всего многие про него слышали и даже пытались разобраться. Для тех, кто разобраться не смог – предназначена эта статья.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments0

Пишем расширение для Burp Suite с помощью Python

Reading time16 min
Views4.4K

Привет, Хабр!

Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям создавать свои расширения, позволяющие невероятно увеличить встроенный функционал приложения.

Однако, статей по созданию расширений на Python в интернете не так и много, думаю, здесь сказалось то, что Burp написан на Java, и документация для расширений, естественно, описывает работу с Java. Но что поделать, расширения очень нужны и помогают получить преимущество, если речь идет о Bug Bounty. Так что предлагаю сегодня рассмотреть азы создания расширений для Burp Suite на Python, а писать мы будем непосредственно пассивный сканер CORS misconfiguration.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments0

Уязвимости в коде. Как отличить опасную брешь от незначительной ошибки?

Reading time18 min
Views14K
Как обычно выглядит проверка кода приложений на уязвимости? Специалист по безопасности инициирует процедуру, код сканируется, в приложении обнаруживаются тысячи уязвимостей. Все — и безопасник, и разработчики — в шоке. Естественная реакция разработчика: «Да наверняка половина — это ложные срабатывания, а другая — некритичные уязвимости!»

Что касается ложных срабатываний, здесь все просто: можно взять и посмотреть непосредственно те места кода, где обнаружены уязвимости с подозрением на false positive. Действительно, какая-то их часть может оказаться ложными срабатываниями, (хотя явно не половина от общего числа).

А вот о том, что критично, а что нет, хотелось бы поговорить более предметно. Если вы понимаете, почему сейчас уже нельзя использовать SHA-1 и зачем экранировать «;», возможно, эта статья не откроет вам чего-то нового. Но если по итогам сканирования от найденных уязвимостей рябит в глазах, добро пожаловать под кат – расскажем, какие «дыры» чаще всего встречаются в мобильных и веб-приложениях, как они работают, как их исправить, а главное — как понять, что перед вами — опасная брешь или незначительная ошибка в коде.


Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments1

Протестируй меня полностью: кому и зачем нужен внутренний пентест

Reading time5 min
Views6.3K

Опаснее всего враг, о котором не подозреваешь.
(Фернандо Рохас)

ИТ-инфраструктуру современной компании можно сравнить со средневековым замком. Высокие стены, глубокий ров и стража у ворот защищают от внешнего врага, а за тем, что происходит внутри крепостных стен, практически никто не следит. Так же и многие компании: они прилагают колоссальные усилия для защиты внешнего периметра, а внутренняя инфраструктура при этом остается обделенной. Внутреннее тестирование на проникновение – для большинства заказчиков пока процесс экзотический и не очень понятный. Поэтому мы решили рассказать о нем все (ну, почти все), что вы хотели знать, но боялись спросить.
Читать дальше →
Total votes 18: ↑16 and ↓2+14
Comments0

Реализация ARP-спуфинга на Python

Reading time4 min
Views16K

Введение


В данной статье я бы хотел продемонстрировать то, как можно реализовать собственную программу ARP-спуфинга на Python. Реализаций уже тысячи, но почти все они с использованием библиотеки Scapy и пары методов. Возможно данную библиотеку использовать эффективнее, не спорю, но мне было интересно реализовать самому с помощью сокетов и я бы хотел поведать читателям о том, как это делается.

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

Я не являюсь высококвалифицированным специалистом Информационной Безопасности, поэтому прошу тапками не кидать, а любые неточности оговорить в комментариях.
Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

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

Reading time6 min
Views27K

image
В прошлой статье мы рассказали о Nemesida WAF Free — бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti.


Сканирование сайта на уязвимости — необходимая мера, которая, вкупе с анализом исходного кода, позволяет оценить уровень его защищенности от угроз компрометации. Выполнить сканирование веб-ресурса можно с помощью специализированно инструментария.


Nikto, W3af (написан на Python 2.7, поддержка которого закончилась) или Arachni (с февраля более не поддерживается) — наиболее популярные решения, представленные в бесплатном сегменте. Разумеется, есть и другие, например, Wapiti, на котором мы решили остановимся.

Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments2

Проверяем уровень защищённости Linux с помощью утилиты Lynis

Reading time8 min
Views41K
Разбираемся, как использовать одну из самых мощных свободно распространяемых утилит для аудита Linux-систем.


Вы когда-нибудь задумывались о том, насколько безопасна ваша Linux-система? Существует множество дистрибутивов Linux (каждый со своими настройками по умолчанию), на которых вы запускаете десятки программных пакетов с разными номерами версий. Кроме того, на вашей ОС в фоновом режиме работает множество сервисов, о которых вы порой не знаете или не думаете.

Чтобы получить информацию о системе, то есть проверить общее состояние программного обеспечения, сети и служб, работающих на вашем компьютере с установленной ОС Linux, достаточно выполнить несколько команд. Но что теперь делать с полученной информацией? Как в ней разобраться? Ведь объём данных, которые вам нужно проанализировать, огромен.
Читать дальше →
Total votes 45: ↑45 and ↓0+45
Comments5

Коты в коробочках, или Компактные структуры данных

Reading time12 min
Views28K

image


Как быть, если дерево поиска разрослось на всю оперативку и вот-вот подопрет корнями соседние стойки в серверной? Что делать с инвертированным индексом, жадным до ресурсов? Завязывать ли с разработкой под Android, если пользователю прилетает «Память телефона заполнена», а приложение едва на половине загрузки важного контейнера?


В целом, можно ли сжать структуру данных, чтобы она занимала заметно меньше места, но не теряла присущих ей достоинств? Чтобы доступ к хэш-таблице оставался быстрым, а сбалансированное дерево сохраняло свои свойства. Да, можно! Для этого и появилось направление информатики «Succinct data structures», исследующее компактное представление структур данных. Оно развивается с конца 80-х годов и прямо сейчас переживает расцвет в лучах славы big data и highload.


А тем временем на Хабре найдется ли герой, способный пересковоговорить три раза подряд
[səkˈsɪŋkt]?

Читать дальше →
Total votes 127: ↑127 and ↓0+127
Comments43

Тестирование двухфакторной аутентификации и возможные варианты обхода

Reading time12 min
Views34K


Еще до того, как я начал постигать сложную науку информационной безопасности, мне казалось, что 2FA аутентификация — это гарантированный способ защитить свой аккаунт и никакие «эти ваши хакеры» не смогут, скажем, увести мою внутреннюю валюту для покупки одежды персонажам на игровом аккаунте. Но с течением времени опытным путем было доказано,  — система двухфакторной аутентификации может иметь большое количество уязвимостей. 
Читать дальше →
Total votes 16: ↑15 and ↓1+14
Comments10

Сложность простоты

Reading time31 min
Views43K


Как я писал в предисловии предыдущей статьи, я нахожусь в поисках языка, в котором я мог бы писать поменьше, а безопасности иметь побольше. Моим основным языком программирования всегда был C#, поэтому я решил попробовать два языка, симметрично отличающиеся от него по шкале сложности, про которые до этого момента приходилось только слышать, а вот писать не довелось: Haskell и Go. Один язык стал известен высказыванием "Avoid success at all costs"*, другой же, по моему скромному мнению, является полной его противоположенностью. В итоге, хотелось понять, что же окажется лучше: умышленная простота или умышленная строгость?


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

Читать дальше →
Total votes 91: ↑84 and ↓7+77
Comments278

Как технологии быстрой разработки могут стать источником неприятных уязвимостей

Reading time3 min
Views9.1K
Безопасность на реальных примерах всегда более интересна.

Как тестировщик на проникновение, люблю, когда приходят проекты, построенные на фреймворках быстрой разработки (Rapid development), подобно Ruby-on-Rails, Django, AdonisJs, Express и так далее. Они позволяют очень быстро строить систему за счет того, что бизнес модели прокидываются сразу на все уровни, включая клиентский браузер. Model (модели бизнес объектов в базе) и ViewModel (контракт взаимодействия с клиентами) такие фреймворки часто объединяют вместе, чтобы избежать лишнего перекладывания из Model во ViewModel и обратно, REST сервисы автоматом генерируются. C точки зрения разработки можно просто разработать бизнес модель на сервере, и потом использовать ее сразу на клиенте, что несомненно увеличивает скорость разработки.

Еще раз, я не утверждаю, что вышеупомянутые фреймворки плохие, или с ними что-то не то, у них есть средства и инструменты правильной защиты, просто с ними разработчики делают больше всего ошибок. Такое встречал и на одном ASP.NET MVC проекте, в котором разработчики наделали те же уязвимости, выставляя Models вместо ViewModels…
Читать дальше →
Total votes 27: ↑21 and ↓6+15
Comments2

Чем искать уязвимости веб-приложений: сравниваем восемь популярных сканеров

Reading time14 min
Views94K
Сканеры веб-приложений — довольно популярная сегодня категория софта. Есть платные сканеры, есть бесплатные. У каждого из них свой набор параметров и уязвимостей, возможных для обнаружения. Некоторые ограничиваются только теми, что публикуются в OWASP Top Ten (Open Web Application Security Project), некоторые идут в своем black-box тестировании гораздо дальше.



В этом посте мы собрали восемь популярных сканеров, рассмотрели их подробнее и попробовали в деле. В качестве тренировочных мишеней выбрали независимые точки на двух платформах (.NET и php): premium.pgabank.com и php.testsparker.com.
Читать дальше →
Total votes 37: ↑37 and ↓0+37
Comments11

Создание прокси-dll для проверок эксплуатации dll hijack

Reading time7 min
Views9.6K
Когда я исследую безопасность ПО, то одним из пунктов проверки является работа с динамическими библиотеками. Атаки типа DLL hijack («подмена dll» или «перехват dll») встречаются очень редко. Скорее всего, это связано с тем, что и разработчики Windows добавляют механизмы безопасности для предотвращения атак, и разработчики софта аккуратнее относятся к безопасности. Но тем интереснее ситуации, когда целевое ПО уязвимо.

Если описать атаку коротко, то DLL hijack — это создание ситуации, в которой некоторый исполняемый файл пытается загрузить dll, но атакующий вмешивается в этот процесс, и вместо ожидаемой библиотеки происходит работа со специально подготовленной dll с полезной нагрузкой от атакующего. В результате код из dll будет исполнен с правами запускаемого приложения, поэтому в качестве цели обычно выбираются приложения с более высокими правами.

Чтобы загрузка библиотеки прошла корректно, необходимо выполнить ряд условий: битность исполняемого файла и библиотеки должна совпадать и, если библиотека загружается при старте приложения, то dll должна экспортировать все те функции, которые это приложение ожидает импортировать. Часто одного импорта мало — очень желательно, чтобы приложение продолжило свою работу после загрузки dll. Для этого необходимо, чтобы у подготовленной библиотеки функции работали так же, как и у оригинальной. Реализовать это проще всего, просто передавая вызовы функций из одной библиотеки в другую. Вот именно такие dll называют прокси-dll.



Под катом будет несколько вариантов создания таких библиотек — как в виде кода, так и утилитами.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments21

Как понять, что ты действительно бросил курить

Reading time13 min
Views193K

Осторожно, лонгрид. TL;DR. Много курил, давно бросил. Есть интересное наблюдение на тему вредных привычек. Не встречал его в других источниках. У части людей, бросивших курить, годами сохраняется зависимость, несмотря на то, что они не употребляют сигареты. Привычка продолжает косвенно влиять на жизнь. Это можно исправить. Ниже опишу некоторые признаки проблемы и постараюсь ее декомпозировать. Ничего не продаю. Это личный опыт, из которого выжата кое-какая теоретическая база. Может пригодиться, если вы бросили курить, но боитесь рецидивов. Или разделяете один из характерных стереотипов, например: «бывших курильщиков не бывает», «это болезнь на всю жизнь...», «курение — страшное зло». Мне кажется, принцип актуален и для других зависимостей от доступных эндорфинов: тяги к сладкому, обжорства, алкоголизма на обратимых стадиях, игромании и др.
Читать дальше →
Total votes 108: ↑106 and ↓2+104
Comments151

Художественные детские книги про социнжиниринг

Reading time3 min
Views32K


Привет! Я три года назад читал в детском лагере лекцию про социнжиниринг, троллил детей и немного бесил вожатых. В итоге испытуемые спросили, что почитать. Мой дежурный ответ про две книги Митника и две книги Чалдини, вроде, убедителен, но только для примерно восьмиклассника и старше. Если младше — то надо сильно чесать голову.

В общем, ниже — очень короткий список самых обычных художественных произведений. Лёгких, простых, детских. Но про социальную инженерию. Потому что в каждой культуре есть персонаж-джокер, который немного психопат, немного шут и немного эффективный специалист. Список неполный, и я хочу попросить вас его продолжить.
Читать дальше →
Total votes 83: ↑82 and ↓1+81
Comments140

10 лучших техник веб-хакинга 2018

Reading time3 min
Views24K
image

Каждый год сообщество экспертов по веб-безопасности выбирает TOP-10 техник атак на веб-приложения. Организатором конкурса выступает компания Portswigger, разрабатывающая один из лучших инструментов для тестирования на проникновение веб-приложений — Burp Suite.

Под катом вас ждет 10 лучших инновационных техник атак на веб-приложения, отобранных со всего мира.
Total votes 37: ↑34 and ↓3+31
Comments5
1

Information

Rating
1,828-th
Registered
Activity