1. SQL / Говнокод #17499

    −170

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    CREATE TRIGGER TR_Table1 ON Table1
    INSTEAD OF INSERT
    AS
    INSERT INTO Table1
    SELECT * FROM INSERTED

    Диалект MS SQL
    INSTEAD OF INSERT - триггер, отменяющий вставку и передающий список значений, указанных в запросе в псевдотаблице INSERTED.

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

    Запостил: German_1984, 23 Января 2015

    Комментарии (57) RSS

    • Tq²4ÔHû1oöĬKSεMSMvγZ iDØLӀQrF5S8ØbÀ yI1´N2∀mèȎÌO⊇5Týqt1 voÃãĀÂrÞc lxteDÅEu0Ȃ8F⊆2TcãU¦ĨPG55NrYη²GdK¨E 0tToȰ6V§AFg2ü8Ft∧f5ȨÄöpnŘXU2è!
      T8iFφӇG⌈èéĖÚΦZ¯ȒülÊTȨ09¡W OeþÌΆΨ§©′Ŗck95ɆÔÙΑ3 vA∧N2479h8V 9—ÝÙFzℑÜ4ĘDO8¨MÝ&Ç⋅Άtyé0Ł202QΕ8zNι ∂Î5wM1PFüЕlAóΧM55u¯BoÝìEÊ11k0Я2áMàSj09« Õ00LWGiî²Ȋ«⊥F9Tã¸RòǶ8jÏ9ȊWthUNÉË·p L∞253æûe u58GM6Gg£ȴ>ï9QĹkåYvƎn⁄IvSnhrT RÛV‾ǬJu∅ΦFoù28 „2TõҰ98ÓJОtxv8Ǘφvn¶ŖbÁv0 á³τ2Lå⇑⇒2Ő9x‰ÅҪc≤qCΆÔ6ζÊTgΑébĺb∂i3Ȫ2¢3ûN A
      T7Z¡HԊ3ο©ϒɆî26tSgζτLĒ4Z″7 ²SÁuWÎ4uèǑiC6NMNA¯¸ĚnÎr­N3o»8 sEW2Αî¦4PŔÓè2zɆXXBS 4HVÿȰυ¡0INℑM9ÃŁ↑µ7ÅÝ®Ä1∂ m7RWĽ6qk2ОEqvÝȬsÌG1Ԟ9Ajjĺø»G1Nó½£üGÀüG¹ 6Á4VFg2¡ZȮ2«ð2Ȑ6Ö5f ¼æB°ČΖ6·eȀbû7ASjBà¿Ǔ³9rηА692eLÓtHH 3T¨˜S£‹ÿOȨ3Kl9XFÛÈ−U≅òpzӐ©505ĻaèFw h°RuĒé∋c÷N·6¡eϹb72EȪbö¨¸Ũpzé∉NákbQT⌊jQöĒ Lu¤ÅȒe¥grS
      Ответить
      • еще один вариант лички на ГК. Причем, опять без правки кода
        Ответить
        • А не поправить ли нам бибикод?
          Ответить
        • Я когда-то задумывался о том, что надо сделать безопасную личку (или комментарии на ГК надоумили, точно не помню).

          Суть такова: есть специальный клиент, который мониторит выбранный пост/сток на предмет приветствия. Далее клиент создаёт свой комментарий, в котором пишет ответ и подтверждение доставки. Общение идёт через два комментария, сообщения шифруются (желательно - с автоматическим обменом ключами). Увидев подтверждение, клиент перезаписывает комментарий новой порцией данных. За несколько секунд до истечения таймаута редактирования комментарий заменяется на пустой (или на "лакни мои яйца" для удобного централизованного удаления Страйкером), а ответ пишется в новый комментарий. Клиент рассматривает 1 (или N) последних комментариев как ответ.
          Ответить
          • А ключи как передавать, чтоб другие не увидели?
            Ответить
            • Асимметричную питушню использовать. Только не знаю, это будет слишком накладно с точки зрения объёмов и частоты правок для инициализации, или жить можно.
              Ответить
              • Три сообщения для аутентификации и Боба и Мэри же.
                Ответить
              • Так любой хрен может сделать в уме те же действия, что и переписывающиеся, если он будет видеть всю переписку с самого начала.
                Ответить
                • Хрен не знает ни приватный ключ Мэри, ни приватный ключ Боба.
                  Ответить
                • ассиметричная питушня позволит тебе писать сообщения, шифруя твоим открытым ключом, который знают все и секретом не является
                  читать сможешь только ты, т.к. только ты знаешь свой закрытый ключ
                  а ГК должен являться удостоверяющим центром - при регистрации юзеров выдавать пару ключей подписать твой X.509 запрос на сертификат, незачем ГК самому генерить твой закрытый ключ, вот ещё
                  Ответить
                  • ГК - недоверенный канал с кучей долбоебов-in-the-middle
                    Ответить
                    • что значит mitm
                      автор сообщения известен, попробуй от моего лица пописать
                      всё на виду
                      Ответить
                      • > автор сообщения известен
                        Ну раз мы доверяем страйкеру и серверу ГК - можно выложить сюда свой публичный GPG ключ и задача решена.
                        Ответить
                        • Да не нужна же trusted authority, тем более в простейшем случае two-party communication.
                          [hr]
                          Здесь написал defecate-plusplus.
                          Ответить
                          • А как я узнаю, сам ли d++ предлагает мне свой ключ, или это админ балуется, и показал мне такой коммент (не показывая его самому d++, чтобы тот не пропалил)?
                            Ответить
                  • Но здесь придётся доверять ГК, ведь его админ может наделать левых сертификатов, в которых написано "defecate-plusplus"... А потом доказывай, что ты не верблюд...
                    Ответить
                • Может, конечно. Это атака man in the middle. От нее, к сожалению, помогает только обмен ключами по какому-нибудь доверенному каналу (хотя бы раз в жизни) или доверенное лицо (те самые корневые центры сертификации x509).
                  Ответить
                  • Позволю себе уточнить. Хватит обмена не ключами, а отпечатками ключей. Как в том же PGP сделано. Ещё забавно, что PGP в качестве отпечатка позволяет использовать не только числа, но и некоторый слоговый язык (что бы по телефону было проще диктовать).
                    Ответить
                    • > Хватит обмена не ключами, а отпечатками ключей.
                      Ну сам открытый ключ или серт один хрен куда-то придётся выложить (например на сервер распространения ключей), т.к. по отпечатку его не восстановишь.
                      Ответить
                      • Ну это да. Я просто к тому, что доверенный канал нужен только для подтверждения ключей/сертификатов. Для обмена ключами он не нужен.
                        Ответить
                        • Ну да, согласен. На самом деле можно даже без доверенного канала, если есть какой-то общий секрет, который можно сверить без разглашения. Хотя, раз он у них есть, значит эти 2 чела когда-то встречались или имели доверенный канал...
                          Ответить
                          • Кстати, забавная мысль - использовать arbitrary общий секрет для авторизации. Типа, Алиса и Боб вводят цвет стен подъезда, где ои жили в детстве, на основе чего протокол их аутенфицирует. Жаль, пространство таких секретов не очень большое.
                            Ответить
                            • > общий секрет для авторизации
                              Аутентификации всё же. Это в общем-то известная идея. Проблема только в том, где добыть хороший секрет.

                              > Жаль, пространство таких секретов не очень большое.
                              Угу. И не особо хорошо распределённое... Хотя если десяток вопросов подготовить - может и прокатит. Плюс злоумышленник мог тоже жить рядом с ними или как-то выяснить или подобрать эти ответы...
                              Ответить
                              • Ну я думал о том, что Алиса и Боб сами будут выбирать вопрос. Но даже в таком случе, вариант ответа не очень большой: имя, цвет, небольшое число, кличка,.. Если фантазия хорошая - ответом может быть что-то более экзотическое, но не стоит на это рассчитывать. Так что шансы угадать есть.
                                Ответить
                    • P.S. А еще есть прикольная атака на отпечатки - люди, зачастую, халатно относятся к проверке, и смотрят только несколько символов с конца, с начала и т.п., поэтому злодей подбирает такой ключ, чтобы его отпечаток был на первый взгляд похож на нужный, а потом подсовывает его жертве...
                      Ответить
                      • Ну не знаю можно ли назвать это атакой. Криптография тут не поможет. Ровно так же, как она не может запретить принимать недовереные сертификаты в браузере, подписывать нечитая кредитные договора, пользоваться феном сидя в ванной и делать другие интересные штуки.
                        Ответить
                        • > Ну не знаю можно ли назвать это атакой.
                          А в том и суть, что проще сыграть на человеческих слабостях, чем пытаться наебать бездушный калькулятор....

                          > Криптография тут не поможет.
                          Угу. Поэтому security != crypto. Там еще целая куча важных вещей.
                          Ответить
                      • Давно пользуюс PGP для личной переписки. Все хорошо, только жопа в том, что если потом хочется прочитать, что сам писал нужно либо отправлять самому себе копию закодированую своим же ключем (компрометирует получающую сторону), либот только по памяти...
                        Ответить
                        • > копию
                          А если просто добавить себя в получатели? Или это и имелось в виду?

                          > компрометирует получающую сторону
                          Каким образом?
                          Ответить
                          • Да, именно это и имелось в виду. Если отсылать себе тоже, то это как раз и будет копия.
                            Если злоумышленик получил доступ к моему ключу, то он сможет прочитать переписку обеих сторон.
                            Ответить
                            • > Если отсылать себе тоже, то это как раз и будет копия.
                              Но как это компрометирует другую сторону? Если злоумышленник украл твой ключ и письма - он и так прочитает все её сообщения. Скорее это компрометирует тебя, т.к. позволяет прочитать еще и твои реплики.

                              P.S. Если разговор настолько секретный, имхо, есть только один выход: вообще не хранить сообщения.
                              Ответить
                            • P.P.S. А еще PGP, насколько я помню, не обладает forward secrecy, поэтому компрометация ключа в любом случае полная жопа.

                              > вообще не хранить сообщения
                              И общаться через протокол с perfect forward secrecy. Так хотя бы старые сообщения, до момента компрометации ключа, никто никогда не прочитает. Проблема в том, что все PFS протоколы онлайновые, требуют обмена несколькими пакетами и не особо подходят для писем.
                              Ответить
                            • > Если злоумышленик получил доступ к моему ключу, то он сможет прочитать переписку обеих сторон.
                              А на деле всё еще хуже - он сможет писать письма от твоего имени. Если упёр ключ подписи, а не только ключ шифрования, конечно.
                              Ответить
                              • > Если злоумышленик получил доступ к моему ключу, то он сможет прочитать переписку обеих сторон.
                                ПРИШЛО ВРЕМЯ ПИСАТЬ ЮЗЕРСКРИПТ
                                УКРАДИ КУКИ, УКРАДИ ИХ ЕЩЕ РАЗ
                                Ответить
                                • Use httpOnly, Luke!
                                  Ответить
                                  • Ага. На гк.
                                    Это я борманду говорю, пусть пишет очередной юзерскрипт реализующий личку, но с некоторыми невидимыми побочными эффектами.
                                    Ответить
                                    • Кстати, а почему HTTPOnly так редко используют на сайтах?
                                      Ответить
                                      • Видимо потому что не шарят.

                                        Офф: Вообще непорядок что у меня куки свитера и пейсбуха.
                                        Притом что я заносил последний в hosts, но иногда таки приходится его открывать.
                                        Есть хинты как бороться с этими блядскими панельками, но так чтобы сайт открывался?
                                        Юзерскриптами резать iframe[src=*]?
                                        Ответить
                                        • Извращенцы могут поднять на локалхосте сервер, который вместо виджетов соцсетей будет отдавать пустышки.
                                          Ответить
                                          • Ээ. В интернетах советуют всякие плагины типа ad-block и disconnect, но хочется чтоб сразу во всех залочилось.
                                            Ответить
                                        • Просто чтобы кукис не хранились? Ctrl+i > permissions > там уже легко разобраться.
                                          Ответить
                                          • >Ctrl+i > permissions > там уже легко разобраться.
                                            Это где?
                                            Ответить
                                            • Огнелисе. В Хроме вроде нет горячих клавиш для этого: контекстное меню > Page Info.
                                              Ответить
                  • >> сделать в уме те же действия, что и переписывающиеся
                    > Это атака man in the middle
                    Почему? Это же не MITM, это "человек сбоку". Пусть себе записывает.
                    MITM может делать только Страйкер, вычислив свои ключи, изменяя сообщения и показывая разным залогиненным пользователям разные сообщения.

                    Для обмена ключами есть асимметричная питушня Диффи-Хеллмана, от подмены личности с помощью учёток ГК нас хранит честное слово Страйкера. Вроде же нет проблем?
                    Ответить
                    • Ну если мы верим Страйкеру (а заодно его хостеру, провайдерам по цепочке и ФСБ) то да, проблем нет.
                      Ответить
                    • >от подмены личности с помощью учёток ГК нас хранит честное слово Страйкера
                      Скорее его похуизм. Это гораздо более весомый фактор.
                      Ответить
                      • А вообще - если кто-то пишет как ${name}, думает как ${name}, и может запостить что-нибудь на какой-нибудь гитхаб от имени ${name} - значит он и есть ${name}. Один хрен нам про ${name} больше ничего и не известно...
                        Ответить
                    • > от подмены личности с помощью учёток ГК нас хранит честное слово Страйкера
                      Ну как я и писал выше - нужно либо доверенное лицо (в данном случае сервер ГК и Страйко) либо безопасный секс канал на какое-то время (возможно давным-давно в прошлом, если память хорошая).
                      Ответить
                      • Просто Тарас написал "любой хрен", Вы - "MITM", но надёжные Страйкер и ФСБ - далеко не любой хрен, мне ситуация показалась странной.
                        Ответить
                • Кто-то не умеет в асимметричную криптографию. Тарас, ты меня разочаровываешь! Я думал, что ты знаешь все
                  Ответить
      • ШТА это?
        Ответить

    Добавить комментарий