vulnhub靶机AI-WEB-1.0渗透测试
靶机下载地址:https://www.vulnhub.com/entry/ai-web-1,353/
下载后把靶机的网络适配器和攻击机kali的网络适配器改为Net模式。
kali的IP地址:192.168.245.153
渗透测试过程
主机发现:
方法1:使用netdiscover二层发现工具
netdiscover -i eth0 -r 192.168.245.0/24
方法2:使用nmap扫描网段内存活主机
得到靶机的IP地址192.168.245.135后,使用nmap -A 192.168.245.135得到靶机开放的端口80和其他信息。
/m3diNf0和/se3reTdir777/uploads目录无法访问。尝试访问http://192.168.245.135/se3reTdir777/发现可以访问。
看到这种一搬会想到是否有sql注入。在表单中输入1,页面返回正常,输入1’页面报错,报错信息出现了MySQL,输入1‘#页面正常返回,所以存在字符型注入。由于参数是通过post方式提交的,所以用BurpSuite抓包。
可以将抓到的数据包保存为.txt文件,使用sqlmap的-r参数读取数据包进行post注入,也可以使用sqlmap的参数–data指定提交的参数名称和值。比如:–data “uid=1&Operation=Submit”,这里我把数据包保存为ALWEB.txt。用sqlmap开始注入。
information_schema是MySQL自带的数据库,所以获取aiweb1数据库的数据就行。
对password字段的数据进行base64解码。
然后通过sql注入获取shell。
先查看下mysql的权限
尝试使用–os-shell获取shell
使用–os-shell的条件
(1)具有file权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,php主动转义的功能关闭
通过dirsearch工具扫描发现http://192.168.245.135/m3diNf0/ 目录下有info.php文件,访问后可以看到PHP的配置配件。得到网站的根目录/home/www/html/web1x443290o2sdf92213
输入1’后直接报错,说明后台没有对单引号进行过滤。开始通过–os-shell获取shell。
尝试访问每个文件,找到-os-shell的上传页面
然后上传一个恶意脚本hack.php。
执行ls命令看到hack.php,上传成功。
在kali中监听1234端口。然后在os-shell运行hack.php。
当前用户的权限,输入id
uid=33,不是root用户(root用户的uid=0)。查看该用户对/etc/passwd拥有的权限
发现该用户对/etc/passwd有写入权限。所以开始提权。
尝试添加一个用户,由于写入的时候密码是加密的,所以要先加密密码。
写入后切换用户报错,尝试提升为交互式shell,再切换用户:
切换用户成功。输入id查看test用户的uid是否等于0
uid=0,提权成功。执行cd /root和ls发现有一个flag.txt的文件,cat flag.txt查看flag。
来源:freebuf.com 2021-05-20 11:01:47 by: yangyanlong
请登录后发表评论
注册