记一次从列目录到GetShell的渗透

admin 2024年6月11日09:53:58评论13 views字数 817阅读2分43秒阅读模式

0x01 前言

       本文记录了在某次攻防演练项目中的经历,通过信息收集发现一个iis的站点,通过测试发现系统存在的安全隐患。

末尾可领取资源文件

0x02 漏洞发现

在一个备案域名下面的子域名发现一个iis站点:http://abc.xxx.cn:81/。

记一次从列目录到GetShell的渗透

通过目录扫描探测到/Server目录:

记一次从列目录到GetShell的渗透

发现有上传接口:

记一次从列目录到GetShell的渗透

复制到burp发包测试Upload接口:

记一次从列目录到GetShell的渗透

根据响应报错内容看起来是上传base64encode的数据格式:

记一次从列目录到GetShell的渗透

但是并不知道上传到参数格式是什么样子的,有点不知所措。

0x03 Getshell

这时候发现响应包中有源码的package信息:

记一次从列目录到GetShell的渗透

并且是列目录,可以从bin中下载dll文件反编译进行审计对应的代码。但是呢,bin目录在iis配置中是不允许访问的:

记一次从列目录到GetShell的渗透

但是呢,存在一个`bin – 副本`这样一个文件夹,正好可以绕过限制直接访问,随即下载对应的`xxx.Product.xxx.DataCenter.dll`文件:

记一次从列目录到GetShell的渗透

使用`dyspy`反编译dll之后,根据之前的报错栈找到对应的`Upload`函数:

记一次从列目录到GetShell的渗透

处理过程很明了了:

1. 对传入的data参数进行base64decode

2. 解析json

3. 提取出FileData、FileName参数和参数值放入Map中 (FileData为base64加密)

4. 最后将FileData进行base64decode之后以FileName命名写入到temp下。

知道参数和过程之后,立马构造FileData、FileName参数值,其中FileData对应的是base64加密的文件内容:

记一次从列目录到GetShell的渗透

最后将数据写入到temp目录下,上传成功:

记一次从列目录到GetShell的渗透

连接成功:

记一次从列目录到GetShell的渗透

0x04 最后

   上交成果之后竟然不收(不给分),原因是:资产不是目标所属。但是明明是目标备案域名的子域名啊......果断交CNVD。喜欢的师傅可以点赞转发支持一下谢谢!

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月11日09:53:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次从列目录到GetShell的渗透http://cn-sec.com/archives/2836038.html

发表评论

匿名网友 填写信息