记一次任意文件下载到getshell

比眉伴天荒 2024-04-07 10:39 162阅读 0赞

0x01 前言

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

8209ca9444d83458b6d21f4e1cea4f91.jpeg

0x02 测试过程

随便挑了一个站点打开

dd005dcc46df878e910b5679c600299c.jpeg

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

67d0645cc095dcb3e47a92c58bccbd71.jpeg

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

5f58a189202fea14a002ecfb4e564583.jpeg

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

f37b9542ac4dc918a072eaf198066073.jpeg

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

02a123d8fe8d51c21ef13b41bf441a90.jpeg

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

30578ec3f77a07647c419f012867f213.jpeg

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

9ebcc6a0375ec4e598662af173d1114e.jpeg

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

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

f00bbe6272f24b74ed6d05e5580dc558.jpeg

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

fde005aec02bbe09993257bfe0b78a3b.jpeg

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

283dfa1901b5bc46d85b4b8aafd3d8ef.jpeg

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

460c4fff92249f3eb6ba79377463f34f.jpeg

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

379efa3620a3047abdd31ea74e1a7260.jpeg

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

58071ce6f91010db023f3062ff091108.jpeg

反手下载下来

37e7bf186294f86ffffcf1e3b6a59d26.jpeg

解压一下

717111979ca7a84a5137ed191eb1608f.jpeg

fafd2e29f3a6f438ec5fca7286e324eb.jpeg

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

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

f120a73aeda513d8747d6b1d921fc29a.jpeg

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

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

d8b30b8f334a9b9230d536f2582620db.jpeg

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

971b4edd0dce845394131375e70b1ed8.jpeg

把密码放到cmd5查一下

f87b155f8693b881309d057123dcb338.jpeg

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

32fd92bb51a1a2d5ceaa77670579eb3c.jpeg

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

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

这里使用了FileMonitor来监控文件

b43729ed7d18ca8994296fecbf228f80.jpeg

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

a38153446b4dd604019756eb73acb5d3.jpeg

提示上传失败

c3772364bea00277faf3e1ec1a0e9ffb.jpeg

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

d7a96659e7c01f7eb489da29b6149e85.jpeg

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

c6ea5a38929a269f27f4d6d1f6a4d79b.jpeg

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

Image

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

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

014d7179b13001f2a78ee02b3e7b7bef.jpeg

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

a415895d811abe05d9efbb22c2026501.jpeg

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

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

过了几个小时,又发现一个上传点

764aee7edecae9447ea4b7b850c3b67c.jpeg

文件监控起来

c091eabf94279daf9456e3d2a44bb005.jpeg

直接传马

39f6f8e5e528c4b00791dcc72165a365.jpeg

回显了地址

bcb78550863239e607a7dbc0e5e9563a.jpeg

冰蝎成功连上成功

e4ed7ab6ec32f232e273a5232d69169b.jpeg

最后如法炮制,利用系统自带的账号登录系统,然后用第二个上传点传马即可。

60a35a4a65489ebd75249e56ca8662c1.jpeg

0x03 总结

1.通过fofa搜索某个开源CMS系统,点击任意一个目标站点,输入弱口令admin/admin进入系统 2.在后台的文件下载处,出现http://www.xxx.com/&filenam=xxxx.xls,那么这些链接存在任意文件下载漏洞 3.通过bp进行fuzz路径,尝试读取../../etc/passwd和../../../etc/passwd都是500错误,../../../../etc/passwd能读取到内容。那么换成../../../../root/.bash_history,显示500错误。 4.该测试的任意目标网站是不能读取到history记录,那么通过fofa搜索其他几个类似的开源cms系统,输入相同的弱口令admin/admin可进入系统,然后也能正常读取到../../../../root/.bash_history内容。 显示读取出目标管理员操作的记录,包括对目标站点进行备份的压缩包名称以及是保存到网站的根目录下 5.可直接下载根目录下的源码压缩包到本地,对其进行代码审计。 6.发现目标源码中包含了网站的配置文件以及mysql数据库的备份文件。 7.通过在本地搭建环境,让目标系统在本地能正常运行,同时也通过FileMonitor(https://github.com/TheKingOfDuck/FileMonitor)来监控文件变化,并通过phpmyadmin管理数据库,在数据库表中发现系统自带的账号system,以及对应的密码hash值,通过md5进行成功解密,并通过system账号登录到本地环境系统后台。 8.在后台的文件上传处,存在文件上传漏洞,上传test.jsp,提示上传成功,但是在FileMonitor监控显示已有新文件建立,虽搜索上传文件名并没有搜索到,证明是没有上传成功。 9.通过搜索源代码中的upload关键字,可以知道上传后成功的文件名的规则为:当前日期和时间+时钟序列+全局唯一的IEEE机器识别号(网卡mac地址) 10.在本地环境系统后台的另一处又发现一处文件上传,可成功上传a.jsp,并返回了上传的文件名,搜索该文件名,可知道保存的路径。 12.最后如法炮制,利用系统自带的账号system登录到目标系统后台,然后用第二处上传点传马即可。

原文链接:

https://mp.weixin.qq.com/s?__biz=Mzg4NTUwMzM1Ng==&mid=2247493857&idx=1&sn=f7db570914d9e4b4f517ab05b5e5d380&chksm=cfa54cf2f8d2c5e41b2636bb3e6a9961617324182a2dd93b52a1fa3bea9dd42d8ed96b377bb4&scene=178&cur_album_id=1553386251775492098#rd

发表评论

表情:
评论列表 (有 0 条评论,162人围观)

还没有评论,来说两句吧...

相关阅读

    相关 面试

        2019.7.16日  天气:暴热暴晒,撑着伞都顶不住...   今天去面试前端实习生,到公司后就直接开始写笔试题目,然后写完后,与面试官进行交谈,发现自己的一些不足,