Rating:
# Share Point - 200 points
Look! I wrote a good service for sharing your files with your friends, enjoy)
share-point.quals.2017.volgactf.ru
Hints:
* flag's location is **opt**imal
### Solution
Авторизация на сайте выдала себя в самом начале, логин и пароль соответствуют следующим регулярным выражениям:
`login [\w]{4,}`
`pass [\w]{8,}`
Так как сайт связан с загрузкой файлов, проверяем какие форматы он принимает.
Грузим пустой файл index.php для проверки и видим, что нам отказано.
Ладно, пробуем загрузить файл с расширением "png".
Всё загрузилось, файл видно и он отрабатывается, его можно скачать или посмотреть.
Были проведены попытки загрузить файл с расширением "png" с кодом PHP внутри, путем подмены названия файла в программе перехвата трафика Charles. Сайт всё также не позволил загрузить, так как проверка стояла после загрузки файла.
Пробуем другой вариант. В ответах сервера мы видем там стоит Apache:
Загружаем файл ".htaccess"
Этот файл позволяет управлять разными настройками сервера Apache.
Вот содержимое нашего файла которое говорит серверу отрабатывать файлы формата "png" как PHP код.
[.htaccess](https://github.com/texh0k0t/VolgaCTF-2017-Quals-Write-Up/blob/master/Share%20Point/files/.htaccess)
```
AddHandler application/x-httpd-php .png
```
Загрузка прошла успешно, теперь пробуем повторить наши действия с загрузкой изображения с PHP кодом.
После подсказки о расположении флага, где жирным было выделено его расположение, травим туда наш код:
[ls.png](https://github.com/texh0k0t/VolgaCTF-2017-Quals-Write-Up/blob/master/Share%20Point/files/ls.png):
```php
```
Пытаемся открыть наш файл, возвращаемся назад и видим, что наш скрипт сработал, создался файл "ls.txt" с содержимым "/opt":
В этой дирректории лежит файл с интересующим нас названием, отправляем второй файл с аналогичным содержанием, что бы его прочитать:
[cat.png](https://github.com/texh0k0t/VolgaCTF-2017-Quals-Write-Up/blob/master/Share%20Point/files/cat.png):
```php
```
В ответ получаем на флаг: