Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2021 April 14

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Ну так непонятно, два таба или один таб
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Там про это спор и был...
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
я так понял имеется в виду что там всегда 1, но в редакторах будет заменяться 1 таб на X пробелов(благодаря настройкам редактора)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Какая дичь
Таб всегда один
А вот отображаться он может и как два пробела, и как двадцать два
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Если они именно о табах спорили, то что-то не так с ними
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
но когда вложенность большая, то табы по-моему вообще плохой вариант = начинают смешиваться с пробелами и выходит ерунда
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Вы недооцениваете
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Как это?
источник

IB

Iaroslav Blinkov in NodeUA - JavaScript and Node.js in Ukraine
А корпоративные( арбитрарно) стандарты и настроенные линтеры?
источник

KR

Kostyantin Randomnam... in NodeUA - JavaScript and Node.js in Ukraine
какая дич, пробела всегда два :)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
А таб один :)
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
🔗
По мотивам предыдущего поста про base64. Если бегло пробежаться по гитхабу, то можно найти дохрена примеров отзыва JWT токена через добавление его как есть в черный список. In-memory или в redis какой-нибудь. Прямо в base64 форме.
Проблема в том, что два токена:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.CDfhHu9_n2jSQGHcUwmSgZLL1OKEGjK4hw6D3Q40MA0
и
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.CDfhHu9_n2jSQGHcUwmSgZLL1OKEGjK4hw6D3Q40MA1
оба валидны (можете сами проверить на https://jwt.io/ секретный ключ - secret6). И если добавить в черный список только один, то можно поправить один символ и ходить на апи дальше.
Если вы думаете, что люди так делать не будут, то ошибаетесь. Я спросил в чате про го народ как они блочат токены и первый ответ был именно такой. Или вот библиотека на гитхабе на 13 тысяч звездочек https://github.com/feathersjs/feathers  и в документации у них написано делать именно так https://docs.feathersjs.com/cookbook/authentication/revoke-jwt.html

По сути это у кучи народу дыра в безопасности. На практике она минорная и хрен заэксплуатируешь, баунти за неё не получишь, а ходить репортить просто так лично мне лень.
Вот такое вот IT-говно.
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
Тут не так давно группа по jwt проскакивала, вот это туда же)
источник

N

Nikita in NodeUA - JavaScript and Node.js in Ukraine
не совсем понял как вы изменили букву в подписи так что токен остался валидным
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
не я, жто с гоферского чата
источник

N

Nikita in NodeUA - JavaScript and Node.js in Ukraine
ну не к вам вопрос, а вообще тогда)
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
блин, тут нельзя медиа переслать
источник

N

Nikita in NodeUA - JavaScript and Node.js in Ukraine
во во
источник

JK

Jasin Ko in NodeUA - JavaScript and Node.js in Ukraine
вот https://ibb.co/VtBF5gf

Внезапно открыл для себя что соотношение между base64EncodedText - PlainText не однозначное. 
Для одного PlainText иногда можно подобрать несколько base64 текстов.
источник

АМ

Андрей Москаленко... in NodeUA - JavaScript and Node.js in Ukraine
можно было ссылку на сообщение кинуть https://t.me/subchan/1156
источник