首页 > 其他分享 >美团大众点评字符验证码

美团大众点评字符验证码

时间:2024-08-03 13:50:44浏览次数:12  
标签:字符 美团 lianxi 验证码 ts window token a15018601872

声明(lianxi a15018601872)
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
前言(lianxi a15018601872)
提前写博客,明天早起看神武天尊。奥运会开幕式1点半,但凡12点开我还想看一下老詹举旗。结果1点多算了进场估计都2-3点了。追了几年的漫画和动态漫画终于更3d了。就因为看了这动漫让我不在抗拒学习新知识。把每一次新知识当成转世重修(纯纯精神意淫让自己进入状态)关键还是很久没看过这么爽的玄幻动漫,斗破还需要个戒指老爷爷,神武天尊就是从头无敌到尾还有就是没啥暧昧以前看多了后宫小说现在真是看不了一点。现在就喜欢女主当工具人偶尔出场其他时间全在升级。
忘记搞字符验证码,我以为这东西很简单是我大意了,第一次搞这种还能这么恶心,搞的我满头大汗的遍地是坑关键了ddddocr识别率也不高很难测。之前搞过美团那个像个钥匙一样的滑块我以为可以直接套是我天真了,最后重新分析搞出来了。
逆向过程
首页明确一个基本常识,正常人是先move,focus,click,blur,click,mousedown,move这种顺序的。搞清楚这个就完成50%了。然后就是监测点检测了keycode。如果没搞过前后端项目应该补环境会在这步被卡住。我也是做过案例感觉他会这么搞,结果没啥意外。关键哪个环境被检测我就不方便说了,说了就发不出文章了,还得被线下真实。
function getToken(data,captchaCode) {
image = Yoda.image(data)
window['seed']['config']['f']=window['_f']
debugger;
for (let i = 0; i < captchaCode.length; i++) {
ts=0
if(i == 0){
ts= 1959 + getRandomIntInclusive(-233,233)
}
if(i== 1){
ts=3252
}
if(i == 2){
ts=3400
}
if(3 == i){
ts=3521
}
window.event({'ts':ts})
_token=window.q0(decodeURIComponent(window'atob'), data1["request_code"],false)
debugger;
// _token=window.q0(token,data1["request_code"],false)
return _token
}
结果
image
总结
1.测试过程中用的是自己手机号登录,本来也是为了学习不玩虚的。
2.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。
3.drssionpage资料有点少,看了1天半。看完了sessionpage基础部分太枯燥了,找个项目搞搞。
lianxi a15018601872

标签:字符,美团,lianxi,验证码,ts,window,token,a15018601872
From: https://www.cnblogs.com/yeweilin/p/18340379

相关文章

  • 字符集和字符编码(Charset & Encoding)
    编码历史字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如......
  • shell获取敏感词接口json数据更新时重启nginx+lua环境、一个逐步删除服务器上文件夹的
    一、shell获取敏感词接口json数据如有更新重启nginx+lua环境    因为工作需要,需要写一个shell脚本获取对应接口的数据(其它管理后台控制的敏感词库)。因为当前平台是nginx+lua脚本,重装加载敏感词需要重启nginx.实现起来也很简单,第一点,需要对获取的json数据进行分析,shell......
  • python 滑动验证码爬取思路
    参考文章:python爬虫之滑动验证码[完整版]-简书内附个人理解注释示例代码:fromseleniumimportwebdriverfromselenium.webdriver.common.action_chainsimportActionChainsimporttimefromselenium.webdriver.common.byimportByfromselenium.webdriver.support.......
  • c++ 字符分割截取
      #include<iostream>#include<string>#include<sstream>#include<vector>//函数用于按照指定分隔符分割字符串std::vector<std::string>splitString(conststd::string&s,chardelim){std::vector<std::string>tokens;......
  • C primer plus 第四章 4.2字符串简介
    一、什么是字符串:    是一个或多个字符的序列(被双引号引起来的就是字符串),单引号引起来的是字符,字符串=字符+空字符二、char类型和null字符:    *C中没有专门储存字符串的变量,字符串被储存在char类型的数组中。     数组:由连续的储存单元组成,字符串......
  • js替换字符串里的空格
    js替换字符串里的空格_百度搜索(baidu.com) ......
  • C#常用字符串
    1.ToUpper()作用:将字符转换成大写形式,仅对字母有效。返回值是转换后的字符串。使用:字符串变量.方法名();例如:name.ToUpper();2.ToLower()作用:将字符转换成小写形式,仅对字母有效。返回值是转换后的字符串。使用:字符串变量.方法名();例如:name.ToUpper();3.Equals()※作用:......
  • .net项目使用Docker部署(包括解决后台验证码,部署后不显示的问题)
    Vue部署到Docker参考文档:手把手教你用Docker部署Vue3项目_docker部署vue3项目-CSDN博客参考文档:dockerfile部署前端vue项目_vuedockerfile-CSDN博客nginx文档:使用docker安装nginx-静以修身俭以养德-博客园(cnblogs.com)结合使用了两个文档的方法和DockerFIle区别......
  • js对于特殊字符的处理
    特殊字符的检查判断constreg=/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·!#¥(——):;“”‘、,|《。》?、【】[\]]/;if(reg.test(changeGroupName.value)){message.warning('文件夹名称不能包含~!#$%个&*()=+/N[];∵:",?/<>等字符')return} ​特殊字符......
  • JS之File对象与base64字符串之间的相互转换
    File对象有两种形态,在请求时为:控制台输出为:从formData中获得fileList对应的File对象,并转换为base64字符串,再转换回File对象,代码示例如下:constfileList=uploadFormData.get("fileList");console.log(fileList);constreader=newFileReader();reader.readAsDataURL(......