记一次从任意文件下载到getshell

简介: 记一次从任意文件下载到getshell

这篇文章为群友@Wake投稿分享,感谢  !一个人可分享的知识有限,期待更多朋友的分享。


0x01 前言

某日闲来无事,上fofa搜了xx系统,想着碰碰运气,类似这样


0x02 测试过程

随便挑了一个站点打开


Em…,试试运气,反手admin admin就进去了,是一个管理系统


然后根据网站的功能点,随便点击几个,发现除了常规的操作也没啥了,翻了一会,发现有一个文件下载操作


好家伙,藏得挺深,抓包看看,请求的地址好像是一个文件


fileName改成../etc/passwd看看,好家伙,报错了


看来应该不是这个路径,随后依次尝试了../../etc/passwd../../../etc/passwd都是500错误,到了../../../../etc/passwd的时候就能访问到了


芜湖,再看看能不能读历史命令,如果可以读历史命令,可以看看有没有网站备份文件或者网站安装包,嘿嘿,改路径为/root/.bash_history,访问!….500错误


看来应该是权限不够。没办法了,从其他地方入手吧。


接下来可以F12看看网站源代码,用源代码中标志性的语句或者文件去fofa搜索相同的系统,说不定会有root权限,大概像这样



有了相同的系统之后,再次尝试弱口令


可能是最近运气不错吧,弱口令又进去了。嘿嘿


接下来尝试刚刚的操作,下载../../../../etc/passwd文件看看


再试试读历史命令/root/.bash.history


可以读到历史命令,慢慢翻,最终发现有网站源码


反手下载下来


解压一下


JSP的站,没学过java的我裂开了,先跟着历史命令把环境搭起来,于是在自己服务器上部署了一样的系统。


没学过java,自动化java审计工具还收费,就手工一个方法一个方法康康把


找了大半天,都快想放弃了…


不过这套系统有mysql,先看看数据里面的结构吧。大概长这样


随后在管理网站用户的表里面发现了一个系统自带的账户(这里用账户x表示),账户x比admin权限还要高


把密码放到cmd5查一下


要钱?我穷的一批,没钱,反手找好师傅查一查,好师傅很快啊,就回了消息


随后我用这个账户x登录自己搭建的系统,发现在网站是根本查不到这个账户存在的,也就是说可能是开发商留下的。嘿嘿,有了这个账号,其他系统都可以登录了。


随后发现系统有一个上传点可以上传文件,既然都到白盒了,那么可以部署一个文件实时监控工具,看看发生变化的文件,也可以看看等会要上传的文件是否上传了。


这里使用了FileMonitor来监控文件


上传文件、抓包改后改后缀.jsp


提示上传失败


看看文件监控,已经能上传上去了

后缀可控,但是文件名不可控,这可麻烦了,一般文件名都是以时间戳或者有特定的算法命名,再多上传几次看看,看起来也没啥规律啊

翻看一下下载的网站源码中的class文件。再看看请求的地址

应该是upload类里面的Uploadfile方法(没学过Java,不知道对不对,别喷~)


找到了Uploadfile方法一行一行的看,头晕啊,但是最后还是找到了生成文件名的方法=-=

让我康康UUID.randomUUID().toString()是个啥

三部分组成:当前日期和时间+时钟序列+全局唯一的IEEE机器识别号(网卡mac地址)


突然想了想,前两个估计还能想办法得到,但是最后一个网卡的mac地址,就很难了,任意文件下载是下载不到带有网卡mac地址的文件的(如果有,当我放屁),又一条路被堵死了


过了几个小时(别问为啥是几个小时,因为睡觉去了),又发现一个上传点

嘿嘿,这不有手就行吗?文件监控开起来!!

直接传🐎!!

回显了地址!!!芜湖

冰蝎连上去

芜湖!我日我自己…才发现这是我自己的服务器


最后如法炮制,利用系统自带的账号登录系统,然后用第二个上传点传🐎即可。搞一些成果图!

最后交cnvd去了,证书归档之后周三或者周四就会发证

相关文章
|
10月前
|
人工智能 JavaScript Java
在IDEA中借助满血版 DeepSeek 提高编码效率
通义灵码2.0引入了DeepSeek V3与R1模型,新增Qwen2.5-Max和QWQ模型,支持个性化服务切换。阿里云发布开源推理模型QwQ-32B,在数学、代码及通用能力上表现卓越,性能媲美DeepSeek-R1,且部署成本低。AI程序员功能涵盖表结构设计、前后端代码生成、单元测试与错误排查,大幅提升开发效率。跨语言编程示例中,成功集成DeepSeek-R1生成公告内容。相比1.0版本,2.0支持多款模型,丰富上下文类型,具备多文件修改能力。总结显示,AI程序员生成代码准确度高,但需参考现有工程风格以确保一致性,错误排查功能强大,适合明确问题描述场景。相关链接提供下载与原文参考。
991 160
在IDEA中借助满血版 DeepSeek 提高编码效率
|
关系型数据库 MySQL
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
深入理解SELECT ... LOCK IN SHARE MODE和SELECT ... FOR UPDATE
859 0
|
安全 Linux 网络安全
使用D盾扫描Linux主机Webshell
使用D盾扫描Linux主机Webshell
888 0
使用D盾扫描Linux主机Webshell
|
安全 Java 应用服务中间件
从任意文件读取到拿webshell
从任意文件读取到拿webshell
|
存储 安全 前端开发
代码审计——任意文件下载详解
代码审计——任意文件下载详解
518 0
|
Linux
在centos7上使用非编译方式安装ffmpeg
在centos7上使用非编译方式安装ffmpeg
8473 0
|
Linux Shell
三行命令在CentOS 8上安装FFmpeg
三行命令在CentOS 8上安装FFmpeg
1419 0
|
NoSQL 安全 Shell
Redis主从复制漏洞gethsell
在Redis 4.x之后,Redis新增了模块功能,通过外部拓展,可以实现在redis中实现一个新的Redis命令,通过写c语言并编译出.so文件。利用范围:Redis 4.x-Redis 5.x
668 0
|
数据挖掘 应用服务中间件 容器
手把手教你实现tomcat内存马
手把手教你实现tomcat内存马
|
网络协议 Go
通过Pingtunnel搭建ICMP隧道上线
假如实战环境中,其他协议都不能出网,唯一的突破口为ICMP协议(也就是ping出网),那么可利用ICMP隧道达到上线
920 0