实战 | 记一次管理后台到微信小程序再到管理后台的攻击链

前言

有段时间没有写过完整的实战类文章了,刚好前段时间某hvv结束,积累了一些还不错的案例,可以慢慢写出来了。本文就是在hvv期间的一个案例,我在一些hvv正式开始之前,一般都会随机挑一些相关资产打一打来练手,首先是找找状态,其次玩意运气好刚好就撞上目标了呢?(没碰上就当刷刷洞了)因此虽然本文攻击的目标最终不在我的靶标里,但过程还算有趣,所以分享给各位师傅

从后台登录口到小程序

图片

在对目标资产进行搜集时,我发现了这样一个后台。那还是常见的流程打一波,密码喷洒爆破、登录逻辑漏洞、找回密码逻辑漏洞、JS分析接口and敏感信息、目录FUZZ等等,但是很不幸,上述手法没有一个成功的,所以这个后台我也就暂时没看了,转而尝试攻击别的资产。

辗转半天,常规web资产也没有发现什么问题,于是我把视角转向目标的小程序

翻着翻着,我突然看到一个眼熟的logo

图片

等等,这个logo和上面那个后台的logo是一致的,也许这个小程序会和刚刚的后台有所关联呢?

这个小程序有一个问题,可能是为了方便学生使用,它允许任何用户用微信直接登录,这样我们就登陆进来了

图片

接着就是测测这个小程序有什么问题了,点开上面的一个课程,我们可以加入到这个课程

图片

进去之后,功能就比较多了,这里我主要看个人信息这块,因为可能存在的问题很多,比方说上传头像getshell之类的

图片

进入的时候抓包,可以看到这样一个数据包

接着就是测测这个小程序有什么问题了,点开上面的一个课程,我们可以加入到这个课程

图片

进去之后,功能就比较多了,这里我主要看个人信息这块,因为可能存在的问题很多,比方说上传头像getshell之类的

图片

进入的时候抓包,可以看到这样一个数据包

图片

可以清晰地看到有userID、userType两个参数,通过返回包我们不难看出,此接口就是用于返回用户信息的

图片

我们猜测userType为1的用户是教师或管理员用户,userID为1的用户是测试用户或平台管理员,尝试越权

图片

可以看到此时我们确实成功获取了其信息

既然这个功能存在越权,那么其它功能呢?我将目光移到了修改账号管理的功能:

图片

访问时,同样地,会有一个类似的数据包

图片

将ID和Type均改为1

图片

这时候已经越权至目标用户了,我们改绑这个用户的手机号,将其改为自己的:

图片

这样便成功利用越权改绑了目标用户

从小程序重回后台登陆口

我们完成了改绑,改绑之后要怎么利用呢?这个小程序也没有教师用户的登录口,这里我盲猜小程序和web界面的数据是一致的,因此这时候就要重回我们一开始看到的后台登陆口了,后台登陆口有通过手机号修改密码的功能,也有直接通过手机号登陆的功能。当然都是可以的,怕改了密码惊动管理,这里就用手机号尝试登陆了

图片

登陆成功。此时,我们成功接管了这个老师账号

图片

进来之后自然是常规操作,主要找找有没有什么上传点可以getshell的,这里发现一个上传照片的点

图片

这里上传aspx看似可以直接拿下,当然这里涉及一些简单的waf对抗,不过不是本文的重点,我就简单简单提一嘴,众所周知之asp.net/IIS环境下,在name结尾、filename的前面填充脏数据可以有效绕过WAF,再加上一些常见手法组合即可绕过

图片

然后后面发现在这个目录没法解析,没关系,我仔细观察了一下,控制文件名的参数其实是这个:

图片

图片

因为文件名我们可以控制,并且文件名直接和路径拼接,因此这里存在一个跨目录文件上传的问题:

图片

根目录大概率是能解析的吧?我直接传个aspx马

然后发现还是不行

图片

那怎么办呢?众所周知asp.net有非常多可以做webshell的文件,asp、aspx,asa,cer,svc、ashx、asmx/soap、asax、cshtml、Resx 、Resources、ascx等等,压根,甚至web.config都可以用作webshell

我们慢慢fuzz即可,最后发现soap后缀可以绕

图片

最后也是用soap webshell成功getshell

结语

也算是有点意思的测试,首先是运气好,目标还有配套小程序,可以让游客用微信登录,然后进到后台后找到越权,重绑测试教师账号。

根据我的观察,现在越来越多的开发者会为web应用配套开发其它平台的应用,比如说你看到的是一个web,但是它可能还有app端、小程序端等等,web端很硬,但是app端和小程序端不一定(不同平台可能会有不同功能,并且app和小程序的开发人员安全意识未必高),因此在做渗透的时候,可以多注意资产之间的关联性。

最后进后台之后找上传点,涉及ASP.NET环境下WAF对抗的一些知识,并且如果你不知道asp.net环境下soap等特殊后缀也可以用作webshell,那么这里也是很难getshell的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值