逆向日期:2024.03.01
使用工具:Node.js、Python
加密方法:AES标准算法
文章全程已做去敏处理!!! 【需要做的可联系我】
AES解密处理(直接解密即可)(crypto-js.js 标准算法):在线AES加解密工具
仅供学习,仅供学习,不附源码,全程图片代码
1、打开某某网站(请使用文章开头的AES在线工具解密):/liDZBx6bZua7bit+Hewycjp4zAJsK6BUD1nuOunNn2RGuyWRfvGrfc+U+6GvvGc
2、我们打开网站后,输入纳税人编号,可以去企查查里拿公开的,必须是山西地区的哦,因为这个网站只能查山西地区的,然后点击查询,会看到有一个滑块让你验证,将滑块划到正确位置,,,然后在控制台可以看到,共发送了四次请求,我来和大家一个一个讲一下
【第一个api】:荷载的信息都是固定的,【ts】是有一个13位的时间戳,分析图下方。。。这个接口的作用就是发放无权限token和验证信息

【第二个api】:载荷的信息只有【token】和【pointJson】会变动。。【token】可在第一个api里获取。。【pointJson】需要模拟算法生成。。。这个接口的作用就是 验证滑块是否成功,并给之前的token赋予访问权限

【第三个api】:荷载信息只有【captchaVerification】【nd】【NSR】会变动。【captchaVerification】需要模拟算法去生成。【nd】是个13位的时间戳。【NSR】是你要查询的纳税人识别号。。。。这个api的作用是使用已授权的token进行访问数据

【第四个api】:这个就不用讲了,这个api和第一个api是一样的作用,,当你信息验证失败或你主动刷新滑块验证码的时候,就会有这个请求,,作用和第一个一样,只是会重新给你一套全新的信息,比如token、滑块的图片.....
3、已知第一个api是生成信息,无需模拟算法生成,,那我们直接去模拟第二个api的【pointJson】这个是需要通过算法去生成的,,直接全局搜索大法,找到了,他是把你滑动的距离进行了一个加密,密钥使用的第一个api内获取的,加密的参数是你滑动滑块的距离,然后经过一个简单的算法运算后得出一个参数【{"x":101.525,"y":5}】

4、我们继续跟栈走,没想到呀,他用的是一个AES加密方法,而且还没有混淆,这感情好呀,我们直接本地模拟去

5、因为js代码较少,所以我将js代码写进了python里,方便直接调用,省去了读取加载步骤


6、在这里讲一下为什么我上面要将计算出的滑块【距离乘于1.3】,看下面图,我将原网站的滑块背景图在新标签页中打开后,发现距离不一样



7、我们接下来搞第三个api接口,这个接口就是用来获取最终数据的,但我们还要去模拟【captchaVerification】参数值,其他的参数你们都懂,仍然一样,全局搜索,,没想到呀,算法竟然一样的,直接用上一个算法就可以,只不过加密的参数多了一个token,仍然简单,直接模拟去

8、都模拟完成了,允许测试,妥了,成功

