这周授权测试了某系统,凭借着一个任意文件读取的漏洞,不断深挖,一波三折,历时将近24小时,也和Tide安全的小伙伴不断讨论,最终拿下目标的webshell。过程简直不要太美、太狗血,在此做个整理。
基本信息目标:wy.xxx.com.cn(子域名)
IP:114.xxx.xxx.xxx(阿里云)
web 四大件:
java、Apache Tomcat 7.0.61、mysql、linux
端口开放了太多,确定的是30126端口为ssh
子域名更多了,大多数均反查为该阿里云服务器。
弱口令测试首先发现验证码无效,直接爆破。
这里分享了小技巧:
阿里云服务器在扫描目录或者爆破口令的时候,如果线程多高,IP会容易被封。可以再找一台阿里云服务器做代理进行测试。
放弃图片上传选择权限比较高的用户登陆系统后,发现一处图片上传。
该处上传无任何校验,可以上传任何格式的文件。但都统一受到images.xxx.com.cn域名下,受nginx解析。
多次尝试无果后,遂放弃。
任意文件读取在系统里闲逛一圈后,发现一处任意文件读取漏洞。
点击”下载模板文件”抓取数据包,可在数据包path参数看到系统路径。使用字典fuzz该参数。
查看返回包可收集到系统的许多信息。
1./etc/passwd
看到系统只有root、ftpimage这两个账户是可以登录的。
2./etc/shadow
看到shadow文件,说明当前权限是比较高的。
3./root/.bash_history
看到root用户执行的历史命令。确定当前为root权限。
且发现网站绝对路径的一部分/www/xxx-tomcat1/,马上想到翻看tomcat-users.xml文件,但并没有配置用tomcat manager。
还发现了logs目录的catanlina.out日志文件。
下载catanlina.out文件进行分析。
4.catanlina.out日志
该日志文件比较大,下载了多次都失败了,最终也是用自己阿里云服务器wget命令下载下来的,高达1.9g
war包下载后,直接检索/www/xxx-tomcat1/,存在多个war包。