param fuzzing

Discussion in 'Этичный хакинг или пентестинг' started by b3, 31 Aug 2023.

  1. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Ищу утилиты/словари для фазинга параметров. В данный момент конкретно для php нужно пофазить GET/POST но и для других ЯП тоже могут пригодится.

    есть такая утилита, в ней я скачал httparchive_parameters_top_1m_2023_05_28.txt кто знает еще что полезное по базам словарей поделитесь.
    Code:
    https://github.com/BlackArch/wordlistctl
    Screenshot_2023-09-02_02-03-40.png
     
    #1 b3, 31 Aug 2023
    Last edited: 2 Sep 2023
    dooble likes this.
  2. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    dooble likes this.
  3. eminlayer7788

    eminlayer7788 Member

    Joined:
    31 Jul 2015
    Messages:
    202
    Likes Received:
    78
    Reputations:
    8
    https://github.com/maK-/parameth
     
    dooble likes this.
  4. dooble

    dooble Members of Antichat

    Joined:
    30 Dec 2016
    Messages:
    231
    Likes Received:
    601
    Reputations:
    145
    b3 and eminlayer7788 like this.
  5. DartPhoenix

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

    Joined:
    15 Sep 2013
    Messages:
    1,107
    Likes Received:
    8,492
    Reputations:
    25
    Любопытно что от фаззинга защититься в целом-то не так сложно. В некоторых случаях вообще просто.
    Все запросы, не соответствующие регулярке отметаются и до свиданья... А то и добро пожаловать в блеклист. Х/з.

    Ты-то знаешь какие должны быть запросы к тебе на сайтенг коль ты его владелец.
     
    Skofield and dooble like this.
  6. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    Это в теории. На практике, если логика внутренней структуры твоего приложения (веб-сайта) хотя бы немного выше примитивного уровня, то работа с "входными данными" часто может закончиться игрой в русскую рулетку.
    Например, насколько мне известно: стандартная практика, когда необходимо хранить "входные данные" в базе данных, - хранить такие данные в сыром виде, а предварительная обработка уже осуществляется в момент работы с ними, которая в последствии, при сложной обработке или обыкновенной невнимательности, - может стать лавинообразной отправной точкой нежелательного поведения.
     
    DartPhoenix and dooble like this.
  7. dooble

    dooble Members of Antichat

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

    Параметры ищут при атаке/пентесте в двух случаях:
    - обнаружили роут, параметры неизвестны, ищем их из предположения, что скрипт имеет уязвимости.
    - есть уязвимость "Mass assignment", например скрипт обрабатывет не отдельные переменные, а заполняет модель входными данными, тогда можем получить ситуацию типа, когда разроботчик из формы регистрации вызывает такой скрипт (который именно эти параметры безопасно обработает), но в модели описано большее количество полей, чем есть в форме (например есть поле user_type, или is_admin), тогда добавив его на вход скрипта - зарегистрируемся сразу админом. Вот с эти борются в приложении. Фреймворки обычно содержат специальные механизмы, которые разрешают заполнять модель только по белому списку.

    Как защититься от фаззинга параметров?
    - безопасно обрабатываем входные данные
    - исключаем возможность массового присвоения параметров
    Этого достаточно.
     
    Skofield and DartPhoenix like this.
  8. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    Коль уж мы начали небольшой оффтоп, то я подумал, что было бы также полезно сделать небольшую "заметку на полях" относительно разграничения сути понятий "Проверка" и "Обработка"...
    Регулярные выражения, безусловно, являются очень мощным механизмом современного программирования, но их суть заключается именно в проверке соответствия последовательности данных заданному шаблону (отсюда можно сделать вывод: в некоторых ситуациях мы можем сопоставить шаблону данные, которые вообще не ожидаем получить). А обработка является либо последующим этапом после проверки, либо этап проверки вложен в контекст этапа обработки.
     
    dooble likes this.
  9. DartPhoenix

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

    Joined:
    15 Sep 2013
    Messages:
    1,107
    Likes Received:
    8,492
    Reputations:
    25
    какайто мысль зарождается у этого господина.
    Вы мне это бросьте !!! :) Мысли эти до добра не доведут.

    Хотя можно подумать... и продать потом.
     
    Skofield likes this.
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Ну в принципе весь софт работает по одному принципу, наверное что-то сверьестественное ожидать не стоит. Больше интересуют специфические словари, не общего назначения где 50к строк в файле.
     
    dooble likes this.