Webpack是一个前端资源加载/打包工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
但一般情况下所有打包的文件都会被加载,导致了泄露一些敏感信息(如敏感的path,api接口等)
案例一:未授权泄露管理员账号密码
打开F12查找一些有用的信息,看了一下明显是前后端分离的站点,用了webpack进行打包,所以思路就是重点找未授权,鉴权不完善等问题
app.js里的加载文件引起了注意,然后就是访问了/AdminManager,但鉴权了
扫描二维码关注公众号,回复:
15863032 查看本文章
然后去试着构造链接,去访问它加载的文件,找到了两处接口
访问其中一处接口,发现未授权泄露大量普通管理员账号密码,(在写这个文章的时候洞已经修了,这里就不放图了)
案例二:敏感路径泄露进行文件上传
同样发现webpack泄露
这个站可以注册账号,想到了鉴权不完善的问题,然后就直接去看router目录下的内容了,可惜没有什么关于权限的,但是翻到了一个文件上传接口
然后就是构造数据包,这里虽然是白名单,但是html会被防火墙拦截,但发现xml没有
成功挖到一枚XML文件上传导致的存储型XSS
总结
webpack的打包方便了大家,却也因为它的特性,使网站也存在了一些安全问题。