环境准备
靶机链接:百度网盘 请输入提取码
提取码:76ft
虚拟机网络链接模式:桥接模式
攻击机系统:kali linux 2021.1
信息收集
1.探测目标靶机ip
2.用nmap查看靶机开放端口和服务
漏洞探测
1.访问8080端口,没有利用信息。
2.访问敏感目录robots.txt 没有利用价值
3.故意输入错误,提示报错后,发现其信息,访问mercuryfacts
4.进来之后,发现俩个目录,点击load a fact
5.页面跳转到192.168.1.101:8080/mercuryfacts/1/
6.怀疑网站存在SQL注入漏洞,所以输入2,3得到如下信息
7.输入9之后没有查询到信息 ,可能网站存在进行SQL注入
漏洞利用(sql手工注入)
1.第一步,进行手工注入
2.order by 的时候报错 所以网站存在SQL注入漏洞
3.注入命令,得知数据库为mercury
4.然后爆表,注入命令得到facts,users 很明显users是用户表
Fact id: 3 union select group_concat(table_name) from information_schema.tables where table_schema='mercury'. (('Mercury is the closest planet to the Sun.',), ('facts,users',))
5.爆字段,成功得到字段 id username password
6.用户名,密码摘下来!
john:johnny1987 laura:lovemykids111 sam:lovemybeer111 webmaster:mercuryisthesizeof0.056Earths
权限提升
1.由于22端口开放,又有用户名和密码 所以直接进行登录(靶机重启过ip改变了)
2.sudo -l 需要进行输入密码 这是没有sudo权限 然后进行ls -l /home 查看家目录下文件
发现一个linuxmaster用户 可能是root权限 ls -la 查看所有目录
3.密码末尾的== 可能为base64编码 再打开一个命令行 进行解码 密码是meandiameteris4880km
知识点:base64 -d 是解码 没有-d 是编码
4.成功登录linuxmaster用户
sudo -l 查看执行权限,发现SETENV设置
环境变量 ,就是在运行命令的时候要指定一个环境查看下.sh文件的执行权限,只有root权限才能写入
5.cat一下这个.sh文件 发现他是用tail ,tail -n 10 /var/log/syslog是显示syslog文件最后十行,
最关键的一点是.sh文件的执行主要靠syslog的运行 而tail这个命令,他又只显示最后十行,我们又要利用tail,所以软连接vi 用vi来中断执行达到提权目的
ln -s 源文件 目标文件 // 创建软连接
6.sudo --preserve-env=PATH /usr/bin/check_syslog.sh
成功提权,进入root目录,查看flag.txt,拿下!!!