夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色
Vulnhub 学习记录 -1

Vulnhub 学习记录

Billu_b0x

0x00 靶机信息

下载链接:

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

0x01 初看

根据题目提示,该处存在sql注入漏洞。 但是经过测试,发现登录处始终无法注入。

0x02 信息收集 — 扫目录

使用DirBrute 扫描目录:

使用 kali Dirb 工具爆破目录

总共得到的目录文件信息:

得到以上文件,依次访问,得到这些页面的信息

add -> 文件上传 c -> 空白页 images -> 目录 in -> phpinfo index -> 首页 show -> 首页 test -> 提示需要file 参数 uploaded_images -> 上传的图片 phpmy -> phpmyadmin

0x03 任意文件下载

访问 test.phptest 文件

/test页面测试发现需要通过POST请求提交参数 file, 存在文件包含(下载)漏洞。

因此可以下载网站源码,分别如下:

index.php

c.php

show.php

add.php

panel.php

0x04 配置信息泄露

c.php 中发现mysql用户名密码 以及库名。 但是3306端口并没有开放,所以无法直接连接。该种情况想要连接,有:

  1. 使用ssh进入服务器,本地连接数据库
  2. 该靶机存在phpmyadmin之类的mysql管理工具,并暴露出来。

在这里 第一种情况显然不可能。因此就可以用上面发现的 phpmyadmin登入数据库.

使用上面的mysql 用户名密码登录成功。

进入数据库,可查看web应用的用户名和密码,并且是明文保存

0x05 代码审计 文件上传 getshell

登录后看到有文件上传的接口,上传的文件保存在 uploaded_images中,说明web用户对该目录具有可写权限。

审计 panel.php代码可知,由于白名单的限制,我们无法直接上传.php后缀的 webshell,因此考虑构造上传图片马。

该处 $_POST['load']并未经过处理直接传入了include 函数。因此存在本地文件包含漏洞.

构造图片马 上传,并通过文件包含执行:

写入webshell 并连接。

0x06 Linux内核提权

首先查看 内核版本 uname -a

通过搜索得知该版本linux内核存在提权漏洞 (CVE 2015-1328) 参考: https://www.exploit-db.com/exploits/37292

将exp上传至服务器的 /tmp 目录:

编译并执行, 成功提权:

0x07 其他思路

在上面的整个流程中,并没有用到题目给的信息 :

因此考虑该处是否可以绕过过滤进行sql注入。 看 登录逻辑处的代码

该段代码将 单引号过滤为空后,拼接进sql语句字符串,因此可以考虑使用\',在将'替换为空后,将留下 \,同时 ,\在sql中是作为转义符,因此可以通过转义一个自带的单引号,来进行sql注入.

构造payload: 'or 1=1 -- \' 或者可以直接构造 : or 1=1 -- \ 构造后带入语句如下:

成功注入并登录。

暂无评论

发送评论 编辑评论


				
上一篇
下一篇