Wget — различия между версиями

Материал из InformationSecurity WIKI
Перейти к: навигация, поиск
м (Полезные ссылки)
м (Особенности 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)

Пример работы ссылки с редиректом вы можете видеть на изображении:

Wget-redirect.png


Настройка редиректа в 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'ом. Файл записывается потоком, а проверка на имя файла происходит после скачивания всего файла, в связи с чем важная часть пейлоада будет записана в файл с нужным разрешением и будет храниться в нем какое то время до конца скачивания (до проверки расширения).

Ссылки

Описание и Exploit


page-requisites parameter

Wget с аргументом page-requisites будет скачивать все ссылки на странице, что в некоторых случаях позволяет обойти фильтрацию URL и скачать нужный нам файл.

Пример райтапа

Boston Key Party CTF 2016 Good Morning and OptiProxy Writeup

Райтапы

SECUINSIDE CTF Quals 2016 - Trendyweb Method #2


Полезные ссылки

официальная вики статья

русскоязычная документация

уязвимости wget

wget rce