Comments 8
Как соотносятся между собой флаги secure, httpOnly. Про secure понятно, что передается по защищенному соединению на сервер, а что насчет httpOnly, «доступны только через HTTP-протокол». Кому доступны? Передаются через HTTP на сервер или на клиент? И почему такой ограниченный выбор: или доступны скриптовым языкам, или доступны на сбор по пути между сервером и клиентом?
0
Лучше сразу на примере покажу:
Наличие флага HttpOnly — кука не будет доступна для браузерного Javascript. То есть через <script>document.cookie</script> её не извлечь. Полезно в контексте защиты от XSS.
Наличие флага Secure — кука будет передаваться браузером только по https (если зайти на сайт по http, то браузер куку не подставит)
А ограниченный выбор опций обусловлен браузерными спецификациями. Вот тут можно их поглядеть
Set-Cookie: SessionId="c4ca4238a0b923820dcc509a6f75849b"; Domain=account.test.com; Secure; HttpOnly
Наличие флага HttpOnly — кука не будет доступна для браузерного Javascript. То есть через <script>document.cookie</script> её не извлечь. Полезно в контексте защиты от XSS.
Наличие флага Secure — кука будет передаваться браузером только по https (если зайти на сайт по http, то браузер куку не подставит)
А ограниченный выбор опций обусловлен браузерными спецификациями. Вот тут можно их поглядеть
+4
Secure — передается по https.
httpOnly — передается по http или как?
httpOnly — передается по http или как?
0
httpOnly будет передаваться и по http и по https.
Но через JS её не извлечь (типа no js, http only)
Эти две опции могут сочетаться, следовательно комбинация Secure+HTTPOnly будет означать «куку передавать только по https, а для Javascript её сделать недоступной»
P.S. Да, они непонятно называются, увы :(
Но через JS её не извлечь (типа no js, http only)
Эти две опции могут сочетаться, следовательно комбинация Secure+HTTPOnly будет означать «куку передавать только по https, а для Javascript её сделать недоступной»
P.S. Да, они непонятно называются, увы :(
+4
Мне кажется или в конфиге nginx ошибка(https://pastebin.com/nYp7uVbB)?
```
if ngx.header[«X-Managed»] ~= nil and ngx.header[«X-Managed»] ~= «secured») then
ngx.exit(ngx.HTTP_FORBIDDEN)
end
```
Такое условие ожидает: хедер не равен nil и не равен 'secured'.
Поправьте меня если ошибаюсь.
```
if ngx.header[«X-Managed»] ~= nil and ngx.header[«X-Managed»] ~= «secured») then
ngx.exit(ngx.HTTP_FORBIDDEN)
end
```
Такое условие ожидает: хедер не равен nil и не равен 'secured'.
Поправьте меня если ошибаюсь.
0
В конфиге много разных ошибок.
Действительно, текущее условие НЕ пропустит запрос содержащий заголовок X-Managed с отличным от secured значением, при этом в случае отсутствия заголовка X-Managed запрос БУДЕТ пропущен.
Таким образом смысл в подобной «защите» отсутствует т.к. злоумышленник получит доступ к защищаемой директории просто не выставив заголовок X-Managed. Отдельно стоит отметить, что использовать подобный «ключ» secured в качестве средства ограничения доступа не является лучшим решением с точки зрения безопасности, даже если бы она была корректно имплементирована.
Пример корретной имплементации:
P.S. А ещё там ')' лишняя
Действительно, текущее условие НЕ пропустит запрос содержащий заголовок X-Managed с отличным от secured значением, при этом в случае отсутствия заголовка X-Managed запрос БУДЕТ пропущен.
Таким образом смысл в подобной «защите» отсутствует т.к. злоумышленник получит доступ к защищаемой директории просто не выставив заголовок X-Managed. Отдельно стоит отметить, что использовать подобный «ключ» secured в качестве средства ограничения доступа не является лучшим решением с точки зрения безопасности, даже если бы она была корректно имплементирована.
Пример корретной имплементации:
if ngx.header[«X-Managed»] ~= «secured» then
ngx.exit(ngx.HTTP_FORBIDDEN)
end
P.S. А ещё там ')' лишняя
0
Такой вопрос по пункту 9. Почему бы было не указать программу SSLUnpinning? Если у нас рутованный телефон, то скорее всего на нём стоит TWRP, через него накатываем Magisk и Xposed, через Xposed модуль SSLUnpinning. Тут анпиннинг обходится 1 кликом. Возможно, я что-то не знаю по поводу этого и так делать не надо.
0
Вы правы, модуль «SSLUnpinning» делает примерно тоже самое, что и соответствующая команда у Objection.
Но по личным ощущениям Objection как-то уверенее байпасит пининнг, обновляется чаще и кажется больше библиотек умеет «хукать».
А уж если человек готов накатать скриптик для Фриды, то ему вообще море по колено будет х)
Еще встречали случаи, когда программы детектили установленный XPosed и плохо себя вели из-за этого.
Но по личным ощущениям Objection как-то уверенее байпасит пининнг, обновляется чаще и кажется больше библиотек умеет «хукать».
А уж если человек готов накатать скриптик для Фриды, то ему вообще море по колено будет х)
Еще встречали случаи, когда программы детектили установленный XPosed и плохо себя вели из-за этого.
+1
Sign up to leave a comment.
Как готовят пентестеров? Разбор вступительных испытаний для стажеров «Digital Security»