本帖最后由 alyssa 于 2023-10-27 00:32 编辑
前言 有段时间没有写过完整的实战类文章了,刚好前段时间某hvv结束,积累了一些还不错的案例,可以慢慢写出来了。本文就是在hvv期间的一个案例,我在一些hvv正式开始之前,一般都会随机挑一些相关资产打一打来练手,首先是找找状态,其次玩意运气好刚好就撞上目标了呢?(没碰上就当刷刷洞了)因此虽然本文攻击的目标最终不在我的靶标里,但过程还算有趣,所以分享给各位师傅 从后台登录口到小程序
在对目标资产进行搜集时,我发现了这样一个后台。那还是常见的流程打一波,密码喷洒爆破、登录逻辑漏洞、找回密码逻辑漏洞、JS分析接口and敏感信息、目录FUZZ等等,但是很不幸,上述手法没有一个成功的,所以这个后台我也就暂时没看了,转而尝试攻击别的资产。 辗转半天,常规web资产也没有发现什么问题,于是我把视角转向目标的小程序 翻着翻着,我突然看到一个眼熟的logo 等等,这个logo和上面那个后台的logo是一致的,也许这个小程序会和刚刚的后台有所关联呢? 这个小程序有一个问题,可能是为了方便学生使用,它允许任何用户用微信直接登录,这样我们就登陆进来了 接着就是测测这个小程序有什么问题了,点开上面的一个课程,我们可以加入到这个课程 进去之后,功能就比较多了,这里我主要看个人信息这块,因为可能存在的问题很多,比方说上传头像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的
|