Wget — различия между версиями
Drakylar (обсуждение | вклад) м (→Полезные ссылки) |
Drakylar (обсуждение | вклад) м (→Особенности wget) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 63: | Строка 63: | ||
Подробнее об этом вы можете рассмотреть в статье, посвященной rce. | Подробнее об этом вы можете рассмотреть в статье, посвященной rce. | ||
+ | |||
+ | ===Access List Bypass / Race Condition=== | ||
+ | |||
+ | Уязвимость под номером CVE-2016-7098 позволяет провести атаку Race Condition и обойти ограничение на формат скачиваемых файлов. | ||
+ | |||
+ | Если упростить, то атака заключается в замедлении скачивания конца файла wget'ом. Файл записывается потоком, а проверка на имя файла происходит после скачивания всего файла, в связи с чем важная часть пейлоада будет записана в файл с нужным разрешением и будет храниться в нем какое то время до конца скачивания (до проверки расширения). | ||
+ | |||
+ | ====Ссылки==== | ||
+ | |||
+ | [https://xakep.ru/2016/12/27/exploits-215/#toc01. Описание и Exploit] | ||
+ | |||
+ | |||
+ | ===page-requisites parameter=== | ||
+ | |||
+ | Wget с аргументом page-requisites будет скачивать все ссылки на странице, что в некоторых случаях позволяет обойти фильтрацию URL и скачать нужный нам файл. | ||
+ | |||
+ | ====Пример райтапа==== | ||
+ | |||
+ | [https://security.szurek.pl/boston-key-party-ctf-2016-good-morning-and-optiproxy-writeup.html Boston Key Party CTF 2016 Good Morning and OptiProxy Writeup] | ||
==Райтапы== | ==Райтапы== | ||
Строка 72: | Строка 91: | ||
[https://ru.wikipedia.org/wiki/Wget официальная вики статья] | [https://ru.wikipedia.org/wiki/Wget официальная вики статья] | ||
− | [help.ubuntu.ru/wiki/wget русскоязычная документация] | + | [http://help.ubuntu.ru/wiki/wget русскоязычная документация] |
[https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-332/GNU-Wget.html уязвимости wget] | [https://www.cvedetails.com/vulnerability-list/vendor_id-72/product_id-332/GNU-Wget.html уязвимости wget] | ||
+ | |||
+ | [https://blogs.securiteam.com/index.php/archives/2701 wget rce] |
Текущая версия на 18:20, 31 июля 2017
Нередко встречаются таски, использующие "особенности" работы с wget.
Рассмотрим некоторые из них
Содержание
Особенности wget
Ссылки с редиректами
Если требуется сохранить файл с каким то именем и обойти фильтр - то это то что вы ищете!
Суть фичи в том, что wget сохраняет файл не на который указывала ссылка, а на которую указал редирект.
ВАЖНО!!! Работает не везде (на данный момент известно только MacOS)
Пример работы ссылки с редиректом вы можете видеть на изображении:
Настройка редиректа в NGINX веб-серверах
Для этого требуется отредактировать файл /etc/nginx/sites-enabled/default (файл может отличаться - в зависимости от ОС и ваших настроек)
В главной части вставляем такую строку:
rewrite ^/file1.txt$ http://site.org/file2.txt permanent;
Она будет перенаправлять всех с http://site.org/file1.txt на http://site.org/file2.txt
Настройка редиректа в Apache веб-серверах
В случае с Apache требуется редактировать уже не default, а .htaccess файл. Он должен находиться в папке сайта в которой будет файл с редиректом.
Добавляем в него такую строку
Redirect /file1.txt http://site.org/file2.txt
Перенаправление аналогичное с nginx.
GET параметры
С помощью манипуляцией GET параметров можно манипулировать названием файла и обходить фильтры. Например мы можем загрузить файл с отличающимся расширением:
http://site.org/file1.txt?.php
В итоге у нас будет сохранен файл file1.txt%3F.php который будет интерпретироваться как php исполняемый файл.
Типичная RCE
Так же не забываем, что wget исключительно терминальная утилита и если должным образом не обработать вводные данные, то может быть rce.
Например введем url сайта
http://site.org/file1.txt;ls
и исполнится команда ls.
Подробнее об этом вы можете рассмотреть в статье, посвященной rce.
Access List Bypass / Race Condition
Уязвимость под номером CVE-2016-7098 позволяет провести атаку Race Condition и обойти ограничение на формат скачиваемых файлов.
Если упростить, то атака заключается в замедлении скачивания конца файла wget'ом. Файл записывается потоком, а проверка на имя файла происходит после скачивания всего файла, в связи с чем важная часть пейлоада будет записана в файл с нужным разрешением и будет храниться в нем какое то время до конца скачивания (до проверки расширения).
Ссылки
page-requisites parameter
Wget с аргументом page-requisites будет скачивать все ссылки на странице, что в некоторых случаях позволяет обойти фильтрацию URL и скачать нужный нам файл.
Пример райтапа
Boston Key Party CTF 2016 Good Morning and OptiProxy Writeup
Райтапы
SECUINSIDE CTF Quals 2016 - Trendyweb Method #2