Anton
Vlad
если не доглядеть, будет инъекция
Anton
не будет если ты не даешь делать так: search?q=<script>…</script>
Vlad
так это пользователи будут делать, а не ты
Anton
на уровне base64 encode тоже маловероятно
Nikolay
иньекция будет если ты query параметры будешь вставлять как html контент
Nikolay
куда то
Anton
Vlad
мб просто в поиске не позволять такие большие массивы данных искать?
Anton
просто энкодить все перед выводом в UI
Oleg
Эскейпить значения - это в первую очередь.
Oleg
К слову, хром блочит если из ссылки в хтмл что-то будет вводится и это будет скриптом
Oleg
Он понимает и защищает
Anton
нет там никакой страшной xss в base64 шорт-линках, просто эскейпить нужно и все
Oleg
Есть другой тип уязвимости
Anton
да, если у тебя нет проверок, то ты можешь base64 дать кому-то и он даже не увидит что там какой-то скрипт
Oleg
Уязвимость состояния
Anton
но с таким же успехом ты и голый линк со скриптом можешь дать, большинство юзеров не заметят
Oleg
Если состояние, воспроизводясь, исполняет что-либо, то можено сгенерить ссылку так что выполнится что-то что нужно злоумышленнику
Anton
Maxim
Коллеги, а есть те, кто съел собаку на node ffi ? Ломаю голову над, скорее всего, очевидной фигнёй, нид хелп, братцы :)
Oleg
Да какой кейс - в стейте можно хранить что-то из текущих инпутов или состояние нахождения на какой-то не той странице. Ещё могут быть ошибки в самом воспроизведении состояния, которые могут сами нажать что-то не то и прочее такое
Nikolay
Nikolay
для либы
Nikolay
что интересует?
Maxim
@JiLiZART есть либа, один из методов которой возвращает "указатель на сообщение об ошибке", я пытаюсь понять как его взять по этому указателю и вывести или как то еще обработать. сигнатура byte*, [byte*, int]
Nikolay
у ffi есть возможность разименовать этот указатель
Maxim
пытаюсь в связке ffi и ref получить какое то значение, постоянно console.log выводит разное, как я понимаю это разные адреса ячеек
Maxim
но когда пытаюсь сделать deref тоже ничего разумного, не нашел близкого примера от которого оттолкнуться можно было бы
Maxim
ща попробую какой то код кинуть сюда
Nikolay
вообще, я делал через ffi-generate — оно генерит js файл на основе заголовка либы
Nikolay
после, подключаешь и работаешь
Nikolay
если разное, это адресс буфера в памяти
Maxim
ну я так и думал, что это не само значение :) просто как его оттуда вытащить и как понять верно ли я это вообще делаю идеологически :)
Nikolay
вот как пример можешь глянуть https://github.com/w3gh/ghost.js/blob/master/libbncsutil/BNCSUtil.js#L36
Nikolay
тут я создаю указатель на строку, скармливаю этот указатель функции
Nikolay
после вывожу
Nikolay
т.е если функция у тебя принимает указатели, то сначала их создаешь из js и скармливаешь функции, после уже toString, или toString('hex')
Nikolay
ну и вот эта штука оч сильно помогла https://www.npmjs.com/package/ffi-generate
Maxim
да, это когда указатель в метод передается, а у меня этот указатель методом возвращается, я делаю так:
const bytePtr = ref.refType(ref.types.byte);
var init = connector.Initialize(logBuffer, 3);
var initBufferized = new Buffer(init);
initBufferized.type = bytePtr;
console.log('STRING: ', decodeMsg(initBufferized));
console.log(ref.deref(initBufferized));
Maxim
мог где то опечататься, вырезал на живую, сначала я описываю то, что ожидаю на return из initialize, но deref ни через ref ни у самого буфера разумного не дает
Nikolay
connector.Initialize возвращает указатель я так понимаю?
Maxim
именно
Maxim
описан как BYTE*
Nikolay
в init лежит указатель я так понимаю?
Maxim
ну я предполагал что так :)
Anonymous
мне очен плохо руский язик , кто поагите мне ... алооооооооооо
Nikolay
предлагаю попробовать init.toString('hex') на предмет рандомности.
если не сработает то var byte = ref.deref(init)
byte.toString('hex')
Anonymous
помагите
Maxim
@JiLiZART ага, спасибо, буду думать, мне главное понять было что я ни в чем очевидном не ошибся, первый раз ffi гоняю
Nikolay
ну тут надо мало мальски понимать Си )
Nikolay
я тупо курил хедеры
Nikolay
и код который работает с этой либой
Nikolay
бывало что надо было делать ref.alloc(255), т.е выделять указатель
Nikolay
а потом подсовывать
Maxim
я минимально понимаю, просто это либа закрытая и описание скудновато :(
Nikolay
круто )
Nikolay
помагите
you can write your question in english as well
Maxim
@JiLiZART все равно спасибо, попробую с вариантом выделения памяти заранее
Anonymous
Anonymous
etot gruppa 1400 chelovek a u menya atvetil 1 cheloveka ... kruto
Maxim
Anonymous
Nikolay
takoi znau :D
Nikolay
a tebe kakoi?
Anonymous
ruskiy i angliskiy . ti mne pomojesh ??
Anonymous
Ахуеть
Nikolay
ники кто во что гаразд
Дима
😎
Nikolay
вово
Oleg
Странный товарищ
Maxim
@JiLiZART заработало, идиотил на сигнатурах, в FFI описал без указателя. Видимо нужно было ffi-generator использовать все таки :)
Gordey
чо здесь происходит 😐
Джон
Джон
помагите алоо
Oleg
Ладно бы если бы и правда не знал
Oleg
Троль какой-то похоже
Джон
ага, забавный зверек )
Anton