【每日打靶练习】vulnhub--Billu_b0x(中)

该文详细描述了在Billu_b0x靶场进行的一系列渗透测试步骤,包括主机发现、端口扫描、信息收集(如SQL注入、文件包含漏洞),以及利用这些漏洞进行提权,如通过SSH连接、读取配置文件获取权限,通过SQLMAP进行SQL注入,利用文件上传和任意文件下载漏洞等。

0x00部署

Billu_b0x靶机:下载地址
宿主机:kali2022
目标:获取root拿到flag文件

0x01信息收集

1.主机发现

$ sudo arp-scan -l
//因为靶机与宿主机在同一网段,所以用二级扫描来发现靶机ip

2.端口扫描

//使用namp命令,-p-指定ip,查看哪些端口开放
$ sudo nmap -p- 靶机ip 
$ sudo nmap -sC -sV -O -p22,80 靶机ip
//-sC常见漏洞脚本扫描
//-sV开放端口服务/版本号
//-O操作系统探测

比较好想到的是,这里只有两个开放端口进行利用,所以流程就是在80端口找一些隐藏路径得到能登录ssh的信息进行提权。

在这里插入图片描述

80端口开放查看页面,一个需要账户密码的登录页面,可能存在sql漏洞:
在这里插入图片描述

3.信息收集(漏洞扫描)

$sudo nmap --script=vuln -p21,80 靶机ip

4.路径爬取

对80端口进行一下路径爬取,寻找隐藏信息

$ dirsearch -u http://ip  //没什么特别的结果,继续
$ dirsearch -u http://ip -f -e php,txt,html   //指定扩展名
$ dirsearch -u http://ip -w /usr/share/seclists/Discovery/web-content/common.txt
//指定字典进行爆破
$ gobuster dir -r -u http://192.168.56.107/site/ -x txt,html,php -w /usr/share/seclists/Discovery/Web-Content/common.txt

爬取到很多网页,检查一下
在这里插入图片描述
依次检查以下可访问页面
在这里插入图片描述
在test.php页面发现一个可用来传参的参数file
在这里插入图片描述

任意文件下载

使用burp抓取test页面–>change request method–>Post方式添加file参数,读取一下/etc/passwd
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

漏洞利用

方法一:

根据22端口开放,可以利用其配置文件进行主机账号密码的利用:
读取配置文件位置,var/www/phpmy/config.inc.php 直接查看账户信息:
在这里插入图片描述

在这里插入图片描述

SSH连接

成功获得权限
在这里插入图片描述

SQL注入(SQLMAP跑步出来)

文件包含漏洞

在这里插入图片描述

试着在url中进行包含,发现没有变化,根据传参方式有post和get两种方式,所以试着用burp抓一下然后进行传参:
抓到的包传给repeater然后修改响应方法
尝试读一下之前看到的页面:
c.php,得到一个数据库用户名密码:
在这里插入图片描述
登录到phpmy页面,输入后进入,检查一下数据库内容:
在这里插入图片描述

在这里插入图片描述
具有bash权限:root,ica

文件上传漏洞

尝试上传一个正常图片,文件名为img.jpg:
在这里插入图片描述
根据代码猜测图片地址:…/uploaded_images/文件名
在这里插入图片描述
尝试文件包含:
在这里插入图片描述

任意文件下载

任意文件下载漏洞和文件包含漏洞的方法类似,区别在于文件包含会将指令作为php来进行解析,而文件下载漏洞会将代码下载下来。

源码审计

利用test页面可以文件包含:尝试包含以下panel页面的源码,代码审计一下:

//这里执行的contine命令,不是上传,可以省略。
if(isset($_POST['continue']))
{
	$dir=getcwd();
	//客户端提交的load参数中的./会被替换为空在赋值给choice
	$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']);
	}	
}
//这里是上传的命令,目的是检查上传路径在哪
if(isset($_POST['upload']))
{
//mysqli_real_escape_string:作用转义sql语句中使用的特殊字符(过滤)
	$name=mysqli_real_escape_string($conn,$_POST['name']);
	$address=mysqli_real_escape_string($conn,$_POST['address']);
	$id=mysqli_real_escape_string($conn,$_POST['id']);	
	if(!empty($_FILES['image']['name']))
	{
		$iname=mysqli_real_escape_string($conn,$_FILES['image']['name']);
	$r=pathinfo($_FILES['image']['name'],PATHINFO_EXTENSION);
	//图片后缀白名单
	$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 ))
				{
				//找到这里将文件移动到uploaded_images/.点的作用是拼接字符串
					if (move_uploaded_file($_FILES['image']['tmp_name'], 'uploaded_images/'.$_FILES['image']['name']))
							 {
							  echo "Uploaded successfully ";
							  $update='insert into users(name,address,image,id) values(\''.$name.'\',\''.$address.'\',\''.$iname.'\', \''.$id.'\')'; 
							 mysqli_query($conn, $update)
							}
				}
			else
			{
				echo "<br>i told you dear, only png,jpg and gif file are allowed";
			}
	}
	else
	{
		echo "<br>only png,jpg and gif file are allowed";	
	}
}
}

内核漏洞提权

0x02 总结

主要利用这个靶场对文件包含以及任意文件下载进行巩固

<think>好的,我需要处理用户关于下载billu_b0x的请求。首先,用户提到想通过百度网盘下载这个资源,并引用了某个参考来源。根据引用内容,用户可能已经有一个百度网盘的链接,但需要提取码wxhn。不过,我需要验证这个链接是否仍然有效,以及资源是否安全合规。 接下来,我需要考虑用户可能遇到的问题。例如,链接失效、提取码错误,或者下载后的文件无法正确导入VMware。此外,用户可能对设置NAT模式的网络配置有疑问,或者渗透测试过程中遇到技术障碍。 另外,用户的需求可能不仅限于下载,还可能包括如何配置环境和进行后续的渗透测试步骤。因此,生成相关问题时,需要涵盖下载步骤、环境配置、常见问题解决以及实际应用场景。 最后,要确保回答符合系统级指令,正确使用LaTeX格式,并添加引用标识。同时,保持回答结构清晰,分步骤帮助用户解决问题,并保证信息的准确性和安全性。</think>关于billu_b0x靶场资源的下载与使用,根据引用内容中提供的信息[^1],具体操作步骤如下: 1. **百度网盘下载** - 访问百度网盘链接(需自行搜索最新有效链接) - 输入提取码:$wxhn$(注意字母大小写) - 下载后解压得到虚拟机文件 2. **虚拟机配置** ```bash # 设置NAT模式网络 VMware菜单栏 > 编辑 > 虚拟网络编辑器 > 选择NAT模式 ``` 需确保攻击机(如Kali Linux)和靶机使用相同的网络模式,配置示意图: $$ \begin{cases} \text{攻击机IP} \in 192.168.153.0/24\\ \text{靶机IP} \in 192.168.153.0/24 \end{cases} $$ 3. **渗透测试验证** 建议使用Nmap进行基础探测: ```python import nmap scanner = nmap.PortScanner() scanner.scan('192.168.153.0/24', arguments='-sP') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值