好友
阅读权限10
听众
最后登录1970-1-1
|
Ylvan
发表于 2023-7-13 02:09
本帖最后由 Ylvan 于 2023-7-13 02:20 编辑
序言
大半夜正准备睡了,看了一位坛友关于公众号验证码引流的帖子,动手完成之后顺便把前几个前辈的帖子也动手试了下,感觉很有意思。这个过程中刚好找到了一个新的网站,方式稍微不同,随手试试没想到也成功了,也来分享下。入论坛好多年了一直是潜水,比较菜也没什么能分享的,这次终于有机会了。
附上坛友的帖子@名shu
记一个菜菜菜鸡看了菜菜鸡的帖子对关注公众号回复密码获取验证码的分析
https://www.52pojie.cn/thread-1807169-1-1.html
正文
1.首先是验证码页面,随便输入一个,提示错误
1
2.查看网络network,过滤post规则,发现有向服务器提交数据,并且返回了”paserr“的内容。这里我尝试了2次,所以有2个post请求
3.F12打开开发者工具,找到”提交“按钮对应的js函数(注意,这里不能直接进函数里面调试,我试过了没有用,说明对应的那几行代码根本不是判断逻辑)
3
4.html文件中搜索之前的错误提示”验证码输入错误,请关注公众号……“ 发现可以找到,刚好有3个变量存储3个字符串,分别是空输入、错误输入和正确输入的提示。
(其实我是先搜了js文件发现没有,然后才在html中找到的,不过一样的)
4
5.在第3步最后找到的js文件中刚好可以搜到这3个字符串变量,说明判断逻辑是在这里。我加上了断点然后随便输入验证码开始调试。
5
6.执行到第一个断点的地方,发现此时g的内容是”paserr“,也就是第2步中服务器返回的内容;和它比较的b[G(198, 201, 184, 186)]的内容是”err“,结合变量jzmmw,说明这是输入为空时服务器返回的值。
6
7.F10调试到下个断点,发现此时g和b[G(193, 208, 225, 210)]都是”paserr“。
后面的一大串代码不用管太多,符号”?“和”:“一起用很明显是三目运算符:条件为true(2个变量的值相等)时使用jzmmc(错误提示),为false时使用jzmmd(正确提示)。
然后思路就很清晰了,修改变量的值让表达式不成立,从而进入判定验证码正确的逻辑。
7
8.在右边修改g的内容,只要不等于"paserr"即可(右上角显示的还未更新,实际修改成功了)。然后继续执行代码
8
9.可以看到页面上提示验证通过。不过现在没有显示下载的内容,而是显示了我修改的变量的值,我猜测这部分对应的代码正常应该是验证通过后服务器返回的。
不过不要紧,刷新一下就可以显示出来了,验证通过后验证结果存储在了cookie中,一段时间内均有效,刷新不影响。
9
10
结语
这个网站稍微有点特殊,开始我还是老样子尝试直接在js对应的代码中打断点、调试、改变量,结果发现不行。后面改变思路,搜索错误提示的字符串,然后根据字符串变量才找到了正确的判断逻辑代码段。
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|