1. PHP / Говнокод #17829

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    <?php
    //ключ для xxtea
                    $sekret = mt_rand(1,99999999999999);
            
    
    //фальшыфка для get :D пускай тру хакеры помучаются пару недель :D
    
                    $sol = mt_rand (1, 9999999);
                    $iid = mt_rand (1, 900);
                    $iid = md5($sol.$iid.sha1($sekret.$iid).md5($sol.$iid));
                    $dan = base64_encode($iid);
                    $dan = md5($sol.$iid.$dan.sha1($sekret.$iid.$dan).md5($sekret.$iid.$dan));
    //шифровка ключа который делает розшыфровку :D знаю что  так надёжние :D :D
    
                    $pi = mt_rand (1, 5);
                    $delitil = mt_rand (1, 10);            
                    $mnogitel = mt_rand (1, 15);
                    $dodan = mt_rand (1, 20);
                    $mn = mt_rand (1, 25);
                    $mn1 = mt_rand (1, 50);
                    $procent = mt_rand (1, 5);
    
                    $procent= $sekret / $procent;
                    $sekret = $sekret * $mn / $pi;         
                    $pq = $sekret / $delitil;
                    $pw = $pq /$procent;
                    $output = $pw * $mnogitel ;
                    $otv = $output + $dodan * $mn1;
    //розшыфровка ключа
    $otv = $output / $mn1 - $dodan;
    $sekret =$output * $procent * $delitil / $mnogitel /$mn * $pi;

    https://toster.ru/q/204286

    Запостил: burik666, 20 Марта 2015

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

    • платина
      Ответить
    • А ответы тоже ничего, только их надо постить в раздел "куча":
      Максим Гречушников @maxyc_webber Web-программист
      блиа, оффтоп конечно. но подучите русский язык, ужасно неприятно читать.
      думаю, решив этот вопрос, проблема в задаче так же исчезнет. никому безграмотный программист нафиг не сдался.

      по вопросу: в пыхе есть несколько функций для округлений. к большему, к меньшему и т.п. используйте их

      что эта портянка кода вообще должна делать? возможно данный говнокод можно завернуть узнав о существовании открытого и закрытого ключей, uniqid и пр

      п.с. не старался задеть религиозных чувств. ничего личного.
      Ответить
    • тыж гляди тоже хотел запостить. потом думаю такого говна на ГК и так достаточно. А вот комменты запостить не догадался.
      Ответить
    • хм.. Я автор этого кода.
      Как всем известно xxtea имеет 1 ключ. Так как сервак удалённый я сделал пару не хитрых действий, в итоге я передаю не ключ а 9 его частей (на данный момент). В итоге эти 9 частей я умножаю, делю, добавляю и отнимаю в нужной последовательности. (для того что бы получить ключ и сделать расшифровку данных зашифрованных в xxtea) А в адресной строке тупо несколько хешей (школота на них клюнит 100% ) вот так как то. Если знаете как это всё сделать "не говнокодом" то пожайлуста пример. ИМХО я тоже могу орать говнокод говнокод не поняв сути что там происходит
      Ответить
      • клюнит... болезнь что ли такая? как радикулит.
        Ответить
      • бля, я даже не знаю, откуда начать. пожалуй, с того, что я не ебу, что такое xxtea, но а) вижу применение строго односторонних хэш-функций б) не вижу шифрования вообще (тут что, прямо алгоритм сразу реализуется?)
        Ответить
        • Если я правильно понял, портянка всего лишь генерирует ключ на основе псевдослучайных чисел.

          Алгоритм шифрования готовый. Возможно, даже этот: https://ru.wikipedia.org/wiki/XXTEA (но совпадение названия может быть и случайным). Если совпадение не случайно, то алгоритм симметричен и ключ всего один.
          Ответить
        • P.S. Попытался расшифровать, что нам поведал гость. Если я правильно его понял, он использует симметричный алгоритм, но при этом не хочет раскрывать ключ. Чтобы его спрятать, он вместе с ключом (по открытому каналу!) передаёт кучу лишних данных в надежде на то, что злоумышленник не догадается, как именно передаётся ключ.

          Итого: шифрование, основанное на секретности алгоритма, а не ключа.
          Ответить
      • > Если знаете как это всё сделать "не говнокодом"
        Не передавать ключ. Вообще не передавать. Настроить HTTPS на серваках и не ебать мозг. Ну либо, если хочется симметричной криптографии, то раздать каждой паре серваков общий ключик, который они никому и никогда не будут отдавать, а только юзать для шифрования пакетов и их проверки.

        P.S. И выкинь нахер этот малоизвестный XXTEA, юзай нормальные, проверенные временем и толпами криптографов алгоритмы. AES, к примеру.
        P.P.S. Шифрование не гарантирует целостность сообщений, гугли про Message Authentication Code и Authenticated Encryption.
        Ответить
        • P.P.P.S. И, скорее всего, сайт разломают банальной SQL иньекцией, даже не заметив этих хеширований и псевдокриптографии...
          Ответить
      • И да, ты хотя бы переделал алгоритм, после того как слил его на всеобщее обозрение на хабр? :) Ведь 100500 школьников теперь знают, что хеши там для красоты, а вся сила в арифметике (код прилагается).
        Ответить
    • любое шифрование - подразумевает передачу данных в измененном(зашифрованном) виде. "шифрование самого ключа" - это тупо костыль от малоопытных
      Ответить
      • Передача ключей между Алисой и Бобом элементарно реализуется через Диффи-Хеллмана
        Ответить
        • И настолько же элементарно перехватывается человеком-посредине.
          Ответить
          • ДХ как раз же для того, что бы ч-п-с не мог перехватить ключ
            Ответить
            • > что бы ч-п-с не мог перехватить ключ
              Хе-хе-хе. Пассивной прослушкой не сможет. А активно участвуя в процессе - вполне так. Думаешь сертификаты в SSL от хорошей жизни прикрутили?
              Ответить
              • Вообще да, печально. Ключ по открытому каналу - это вообще печально
                Ответить
                • В общем-то всё ещё печальней - дх, сам по себе, не аутентифицирует стороны. Любой хуй с горы может прикинуться Бобом и подкатить к Алиске. Обмен ключами пройдёт нормально, посторонние этот ключ не увидят, но...
                  Ответить
                  • ...Алиску жестко поимеют. Во всех смыслах
                    Ответить
                    • Вот и остаётся два варианта: либо у Алисы с Бобом должна быть какая-то общая тайна (pre-shared key), либо они должны доверять какой-то третьей стороне, которая подтвердит их личность (как в ssl).
                      Ответить
                      • Но в реале 3 сторона может сливать инфу, а боб - быть треплом, которое по пьяне все разболтало злоумышленнику. Жизнь - тлен
                        Ответить
                        • А Алиса - блядью-блондинкой, которая даёт первому встречному и путает криптографию с порнографией.
                          Ответить
                          • Мне все же приятнее думать, что она наивная прекрасная девственница. А я - злоумышленник
                            Ответить
                            • «А посредине рыжий, с золотыми зубами? Ему и в карты все время везет.»
                              Ответить
                          • >А Алиса - блядью-блондинкой, которая даёт первому встречному и путает криптографию с порнографией.
                            Я джва года жду такое шифрование.
                            Уж боюсь представить какая извращённая роль в этих фантазиях отведена "человеку посередине".
                            Ответить
                            • Вспомнилось http://joyreactor.cc/post/1857698 [NSFW]
                              Только не понял, это иллюстрирует MITM или же нормальную ситуацию.
                              Ответить
                              • Передача данных по широкому каналу?
                                Ответить
                              • > MITM или же нормальную ситуацию
                                Ситуация после SSL хендшейка.
                                Ответить
                              • Контрацептивы не используются, так что это передача по незащищённому каналу!
                                Ответить
                              • Это, скорее, попытка соединить два порта USB-A напрямую. И, кстати, SFW
                                Ответить
                      • Забыл ещё третий вариант - у каждого из них есть свой секрет, и они обменялись какой-то инфой, позволяющей проверить владение этим секретом (PGP, SRP, SSL с самоподписанными сертами и прочая асимметрика).
                        Ответить
                    • >Алиску жестко поимеют
                      http://rghost.ru/6h6ydNlwf.view
                      Ответить
    • Я подумал, что все говно в комментариях, в остальном - такого говна навалом.
      Ответить

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