1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-mst-sec-lecture-notes

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
实战篇 余闻同学录.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 00:48 d9e190e

Конспект лекции по обучению «Белая шляпа» от Мист: практическая часть, заметки студентов

Преподаватель: gh0stkey (https://www.zhihu.com/people/gh0stkey/answers)

Редактор: Летающий дракон (https://github.com/)

Лицензия: CC BY-NC-SA 4.0 (http://creativecommons.org/licenses/by-nc-sa/4.0/)

Поиск сайта

Поиск по ключевым словам на Baidu:

Загрузка исходного кода

URL для загрузки исходного кода: http://download.csdn.net/download/u012513463/9701150

Структура каталога:

Слабый пароль

После установки появится следующее окно:

Пароль администратора: admin:123456.

Утечка информации

В каталоге мы ищем файлы SQL:

Мы видим файл /install/install/sql. Мы попробуем получить доступ к нему на случайном сайте:

Доступ есть.

Загрузка файлов

Переходим в бэкенд и видим две точки загрузки: управление интерфейсом и управление альбомом:

Для демонстрации мы выбираем управление альбомами. Сначала мы загружаем случайный PHP-файл:

Появляется сообщение о несоответствии типа файла, а затем отображается тип файла. Мы предполагаем, что программа определяет тип файла для проверки, но ранее упоминалось, что тип можно изменить (см. главу «Загрузка файлов»). Мы используем Burp для перехвата запроса и меняем тип на image/jpg, а затем отправляем запрос.

Файл успешно загружен:

Затем мы используем нож для соединения, обратите внимание, что имя файла начинается с двух точек, обозначающих родительский каталог, поэтому реальный путь — /photos/1480440169.php:

Теперь посмотрим на исходный код, /home/xcgl.php, строка 47:

//Список типов файлов для загрузки
$uptypes=array(  
    'image/jpg',  
    'image/jpeg',  
    'image/png',  
    'image/pjpeg',  
    'image/gif',  
    'image/bmp',  
    'image/x-png'  
);  

Здесь находится список типов файлов. Далее, строка 221:

if(!in_array($file["type"], $uptypes))
//Проверка типа файла
{
    echo "Тип файла не соответствует!".file["type"];
    exit;
}

Программа проверяет тип файла, но кроме этого не проводит никакой другой проверки, поэтому здесь существует уязвимость для загрузки файлов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-mst-sec-lecture-notes.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-mst-sec-lecture-notes.git
oschina-mirror
wizardforcel-mst-sec-lecture-notes
wizardforcel-mst-sec-lecture-notes
master