在该网站中,部分资源要求vip
点击资源后弹出如上图vip弹窗,且没有进一步操作。
进过对同源站点某功能分析,确定该网站vip限制关键词为isvip。
该公司网站公用一个检测js,其中一个更新数据的函数
注意payload中isvip数据,强制设为1后突破第一层。用devtool替换后刷新即可。
PS:详细怎么得到isvip的过程是几个月前做的,现在忘了。
该网页在点击资源后加载时再次检测vip,并且快速跳转到支付页面。
由于跳转太快,相关代码无法保留,禁用js后整个网站无法运行。
尝试抓包,逐个分析支付相关请求发出前的数据包。
其中/biologyres/html/gz/**config/conf.json返回为:
{ "pid": "**********", "loginAuth": "https://storage-backend.******.com/passport/v5/login/check", "authAction": { "notLogin": { "redirectURL": "https://passport.******.com/?return_url=" }, "notVip": { "redirectURL": "http://www.******.com/buy.html" } }, "tokenAuth": "https://resourceapi.******.com/api/v1/vip/info", "baseUrl": "" }尝试将这个包恒定返回500,js运行中断在加载页面。
虽然没有跳转,但是依旧没有正常运行
这时在devtool中分析发出的堆栈,排除请求api,找到一段可以代码:
其上一段匿名函数为
n ? e && e() : console.log("***************")(其中e()就是上文的r())
下一段就是请求api,唯一确定相关代码位置。
观察到a()是唯一未知有可能导致跳转,动态调试找到代码:
注意到e.vip,加debugger和console.log(e),确定e的形式(这里注意要关闭自动回复,否则代码将在上方报错中断):
{ "login": true, "vip": false }将vip强制改为true刷新即可通过。