一、靶场环境
1.靶场说明
靶场来源:Beescms v4.0,下载地址: https://github.com/source-trace/beescms
PHPstudy下载地址:https://www.xp.cn/
2.靶场导入
1、下载,双击运行安装程序
2、安装完成后,打开PHPstudy,点击启动所有服务按钮,等待服务启动完成
3、在浏览器中输入localhost,即可访问默认页面
4、解压压缩文件,然后把文件放到phpstudy的网站根目录。
5、浏览器访问http://127.0.0.1/beescms/install,开始安装。
6、一直下一步,出现如下界面,输入数据库账户密码。
7、成功安装
8、修改mysql.ini 文件,在mysqld 下添加条目: secure_file_priv =,保存然后重启phpstudy,不然用mysql写入文件会报错。
9、安装完成,删除install文件夹。
3.环境说明
kali:192.168.85.142 (NAT自动获取IP)
beescms(靶场):Windows7 192.168.85.147 (NAT自动获取IP)
二、实验过程
1.信息收集
1.1、用kali的dirsearch对网站目录进行扫描
dirsearch -u http://192.168.67.153/beescms-master/
2.漏洞挖掘
2.1、用sqlmap对网站进行注入扫描
Sqlmap.py -u "http://192.168.67.153/beescms-master/product/product.php?id=5" -p id
2.2、扫描完成后,sqlmap没有发现注入点,但是目录扫描发现了管理登录点,尝试对管理登录点进行漏洞测试
2.3、在这里对用户名登录进行sql注入尝试
2.4、发现有sql语句报错
这里是一个渗透点!
2.5、查看能否对管理员登录进行爆破
在这里,可以看到,验证码是有submit来刷新页面,也就是说可以达到控制submit来禁止验证码刷新实现爆破。
3.漏洞利用
3.1 密码爆破
(1)尝试输入用户名密码进行登录
(2)通过burp分析登录需要的参数
可以看到参数里面有user,password,code,submit
通过代码可以发现,submit在用户提交后刷新页面和验证码,所以我们需要在submit=true哪里修改为submit=false就可以让他停止刷新,从而输入一遍验证码即可。
(3)通过burp爆破
根据需要暴力破解的参数并设置成变量,同时选择攻击模式:
sniper:狙击手模式。设置一个payload,先将第一个变量使用字典进行测试,然后再将第二个变量使用字典进行测试。
Battering:攻城锤模式。设置一个payload,如果有多个变量,多个变量同时进行爆破。
Pitchfork:草叉模式。每个变量可以设置一个payload,分别使用对应的字典对变量进行同时替换,攻击次数为最短的payload集合的元素个数。
Cluster bomb:集束炸弹模式。每个变量设置一个payload,进行交集爆破,不同变量的不同字典之间可以互通使用,尝试各种组合。
修改submit=true为false将密码设定为变量对用户、密码进行爆破。
(4)攻击结果
3.2 文件上传利用
登录后台获取系统权限
(1)后台管理中有文件上传的区域
(2)抓包改包
(3)查看
(4)中国菜刀连接
(5)成功
(6)蚁剑连接
(7)成功