1.Billu_b0x靶场下载链接:
https://download.vulnhub.com/billu/Billu_b0x.zip
2.下载后,解压出ova文件,直接拖至VMware中,重命名和选择存储位置,点击导入,报错点击重试即可。修改网卡为NAT模式。
打开靶场
3. 打开kali,扫描网络主机,找到靶机ip
先查出kali的ip
nmap扫描同C段的主机,nmap 192.168.182.1/24
发现该靶机ip为:192.168.182.160 开启22 ssh端口、80
4. 80端口开启, 物理机浏览器访问靶机ip,查看网页
5. kali的1dirb扫描敏感目录
6. 逐个查看扫描出的各个可用地址
(1).../add 发现有上传文件页面,需要找寻查看上传文件的存储位置
选择一张图片上传,无结果提示
(2).../c 无页面显示
(3).../head 是背景图
(4).../in 发现phpinfo() 信息
(5).../index .../index.php 均为默认网页
(6).../panel 是302 重定向跳转至默认页面
(7).../show 无页面
(8) .../test 页面显示 file参数为空,参数可控 存在注入问题
7. 尝试注入
(1)url进行get传参
test?file=/etc/passwd 查不到 换成file=../../../../../etc/passwd 无结果
(2)get方式不行,换post请求
使用BurpSuite抓包改,或者使用curl直接post提交。
kali输入:curl -d "file=/etc/passwd" http://192.168.182.160/test
发现shell为/bin/bash,即可用账号为root和ica
8. 使用test的file参数查看index.php默认页面的源代码
(1)scurl -d "file=index.php" http://192.168.182.160/test
发现头部包含c.php文件和head.php文件
还找到login登录的判断语句,发现pass使用了\ 拼接 ,而uname拼接了‘\’, 代替了单引号闭合数据的作用。
(2)考虑使用\进行闭合数据来注入
回到登录界面,进行注入
uname:or 1=1 #\ password:\ 登录成功
进入panel.php
8. Show Users 点击 continue,看到两个User和对应的两张照片
9. 文件包含查看c.php源代码
发现一个SQL的用户名和密码 billu b0x_billu,但暂时未发现可利用的页面。
10. 写一个图片马木马文件上传
选择“Add User“,点击continue,出现上传页面
上传一个php空文件,提示:只有png、jpg、gif文件才能上传
写一个图片马木马文件保存为1.jpg。
上传该jpg文件, name、address、ID 任意写。
在点击upload之前,记得BP捕个包,记下Cookie值。
Cookie值:PHPSESSID=8736797tsmopjhlpke7r54u7q5
点击放行,关闭拦截,页面显示上传成功
11.访问上传的木马文件
点击Show Users--continue,发现上传的记录,在该图片上右击鼠标,在新标签页打开。
http://192.168.182.160/uploaded_images/1.jpg 木马文件访问路径
文件包含条件不满足,无法解析文件,另寻他法
12. 回到panel.php页面,BP抓包
开启BP和浏览器代理,选择 Show Users,点击continue抓到包
发现load的值为show,改为我们的图片马的路径。发现页面显示出:GIF89a,代表php代码执行
13.尝试蚁剑连接
直接使用该页面url和cmd,无法连接,点击左下角的“请求信息”。
还记得,我们上面保存了一个上传文件时的Cookie值:PHPSESSID=8736797tsmopjhlpke7r54u7q5
以及上一步捕包中,load和continue值,
分别为:uploaded_images/1.jpg、continue。请求包中,一个Head,两个请求体
点击Body添加第二个Body。 分别输入值。点击测试连接,显示成功。
点击添加,连接成功。双击可查看目录
本次练习,靶场仅做到获取shell的部分。其他操作,请参考其他完整的攻略。
对于每位读者,希望可以帮助到你们。
---------------------2025/3/18 19:24