JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题

关注它,不迷路。       

本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!

1. 目标地址

夜幕爬虫安全论坛的登录页面有个谷歌验证码:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第1张图片

其地址是:

https://bbs.nightteam.cn/member.php?mod=logging&action=login

它的混淆js地址:

https://www.gstatic.cn/recaptcha/releases/uEf7E1417z6GNSkRx7AyL8K8/recaptcha__zh_cn.js

混淆代码长这样:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第2张图片

非常的难搞。还原后的js长这样:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第3张图片

2. 代码替换

依然使用 Reqable  来替换整个js文件,制定的规则:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第4张图片

保存后,再次请求上面的网站,有个错误提示,验证码图片也没有弹出来:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第5张图片

经过不断地尝试模式,需要修改这段js代码

https://www.recaptcha.net/recaptcha/api.js?onload=grec_olcSL8ZTpz

将 po.integrity 字段置空即可:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第6张图片

然后再进行替换:

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第7张图片

这里有个坑,就是 这里的URL仅匹配这个js,要不然可能会错误的替换其他的js,我在这里卡了很久。

再次请求,不报错了,可以愉快的debugger了。

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第8张图片

有需要尝试的朋友可以在星球里下载:

https://t.zsxq.com/12f62QEop

PS:之所以写这篇文章,是做个记录,之前有大佬远程帮我操作,过掉了跨域请求的错误,但是过程很复杂,不如这个简单。

至于 integrity 字段是干啥的,可以参考下面的这篇文章:

https://www.jianshu.com/p/3eb536f7c002

今天的文章就分享到这里,后续分享更多的技巧,敬请期待。

JS响应替换|解决谷歌验证码混淆js还原替换后的跨域问题_第9张图片

欢迎加入知识星球,学习更多AST和爬虫技巧。

你可能感兴趣的:(javascript,开发语言,ecmascript,前端)