前言
白嫖,我是认真的!
不用多说,想必已经知道此篇文章的目的了吧
分析思路
- 该网站需要安装一个浏览器插件才能加载出任务列表,所以可能改插件中存在相关验证步骤
- 网站前端js进行验证步骤
分析
寻找验证字段,在尝试提交任务时会提示验证码,如下:
在验证码表单中,发现了名为checkData
的字段,应该为验证字段:
查看值结构似乎为base64编码,于是尝试拿去解码:
认真一看,这不就是网页源码吗。。。
于是,解决方案就很明了了
解决
自动任务脚本会对网页进行代码注入,实现UI,
那么,可以在提交任务之前(点击“Grab key”之前)将注入的代码删除即可
额外分析
真·分析,对代码进行分析,在检查之后,得知关键代码在前端的main.js
分析过程有待补充
//$(_0x3a8e8c(0x12c))["val"](window[_0x3a8e8c(0x162)](unescape(encodeURIComponent(document['documentElement'][_0x3a8e8c(0x165)]))) + '' + $(_0x3a8e8c(0x12c))["val"]()); // checkData算法 // 提交的时候直接移除添加的HTML? let html = document['documentElement']['innerHTML']; let _encodeURIComponent = encodeURIComponent(html); $("#modal-captcha input[name='checkData']")["val"](window['btoa'](unescape(_encodeURIComponent)) + '' + $("#modal-captcha input[name='checkData']")["val"]()); // actionsData算法 var resultArr = []; $('#actions [data-result]')["each"](function(_0x7e5ae3, ele) { // ele - 绿色打勾元素 resultArr["push"]($(ele)["data"]("result")); }); $("#modal-captcha input[name='actionsData']")["val"](window['btoa'](unescape(encodeURIComponent(resultArr['join'](',') + '')))); $("#form-captcha")['attr']("action", $("#getKey a")["attr"]("href")); $("#modal-captcha")["modal"]("show");