从任意文件读取到拿webshell

简介: 从任意文件读取到拿webshell

对于任意文件读取漏洞,每个人的理解都不同,此处仅提出一种较为谨慎的思路。



找到系统存在一个读取点,利用文件 ID 或者文件名读取文件的读取点,确定成功读取的状态


01ab4dd2772d4afd8545f0832cf9e6b3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



读取一个不存在的文件,确定读取不存在文件时的状态


7fb890d394dcf28341e204e067983287_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



尝试使用/./、a/../确定可以使用跨目录符,确定是否可以使用跨目录符


b1383ba36bd68e4dfaaf8af75ea79b55_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

74f4e184fad1b8a19c129fe2a693a5a0_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



确定可以使用跨目录符后尝试跨目录读取/etc/passwd(linux)、boot.ini(windows)等标志性文件,标志性文件可随意拓展,注意选取标志性文件时选取读取权限要求最低的文件


087dbebcc1a149b9d34ac609610bb3bf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


读取/etc/passwd 失败


087dbebcc1a149b9d34ac609610bb3bf_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


boot.ini 读取失败



无法读取系统文件,暂时无法分析出是权限问题还是其他原因,尝试读取 web 目录文件,建议选取 web.xml,读取方式为:(../){0,10}/WEB-INF/web.xml 依次递增../的数量,直到读取到web.xml 文件,一般不会超过 10 个路径深度。

注:涉及到上传文件目录和 web 目录分离的情况无法读取到 web.xml 可考虑其他参照文件,多开脑洞就行




此时已经可以确定可以任意文件读取了,从 web.xml 中我们看到配置了log4j 并且是 spring 框架,尝试读取../WEB-INF/classes/log4j.properties,查看 log4j配置文件查看系统日志存放记录,看看能不能找到一些系统路径相关的数据


d36172f78e66345399cdbe49d8526b7e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



从上图中我们看到一个路径

#log4j.appender.vcc.File=C\:\\log\\wxenterprise\\vcc.lo g,初步判断是

windows 服务器,并且web 目录在C 盘(这些都是推测),尝试读取 C 盘下

的一些文件来证明推测,成功读取

到../../../../../../../../../../../../../../../windows/win.ini(这里可能有同学要想,为啥不直接一开始就 fuzz 一大波 fuzz 个天地?这些都是个人习惯,除非无路可走,个人一般不采用大量数据的 fuzz,以免打草惊蛇)


0f307e56de34a4d03cf775daa69ba09b_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png



后续就大家自己疯狂脑补输出吧,最好能拿个权限不是?


后续:


在确定主机类型、可读取文件路径后,对主机进行端口扫描,查看除 web 端口外开放的端口,发现开了 21 端口


a595d889f415c6e42f22a63a3e432abc_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


使用 nc 查看具体的 ftp 服务信息,发现是 FileZilla Server 0.9.60 beta


dd0b1dc8fae40a90266823d8f9e9d9b7_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


这个软件很有名,但是我不了解其目录构造,不过没关系,现下现看,去官网下一个同版本(https://filezilla-project.org/download.php?type=server),刚好是最新版


b6f6352098784a4523961e5b0c846b5d_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


搭建好环境后使用 everything 搜索 FileZilla 相关文件,发现只有两个目录不涉及到用户

C:\ProgramData\Microsoft\Windows\StartMenu\Programs\FileZilla

Server\Stop FileZi

lla Server.lnk

C:\Program Files (x86)\FileZilla Server\FileZilla Server.xml


41d4dfadb13e3c2be5438428ec49367c_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


分别尝试读取,直接读配置文件目录,没读取成功,可能是路径不对


a35f43624a4402cac87297f864011c6d_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


但是咱们可以读快捷方式啊,默认创建的快捷方式,桌面上被删除不管,但是 Program Data 下的肯定是没毛病能读到的,读到之后可以查看快捷方式属性来找路径


d26bdfcaac993aa95758f32af3f524fa_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


读到后查看属性,果然,自定义目录了,咱们直接读配置文件,C:\filezille\FileZilla Ser ver\ FileZilla Server.xml


4e35bef6d0ae0357d57ff75f2a110167_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


能读到,可以确定就是这个目录了


8e86c6225d1e1450a6c88ffb7cd463fb_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


配置文件里有账号密码,直接用 ftp 客户端连。ftp 目录从配置文件中可以看到在C:\wexin


6057863465c8cf798fbb1d9384fa4533_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


发现 tomcat 在 ftp 目录下,查看 conf 目录下的 server.xml 文件,确认 webapps 目录(很多同学又问,为啥不直接去 webapps 下看了,我看了啊是空的,但是我要告诉你,作为一个稳健猥琐的人,我要先去看配置文件,确定web 目录)


7de5e593c45e60234933387cbf6274c9_640_wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1.jpg


运气不错,docBase 刚好在 ftp 有权限上传下载的目录下


5ac30abce3c7f934eee774f82f903b0e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


直接上传webshell


8373514758e5881490f4b6df9e5c63dd_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


9f9785b6b45a1a07c1d771fc3a150b8f_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png


Shell Get


相关文章
|
3月前
|
自然语言处理 安全 前端开发
taoCMS v3.0.2 任意文件读取(CVE-2022-23316)
taoCMS v3.0.2 任意文件读取(CVE-2022-23316)
|
5月前
|
安全 网络安全
明御安全网关任意文件上传漏洞
安恒信息明御安全网关(以下简称“NGFW”)秉持安全可视、简单有效的理念,以资产为视角,构建“事前+事中+事后”全流程防御的下一代安全防护体系,并融合传统防火墙、入侵防御系统、防病毒网关、上网行为管控、VPN网关、威胁情报等安全模块于一体的智慧化安全网关。
213 1
|
监控 算法 Java
记一次从任意文件下载到getshell
记一次从任意文件下载到getshell
130 0
|
SQL Web App开发 安全
Smanga未授权远程代码执行漏洞(CVE-2023-36076) 附加SQL注入+任意文件读取
Smanga存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
281 0
|
XML 存储 安全
XXE 漏洞任意文件读取
XXE 漏洞任意文件读取
555 0
|
安全 PHP Windows
35、本地文件包含漏洞
35、本地文件包含漏洞
92 0
35、本地文件包含漏洞
|
安全
CVE-2020-8209 XenMobile 控制台存在任意文件读取漏洞
XenMobile提供了一种可靠的移动设备管理解决方案,可以对企业设备和员工个人设备进行基于角色的管理、配置和支持并确保安全性。与只能提供基本设备管理软件的大多数厂商不同,XenMobile可提供多种高级功能和特性来确保移动应用可随时用于业务目的并确保移动内容安全性,如区域防护(geo-fencing)、自动化合规性及一键式实时聊天和支持等。
95 0
CVE-2020-8209 XenMobile 控制台存在任意文件读取漏洞
|
安全 Java API
PublicCMS 网站漏洞 任意文件写入并可提权服务器权限
PublicCMS是目前网站系统中第一个采用JAVA架构 TOMCAT+Apcche+Mysql数据库架构的CMS网站,开源,数据承载量大,可以承载到上千万的数据量,以及用户的网站并发可达到上千万的PV,PublicCMS静态全站html,访问速度极快,模板样式多,可自己设计,第三方的API接口也很多,深受网站运营者的喜欢。最重要的是开源,免费升级,支持动静分离,数据库及时备份等功能。
573 0
PublicCMS 网站漏洞 任意文件写入并可提权服务器权限
|
安全 数据库
目录遍历漏洞和文件读取漏洞的区别
通过操作URL强行访问web目录以外的文件,目录和命令。网站存在配置缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以为进一步入侵网站做准备。
352 0
|
安全 NoSQL 中间件
文件读取漏洞总结
文件读取漏洞总结
344 0