SkyTower打靶记录

主机探测

ip为192.168.31.107 端口扫描

这里注意到22端口被过滤了,需要想办法打开22端口;并且开放了3128端口,这里应该有代理

目录遍历,没发现有用信息

SQL注入获得账号密码

访问80端口,有一个登录框

引入单引号,发现报错

尝试万能密码 email=1' || 1=1#&password=11 这里注意,有过滤OR,所以我用||绕过

得到一组账号密码,登录需要用邮箱登录

1
2
Username: john
Password: hereisjohn

成功登录

配置代理ssh登录

登录之后有提示,需要ssh登录服务器,但22端口没法直接访问,又但是3128端口有代理服务。这里可以配置代理,就相当于是本机127.0.0.1访问22端口了,就不会被过滤了。 我用的是proxychains,安装和配置参考此处

ssh登录john账户

不过被踢出去了,用ssh -t参数,强制分配伪终端,在远程机器上执行任何全屏幕程序。这里我用来反弹了shell

尝试升级终端为tty,试了好多方法,靶机上条件有限,于是查看john的shell配置,发现设置了如果不是交互模式,就退出

这句话出现在之前ssh登录的时候

解决办法就是把.bashrc重命名,相当于删掉了这个shell配置,于是就可以成功ssh登录

数据库密码泄露

login.php中发现了数据库的密码,登录查看数据库

发现了其他用户的密码,如法炮制进行ssh登录

SUDO -l获取root密码

john无法使用 sudo 命令进行特权操作

登录sarasudo -l查看,发现可以用命令/bin/cat /accounts/*/bin/ls /accounts/*

于是查看/root下的flag.txt(一般都叫这个文件名),发现了root用户的登录密码

root登录

总结

1、这里的sql注入不算难,万能密码就给绕过了登录认证,看下sql语句

2、这里的22端口被过滤了,又看到开放了3128端口,这是代理服务默认端口,因此想到配置代理去访问22实现ssh登录

3、提权并不难,主要是这部分的信息收集

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计
本博客已稳定运行