Ivan's work&life thoughts
544 subscribers
367 photos
8 videos
3 files
104 links
Попытка забложить
@jnovikov
Download Telegram
Первые по России, вторые по миру. Уставшие и стильные(толстовки у нас классные)
Вчера провели ShadowCTF, внезапно получилось очень годно для первого большого CTF от нас.

Несколько забавных фактов:
1) Писать код ночью — плохо. Я запорол один из тасков, из-за того, что неправильно назвал переменную. Получился этакий супер-халявный веб.
2) Докер умеет подводить. За час до конца у нас упали все таски на одном из серваков. Почему ? Упал докер демон. Просто взял и отвалился, вроде как мотивируя это тем, что мол что-то там с коннекшенами и вообще у меня лапки(там был очень так себе лог в journalctf).
Решение — перезапустить демона. Внезапно, сработало.
Но, упали все контейнеры. В плане не просто упали, а числились exited. Мол контейнер есть, но он все.
Проблема в том, что если ты захочешь поднять контейнер обратно через docker-compose, то тебе напишут: «Сорри, но контейнер есть, он просто exited»
Собственно решение
docker ps -a | grep Exited | awk "{print $1"} | xargs docker rm
Внезапно написал его примерно за минуту, опыт, хех
3) Дети умеют в реверсы, но мой сложный веб не решили, обидно.
Кстати, если интересно почитать, то вот разбор моего веба - https://telegra.ph/ShadowCTF-2019-Finals-Youndex-Writeup-05-03


В целом все прошло круто, много призов, хорошая оргиназация со стороны ФТП и ШП, да и задачи нам удались.

Если интересно, можете заценить на ctfd.shadowctf.ru, вроде как скоро будет дорешка открыта на ctforces.com, так что можете попробовать себя)
В свой ДР сижу в институте(хотя у нас каникулы), чтобы поговорить с научником о курсаче. Вышка 😕
Вы — компания(или кто они там) Apache.
Вы делаете софт под линукс
У вас есть достаточно удобный брокер Kafka
Как вы будете распростронять его ?
Вообще финал игры престолов очень странный.
В плане, он вроде и логичный, и драматичный все дела, но!
Я ничего не почувствовал после его конца.
После прохождения ведьмака я еще часов 5 читал лор и интересовался: «А что еще там было ? А как эти персонажи познакомились ?»
После просмотра сериала «The end of the F world» я реально гуглил, будет ли второй сезон, и даже стало интересно прочитать оригинальный комикс
После конца игры престолов почти нет эмоций. Вот даже пересмотреть не хочется. Как они это сделали ?
Продолжаю писать про все великолепие ПО в этом мире.
Сегодня речь пойдет о Microsoft.

Мы хотим(на самом деле не хотим) создать OLAP хранилище данных, с кубами и прочим.

Для этого нужно зафигачить SQL-сервер(легко)
Дальше нужно написать ETL-процесс. Мой ETL был прост: возьми данные из csv файла, положи их построчно в таблицу
План вроде огонь, давайте начинать:

1) .csv файлы нужно переименовать в .txt -> ОК, почему бы и нет
2) Я не умею кастить float в decimal и наоборот -> Нууууу ладно, ща немного поменяю табличку
3) Я не могу кастить строки в Date . Почему ? Ну потому что я не умею кастить Datetime в Date и наоборот….(начинает припекать)
4) Я упаду с ошибкой. И скажу что-то около: НЕ МОГУ ПРОЧИТАТЬ СТРОКУ 556123912939123
Что это за числа ?????
Тут я понимаю, что видимо что-то не так с данными, пошел проверять(проверь руками миллион строчек удачи), все норм вроде.
Но ошибка есть. Ничего не получается.
Ладно, давайте напишу свой скрипт на питоне, который сделает тоже самое.
Естественно залогирует место ошибки.
Естественно найдет данные с неэкранированной запятой(!!!), исправим и радуемся.

Вопрос. Почему Microsoft(вроде как многомиллионная корпорация) не может залогировать мне строку, где он упал. Нормально. Просто вот сказать: вот тут я сломался, соррян. Горит безумно(- 2 часа жизни)

Ладно, Python+Руки-Microsoft 1:0

А дальше ? А дальше кайф

Нужно сделать КУБ(это многомерная БД по факту) из моих данных. Окей, импортирую данные, все ок, запускаю ДЕПЛОЙ куба. Иии все падает. Почему ? Потому что SQL Analysis Server запущен не в многомерном режиме.

А как запустить в многомерном ? Ну, надо было при установке правильную галочку выбрать )))00))
Нахожу вариант запатчить конфиг от админа руками(классика же). Помогло.

Ну казалось бы теперь все будет огонь. Запускаю ДЕПЛОЙ куба.

Получаю ошибку — The datasource , 'db name', contains an ImpersonationMode. Чего ? Режим чего ? ? ?
Решение — поменять подключение к БД(нашел на форуме).

Вместо использования аутентификация по текущему пользователю, делаем явно по логину и паролю.

!!!

Что не так с программистами. Почему нельзя жахнуть ошибки явно ? Как можно было до это дойти ?


И спустя почти сутки кубов, данных, майкрософта, форумов MSDN разных версий у вас есть куб. Качаем Tableau, начинаем анализ, кайфуем от многомерности.

А мораль проста — давайте пробрасывать ошибки нормально.
В такой момент err != nil кажется отличным вариантом.
PS: Ели кнопки снизу не вызывают у вас эстетического удовольствия, то вы просто не проходили мой курс «WPF за 2 часа или что такое grid»
Зацените эту штуку
https://curl.trillworks.com
Генерит из curl’овой команды код на Python/Go/etc
Теле2 — просто пиздец
Отношение к клиентам уровня 0
Забавно, телеграмм как бы заблокирован и скачать его официально нельзя.
Но заходим в русский магазин приложений Microsoft. Жмем кнопочку. Работает )
Ох уж этот выпукной из Школы Программистов )
А что вы знаете об однозначности ?
Mom, please

Давно хотел себе телекастер или джаззмастер(или это ягуар), мне кажется надо брать!