记一次实战给朋友站点测试

VSole2023-04-27 09:20:48

一、前言

本篇文章为给朋友网站测试的过程,主要记录测试中的思路。期间用了差不多两个周末,期间断断续续,整篇没啥奇淫技巧,大佬略过。

PS:已将漏洞详细报告提交朋友,并验证已经修复。

二、信息收集

通过朋友给的域名进行子域名爆破,得到如下:

查询成功:www.abc.cn-139.1.2.3查询成功:API.abc.cn-47.1.1.1查询成功:home.abc.cn-47.1.1.1查询成功:hd.abc.cn-139.1.2.3查询成功:oc.abc.cn-47.1.1.1


其中www.abc.cn为官网,139开头的为阿里云服务器,通过手工测试并未发现漏洞,使用扫描器会被封IP。47开头的应该为本地服务器映射到公网的IP地址,测试重点为47开头的站点。

访问api.abc.cn为API接口站点,如下

访问home.abc.cn则跳转到https://oc.abc.cn/login/login.html

测试SQL注入,并不存在,存在验证码,暴力破解未尝试,扫目录也无有价值的信息。

访问manager为Tomcat管理登录页面,访问app为登录界面

通过对上面子站点的初步踩点,因为API站点接口较多,优先测试API接口,功能越多的地方越容易出错。

三、API接口测试

发现API接口功能很多,顺手进行测试,大部分为401,未登录

接下来就是逐个进行测试,测了半天,终于发现一个未授权访问,可任意文件下载,此为突破口,如下

测试下载passwd文件,构造访问以下地址

https://api.abc.cn/downFile?filePath=/etc/passwd&fileName=

继续尝试获取敏感信息,下载bash_history文件,可以查看历史命令

https://API.abc.cn/downFile?filePath=/root/.bash_history&fileName=

通过对历史命令的查看,获取到两个可能存在敏感信息的文件,如下:

/etc/mail.rc

/backup/mysql_bask.sh

继续利用任意文件下载上述两个文件

如上成功获取邮箱账号密码数据库root账号密码,但公网并未开放数据库端口,无法连接数据库进行利用。

接下来本地设置账号密码,即可登录邮箱。

通过对邮件进行搜索,发现以下信息

用上述网站的账号密码,成功登录网站后台管理,但权限较低,测试了文件上传等,并未存在漏洞。

由于当时较晚,第一周测试到此结束,主要利用API接口的未授权任意文件下载,获得敏感信息,未获取到shell,但还是向朋友炫耀了成果。

通过本节的学习,了解文件下载漏洞的原理,通过代码审计掌握文件下载漏洞产生的原因以及修复方法。

四、文件上传

第二个周末,由于上周只找到一个任意文件下载,没拿到shell,感觉还可以再突破一下。于是让朋友不要修复先,我再尝试下,他回复限制了API页面的访问。

于是再访问API站点,页面如下

去访问任意文件下载的接口

发现仍旧可以访问,此处是没有填要下载的文件,所以报错,通过下载历史命令文件,查看朋友的配置修改,发现其配置了nginx配置文件

然后下载nginx配置文件

发现其修改的配置,允许18的ip访问该页面,禁止其他所有;只禁止访问首页,但仍旧可以访问接口地址,所以仍旧可以进行任意文件下载。于是对18的IP进行全端口扫描,发现其中一个端口访问则是API界面。

于是又可以去测试接口了,在一番测试后,发现一处任意文件上传接口,如下

此处可以任意文件上传,但返回的地址是D盘下,Linux的服务器,怎么会返回D盘目录的地址,此处测试了很久,无法找到该文件路径。问了下朋友,他们是否有Windows的服务器,他回复都是Linux的。

五、SQL注入

由于上述文件上传一直都找不到地址,便继续往下测试,因为他们的API接口功能很多,很多都是要登录才能访问的,很花费时间,但还是被我找到一个SQL注入。

正常访问页面返回

加个单引号,返回

使用Sqlmap进行测试

想通过SQL注入获取用户密码,尝试登录上传拿Shell,看了一下密码应为自写加密,无法解密

且Linux一般目录权限较严格,测试了下并未成功写Shell,到这里发现SQL注入好像并达不到我的Getshell目的。

六、文件上传getshell

梳理一下当前的思路,有个任意文件下载、有任意文件上传(但找不到路径)、有SQL注入(无法获取密码),目的是获取网站的Shell。

往往有些时候可以利用的点越多思路可能就会越乱,一方面想去找上传的路径,另一方面又想去SQL注入写Shell,也测试去下载Tomcat的用户配置文件,想登录Tomcat管理部署war,但下载了发现是默认配置。

还下载了一些配置文件进行分析

但仍旧没找到突破口,于是只能继续分析API功能接口,发现一处指定文件夹上传,瞬间充满了希望

返回地址很友好,访问

使用工具进行连接,当前为root权限,服务器为内网IP,成功Getshell

然后看看目录,发现了D的路径,但之前的文件并未上传成功到该路径。

七、总结

本文从信息收集到任意文件下载、到文件上传、SQL注入,最后拿到一个站点的shell,并无太多亮点,主要还是细心和耐心,因为API的功能接口确实有点多,几乎都是每个大概去看了,总体来说,还是运气比较好。

api文件上传
本作品采用《CC 协议》,转载必须注明作者和本文链接
一、发展动向热讯
无意中看到ch1ng师傅的文章觉得很有趣,不得不感叹师傅太厉害了,但我一看那长篇的函数总觉得会有更骚的东西,所幸还真的有,借此机会就发出来一探究竟,同时也不得不感慨下RFC文档的妙处,当然本文针对的技术也仅仅只是在流量层面上waf的绕过。Pre很神奇对吧,当然这不是终点,接下来我们就来一探究竟。前置这里简单说一下师傅的思路部署与处理上传war的servlet是?
在进行年度总结的时候,发现七一重保的时候还进行过一次应急响应,是一起关于非法上传事件的应急响应,在这里进行一下分析总结。
Zoho ManageEngine Admanager Plus 任意文件上传漏洞可GetShell。
VMware vCenter Server 提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础。可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了 IT 管理员对虚拟环境的控制。
VMware vCenter Server 提供了一个可伸缩、可扩展的平台,为虚拟化管理奠定了基础。
1 漏洞概述 VMware vRealize Operations 可在由 AI 提供支持的统一平台中针对私有云、混合云和多云环境提供自动配置 IT 运维管理套件。本次安全更新修复了一处服务端请求伪造漏洞,一处任意文件上传漏洞。未经身份验证的攻击者通过访问特定的api传入恶意数据,最终在目标服务器上触发漏洞。漏洞利用 3 组合利用=RCE 思路是ssrf获取Authorization然后配合文件上传漏洞getshell。复现ssrf的时候已经接收到了Authorization,然后就利用文件上传漏洞写webshell。
360漏洞云监测到WSO2 API Manager存在远程代码执行漏洞。该漏洞源于某些 WSO2 产品允许无限制的文件上传.攻击者可利用该漏洞实现任意代码执行。
现在越来越多的网站前后端分离,javascript代码基本都会使用webpack这样的工具进行打包,打包过后的javascript代码会被混淆压缩,一个js文件就上万行代码,增加了读取javascript源码业务逻辑的难度。
最后对响应的匹配,使用正则识别id命令之后的结果。成功扫描出CVE-2022-1388F5 BIG-IP API Unauthenticated RCE漏洞,漏洞的请求也变异无误,最后的响应中也是执行了id命令。案例二:利用Scalpel工具挖掘多个0day漏洞Scalpel工具使用较为灵活,通过对检测目标变异响应的check,可以发现检测目标中未知的安全问题。同时发现某Apache开源项目的CVE漏洞,报告被该团队接受并正在修复,尚未披露。
VSole
网络安全专家