这年头还有前端校验getshell?
文章介绍了一种利用VueCrack插件绕过Vue路由守卫获取未授权页面的方法,并详细描述了如何通过修改请求包参数和全局替换方式实现绕过。此外,还分享了如何通过前端校验漏洞上传文件并最终实现getshell的过程,并提到了后续可能存在的任意文件读取风险及攻防思路。 2025-12-23 16:6:15 Author: www.freebuf.com(查看原文) 阅读量:0 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

漏洞一 绕过路由守卫获取未授权页面

首先我们准备好  VueCrack 这个浏览器插件工具。

1766505282_694abb42bfd966a1523b1.png!small?1766505283120

信息收集找到这个站点

收集到类似这种站点,出现很多vue的路由接口的网站,是最容易出现未授权的漏洞。要有耐心。

1766505310_694abb5ea03b219014640.png!small?1766505312342

尝试功能点探测

1766505320_694abb682fdc17e0971b0.png!small?1766505320705

在拦截功能点反复修改请求包和返回包,尝试看什么参数修改了,页面才能一直停留下来,不进行跳转。

1766505334_694abb7696147bdb55973.png!small?17665053352581766505347_694abb839b177849f10df.png!small?1766505348495

全局替换,将转发到burp的请求包中的40001改为200,这样如果是前端校验的,大概率就能绕过路由守卫,记得设置之后,网站记得刷新一下。

1766505358_694abb8ebaad59d9e6641.png!small?1766505359327

这样页面就不会一闪而过了,这样就算是绕过前端校验。

1766505367_694abb9761e8f1807df5a.png!small

漏洞二 绕过前端校验的文件上传getshell

通过对很多路由进行探测,找到一个很可疑的功能点

虽然这个页面对很多的文件上传进行过白名单过滤处理,而且就连html ,xml,xvg 这种水xss都没有,当我看到这个路由的时候我原本想到放弃,但是我就想,多试一试概率就会大一些

1766505401_694abbb91e54a7216ff7a.png!small?1766505402064

文件上传操作

通过三下五除二的操作,感觉像是前端过滤,但是就是上传不了东西,因为一个上传功能点四个数据包,跟传统不太一样(这可能就是我能挖到原因)

经过大脑风暴,分析每一个数据包都是干嘛的,最后终于上传成功,整个流程如下。

首先找到前端校验地方

1766505564_694abc5c4ceba6486aa26.png!small?1766505564878

全局变量替换

这样就能不受这前端的困扰。(不要问我为什么不直接修改数据包绕过,因为我试了不太方便。)

1766505579_694abc6bb3813e4314321.png!small?1766505580648

以下为解析php的代码,有人说为什么不直接一句话木马,因为在src中,尽量不要上传真的shell,证明代码可以解析就行,比如echo打印这种,没有实际危害,但是又能证明php解析。

1766505431_694abbd7f0af1eabab455.png!small?1766505432682这里需要修改一下file_type1766505441_694abbe10ddd9ddc19c94.png!small?17665054429421766505459_694abbf3a60acd5763b2e.png!small?17665054622731766505469_694abbfdc2dcd161ed3d1.png!small?1766505470363最终成功上传php文件。1766505479_694abc0752a91f300c221.png!small?1766505479736

成功上传,并且也是成功解析,证明这里可以getshell。

1766505489_694abc117679fd9801893.png!small?1766505489922

这个能够getshell是因为很多接口,上传数据包也是跟普通不太一样,需要有很大耐心,一个一个测试。然后还有,这个必须要注册进才能getshell。所以我就成功这一个,别的虽然有注册接口,但都需要管理员允许才可以完成注册。

未授权任意文件读取

由于我getshell之后我就没有深入下去,直接提交了,后面再测试这个网站的时候有个很可疑数据包,疑似存在任意文件读取,但是在这个网站没有验证成功(我猜是有waf或者是被修复过了),后面我就横向,找网上别的类似资产。

一个可疑的数据包如下:

1766505498_694abc1a41479ccaf37f4.png!small?1766505498761

对于存在漏洞被waf拦截的情况,如果无法绕过是可以采取迂回战术,去提取指纹,然后后找相同类似的网站,把其他站点也能测一遍,刷分数。

还有另一种攻防思路,如果目标A的系统存在层层防护,那么可以提取目标A系统的指纹,然后去攻击同类型网站无waf的站点,拿下后获取源码审计0day。

如果不会提取指纹通杀,看下面文章:

如何在日常渗透中实现通杀漏洞挖掘

下面这个就是另一个同类型站点,明显存在任意文件读取,可以直接读取/etc/passwd

1766505508_694abc241ca1d48583b0b.png!small?1766505508659

还有一点是 存在目录,和不存在目录返回结果是不一样,通过这一点,我就继续fuzz。

一般linux存放nginx目录是"/var/log/nginx/error.log"

1766505517_694abc2d12b0b628cf9b4.png!small?1766505518271

然后先fuzz出来mysql账号密码,然后看看能否连上提高危害。

1766505526_694abc369651d2dc0e23e.png!small?1766505527055

最后通过超级ping,找到真实IP,可惜mysql连不上去(mysql默认是不不开启对外ip的连接)。无奈,下机。

原文地址:https://mp.weixin.qq.com/s/IrY7cayhwNfAHUjQ3-1Ygg

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/web/463464.html
如有侵权请联系:admin#unsafe.sh