Task # Task #7

Discussion in 'Задания/Квесты/CTF/Конкурсы' started by dooble, 18 May 2019.

  1. dooble

    dooble Members of Antichat

    Joined:
    30 Dec 2016
    Messages:
    231
    Likes Received:
    601
    Reputations:
    145
    osh2.jpg

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

    Задание:
    По адресу http://task7.antichat.xyz/ работают скрипты (исходники приаттачены к посту).
    Нужно "залить шелл" в файл db/info.php и выполнить код phpinfo().

    Сроки:
    Две недели.


    Есть несколько способов решения данной задачи.
    На Античате известно 2 способа, на рдоте нашли 3.
    Соответственно ответы принимаются только от тех, кто пока не видит эти решения, ориентировочно это паблик и lvl8.

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

    Отлаживаться можно и локально, способы универсальные, работают и в никсах и на винде.

    Флагов нет, присылайте решения в ПМ форума, для каждого способа.

    Правила остаются прежними:
    В теме не флудим, подсказки разрешены только от ТС, ответы присылаем в ПМ.

    Прошли:
    =HALK= 1, 2, 3
    topthing 1, 2, 3
    giloo
    1, 2, 3
    Gorbachev
    1, 2, 3
    nix_security 1, 2, 3
    BenderMR
    1, 2, 3
    manfromkz
    1, 2, 3
    danilkib95 1, 2, 3
    IvanV 1, 2, 3
    Раrаdох 1, 2, 3



    Прохождения

     

    Attached Files:

    #1 dooble, 18 May 2019
    Last edited: 1 Jun 2019
    ZodiaX, crlf, Раrаdох and 7 others like this.
    1. Тот_самый_Щуп

      Тот_самый_Щуп Reservists Of Antichat

      Joined:
      23 Mar 2017
      Messages:
      265
      Likes Received:
      174
      Reputations:
      119
      Маленькое уточнение, хоть один из способов решения так или иначе в паблике фигугирует, или предполагается самостоятельно копнуть код, и найти этот байпасс\байпассы?
       
      1. dooble

        dooble Members of Antichat

        Joined:
        30 Dec 2016
        Messages:
        231
        Likes Received:
        601
        Reputations:
        145
        Первый способ описан в паблике давно и достаточно хорошо, не требует дополнительных инструментов, используется только интерфейс скриптов и браузер.
        С телефона можно решить.
        Второй способ (ровно ровесник этого задания) уже требует написать несколько строчек кода, но способ (механизм) уже широко известный и в одном из заданий мы уже ковыряли его. На ачате в паблике есть рыба для такого скрипта.
        Третий способ описан на некотором начальном уровне (и он постарше второго), используется аналогично, но реализацию нужно найти самому (тоже писать небольшой скрипт).

        Сканеры и брут бесполезны.

        Плясать, конечно, нужно от кода.
        Это чисто уязвимость скриптов, а точнее конструкции db/info.php.
        Нужно обойти стоппер
        <?php die('Access denied'); ?>
        и выполнить код, который можно поместить после него.
         
        #3 dooble, 19 May 2019
        Last edited: 20 May 2019
        1. giloo

          giloo New Member

          Joined:
          2 Feb 2019
          Messages:
          28
          Likes Received:
          3
          Reputations:
          4
          Зачем такие явные подсказки?) Это же ломает весь дух
          П.С. я ток додумалась про какой именно стоппер шла речь запустив у себя на виртулке(до последнего думала что проблема в несказанном .htaccess). А тут уже это
           
          dooble likes this.
          1. dooble

            dooble Members of Antichat

            Joined:
            30 Dec 2016
            Messages:
            231
            Likes Received:
            601
            Reputations:
            145
            Первый способ очень простой, делается влет.
            Пока ни одного ответа, ни одной попытки в нужную сторону.
            Впереди работы намного больше, чем догадаться "что же такое - стоппер".

            Когда есть дух - хорошо, так и должно быть и он так просто не сломается.
            Удачи.
             
            1. Тот_самый_Щуп

              Тот_самый_Щуп Reservists Of Antichat

              Joined:
              23 Mar 2017
              Messages:
              265
              Likes Received:
              174
              Reputations:
              119
              А эти попытки должны быть? Может я чего то не понимаю, ковыряю у себя на локалхосте, результаты работы вы всё равно не увидите пока я их не пришлю в ЛС (если хакерского духу хватит )) )
              А пока да, народ слабоват... Нету среди хакеров (ROA >) пока что богатырей.
               
              dooble likes this.
              1. dooble

                dooble Members of Antichat

                Joined:
                30 Dec 2016
                Messages:
                231
                Likes Received:
                601
                Reputations:
                145
                Есть.
                Но они давно богатыри и не одну битву выиграли.
                Намахались уже, просто так за оружие не хватаются.

                Видимо наша очередь расправить плечи.
                 
                1. giloo

                  giloo New Member

                  Joined:
                  2 Feb 2019
                  Messages:
                  28
                  Likes Received:
                  3
                  Reputations:
                  4
                  Только без подсказок пожалуйста)
                   
                  dooble likes this.
                  1. Тот_самый_Щуп

                    Тот_самый_Щуп Reservists Of Antichat

                    Joined:
                    23 Mar 2017
                    Messages:
                    265
                    Likes Received:
                    174
                    Reputations:
                    119
                    А ты вывезешь, без подсказок то?
                    Что то тебя в списке богатырей не наблюдаю :)
                     
                    dooble likes this.
                    1. giloo

                      giloo New Member

                      Joined:
                      2 Feb 2019
                      Messages:
                      28
                      Likes Received:
                      3
                      Reputations:
                      4
                      ой все, не флудим:rolleyes:
                       
                      1. dooble

                        dooble Members of Antichat

                        Joined:
                        30 Dec 2016
                        Messages:
                        231
                        Likes Received:
                        601
                        Reputations:
                        145
                        Кто обошелся без хинтов - молодец.
                        Кому нужна небольшая помощь, она подоспела, осторожно - спойлер.
                        Есть такая интересная тема, как врапперы.
                        Вроде известна давно, можно найти статьи с примерами, кое-что и сами умеем с ними делать, а вот уверенности, что все уже про них расковыряли - нет.
                        Иногда их применение дает почти волшебный эффект.

                        Первый способ использует обертку php://.
                         
                        1. giloo

                          giloo New Member

                          Joined:
                          2 Feb 2019
                          Messages:
                          28
                          Likes Received:
                          3
                          Reputations:
                          4
                          Ураааа))) Я смогла) Без подсказок)
                           
                          #12 giloo, 21 May 2019
                          Last edited: 21 May 2019
                          1. giloo

                            giloo New Member

                            Joined:
                            2 Feb 2019
                            Messages:
                            28
                            Likes Received:
                            3
                            Reputations:
                            4
                            беее))))
                             
                            1. dooble

                              dooble Members of Antichat

                              Joined:
                              30 Dec 2016
                              Messages:
                              231
                              Likes Received:
                              601
                              Reputations:
                              145
                              Так, сдвинулись с места.
                              И даже зарешали второй способ.

                              У третьего способа есть несколько вариантов реализации, пока в зачет пойдет любой из них.

                              ===

                              И да, подсказка
                              сработала в минус для некоторых, попробую переформулировать.

                              Нет способа обойти стоппер, когда вызываем http://task.antichat.xyz:10007/db/info.php
                              но нас никто и не заставляет выполнить скрипт именно так.
                               
                              #14 dooble, 22 May 2019
                              Last edited: 22 May 2019
                              giloo likes this.
                              1. giloo

                                giloo New Member

                                Joined:
                                2 Feb 2019
                                Messages:
                                28
                                Likes Received:
                                3
                                Reputations:
                                4
                                Второй способ найден) Как дела?;)
                                 
                                1. Тот_самый_Щуп

                                  Тот_самый_Щуп Reservists Of Antichat

                                  Joined:
                                  23 Mar 2017
                                  Messages:
                                  265
                                  Likes Received:
                                  174
                                  Reputations:
                                  119
                                  ой все, не флудим ©
                                  Не напоминай... :oops:
                                   
                                  giloo likes this.
                                  1. dooble

                                    dooble Members of Antichat

                                    Joined:
                                    30 Dec 2016
                                    Messages:
                                    231
                                    Likes Received:
                                    601
                                    Reputations:
                                    145
                                    По первому способу.
                                    Враппер php:// практически разжеван в нужном объеме в одной из старых статей журнала Хакер.
                                    Просто прочитай и выполни.
                                     
                                    #17 dooble, 23 May 2019
                                    Last edited: 24 May 2019
                                    1. dooble

                                      dooble Members of Antichat

                                      Joined:
                                      30 Dec 2016
                                      Messages:
                                      231
                                      Likes Received:
                                      601
                                      Reputations:
                                      145
                                      На рдоте задание запускалось с залоченным способом php://
                                      поскольку слишком просто.

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

                                      Есть инклюд файла, в который можем писать произвольную информацию
                                      Code:
                                      if (isset($_GET['page'])){
                                          if (validate($_GET['page'])) include($_GET['page']);
                                      
                                      И это RFI, т.е. можем применять различные обертки (врапперы).
                                      Http://, https:/, ftp:// и ftps:// запрещены функцией validate(), но список поддерживаемых врапперов у php гораздо шире.

                                      Пробуем работать с оберткой php://, просто потому, что она умеет работать с фильтрами, а мы умеем применять ее в инклюдах для чтения содержимого скриптов.
                                      Именно способность фильтровать потоки на чтение и запись нам и нужна.
                                      Т.е. считанный файл и он же, но обработанный некоторым фильтром (или последовательностью фильтров), уже будут содержать различающуюся информацию и этим можно манипулировать.
                                      А штатных фильтров, работающих с php:// достаточно, чтобы составить несколько вариантов RCE.

                                      Ну и не забываем выполнить требование валидатора
                                      Code:
                                          $rules = Array(
                                              'login.php' => OK,
                                              'view.php' => OK
                                          );
                                      
                                       
                                      #18 dooble, 24 May 2019
                                      Last edited: 30 May 2019
                                      eminlayer7788 likes this.
                                      1. dooble

                                        dooble Members of Antichat

                                        Joined:
                                        30 Dec 2016
                                        Messages:
                                        231
                                        Likes Received:
                                        601
                                        Reputations:
                                        145
                                        Следующая подсказка.
                                        Решения основаны на врапперах:
                                        1 - php://
                                        2 - phar://
                                        3 - zip://

                                        Первые два способа довольно очевидны, штатное использование возможностей.
                                        Как приготовить zip - архив, нужно догадаться, хотя существует читерский вариант, он тоже будет приниматься в зачет, но его ценность невелика.
                                         
                                        1. dooble

                                          dooble Members of Antichat

                                          Joined:
                                          30 Dec 2016
                                          Messages:
                                          231
                                          Likes Received:
                                          601
                                          Reputations:
                                          145
                                          В этом задании можно отловить для себя сразу две пользы.
                                          Во-первых, это базовые вещи, их нужно просто знать.
                                          Во-вторых, когда ты их нашел сам, а не просто прочитал решение - они становятся "невырубово" базовыми.
                                          Ну и бонусом прокачивается хакерская догадка и поиск вспомогательного материала.

                                          И вот интересно, вообще то, что открыл, нашел сам - является более качественным материалом и фундаментом твоих знаний, чем та же информация, но полученная как готовые результаты работы других людей.