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

渗透技巧 2年前 (2021) admin
1,035 0 0
声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。


这篇文章为群友@Wake投稿分享,感谢 记一次从任意文件下载到getshell !一个人可分享的知识有限,期待更多朋友的分享。


0x01 前言

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

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

0x02 测试过程

随便挑了一个站点打开

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


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

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


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

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


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

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


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

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


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

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


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

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


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


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

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


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

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


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

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


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

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


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

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


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

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


反手下载下来

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


解压一下

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


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


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

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


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


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

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


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

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


把密码放到cmd5查一下

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


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

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


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


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


这里使用了FileMonitor来监控文件

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


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

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


提示上传失败

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


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

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

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

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

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

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

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


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

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

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

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

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


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


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

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

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

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

直接传?!!

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

回显了地址!!!芜湖

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

冰蝎连上去

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

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


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

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

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



关 注 有 礼



关注公众号回复“9527”可以免费领取一套HTB靶场文档和视频,1120”安全参考等杂志电子版,1208”个人常用高效爆破字典0221”2020年酒仙桥文章打包2191潇湘信安文章打包,“1212”在线杀软对比源码+数据源。

记一次从任意文件下载到getshell 还在等什么?赶紧点击下方名片关注学习吧!记一次从任意文件下载到getshell


推 荐 阅 读




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

欢 迎 私 下 骚 扰



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

原文始发于微信公众号(潇湘信安):记一次从任意文件下载到getshell

版权声明:admin 发表于 2021年12月28日 上午1:00。
转载请注明:记一次从任意文件下载到getshell | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...