Слияние кода завершено, страница обновится автоматически
CVE-2024-57765
Обнаружено лабораторией Chaitin Security Research
Продукт с уязвимостью: wangl1989/MSFM
Версия продукта с уязвимостью: до 2025-01-01
Тип уязвимости: внедрение SQL-кодаДетали уязвимости:
${name}
в файле mapper/TableDao.xml
: 47 может привести к внедрению SQL-кода. Этот метод реализован в методе listPage()
. Продолжаем находить место его определения.TableDao
, где в файле com/mysiteforme/admin/dao/TableDao.java
: 21 параметр пути имени помещается в карту отображения и передается методу listPage()
. Продолжаем выяснять, где этот метод вызываетсяcom/mysiteforme/admin/service/ipl/TableServiceImpl.java
: 198. Вызывается метод списка страниц listPage()
, и можно видеть, что эта операция реализована в методе selectTablePage()
selectTablePage()
вызывается на маршруте admin/system/table
. Продолжая анализ, в файле com/mysiteform/admin/controller/system/TableController.java
: 70 все параметры, начинающиеся со s_
, извлекаются из запроса и хранятся в объекте типа Map
. Если карта не пуста, параметры, полученные через HTTP, преобразуются в строковый тип и назначаются параметру name
. Дальнейший анализ показывает, что переданные параметры непосредственно попадают в шаблонный файл admin/system/table/list
введите описание изображения здесь
templates/admin/system/table/list.ftl
: 21, когда пользователь вводит s_name
, форма после отправки передает значение ввода пользователя серверу. Весь процесс не фильтрует или не экранирует значение параметра s_name
. Поэтому, контролируя параметр s_name
, можно активировать уязвимость внедрения SQL-кода. ПОСТ /admin/system/table/list HTTP/1.1 Host: 127.0.0.1:8083 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Cookie: XXX X-Requested-With: XMLHttpRequest24
sql
python sqlmap.py -u "http://127.0.0.1:8083/admin/system/table/list" --data="limit=10&page=1&s_name=1" --cookie="XXXXX" -p s_name --current-db
