当爬虫碰到加密请求参数

您所在的位置:网站首页 post加密怎么解密 当爬虫碰到加密请求参数

当爬虫碰到加密请求参数

2024-07-15 12:00| 来源: 网络整理| 查看: 265

前言:之前查找一个网站的加密方式找了一个星期。放弃了。过了两天又满血归来,一个小时破解了

注:本篇博客,不会讲解任何加密相关的算法。爬虫破解加密算法,可以完全不懂加密算法,需要的是耐心

先说说最近碰到反爬虫相关的方式吧

1.加密+访问次数限制+每个页面相关信息的条目需要点详情进行二次请求

2.复杂的加密算法进行参数+时间戳+sig值,后台进行 参数+时间限制

3.定时同步cookie+每个界面一个cookie

以上三种加密 

第一种破解方式是 简单的破解方式使用 selenium,或者其他可以执行JS 并且可以存储cookie,手动设置cookie的值,selenium 有个通病 比较慢。

第二种 有点投机取巧了, 找他们的相关的APP,看下APP是不是没有加密或者加密比较薄弱(一般网页加密,app也是加密的但是不试一下怎么知道不成功)

第三种方式,就要挑战实力了。不,是耐力

如果手动去设置破解方式的话,需要打开浏览器的 开发者模式,查看每次的网络请求。

查看网络参数

需要的技能跟工具

技能

稍微的懂JS

工具

1.nodejs(用以快速执行JS,方便调试解密的JS)

2.postman(测试接口)

3.内容比对工具(我用的是SVN,用以比对 自己JS加密的数据跟网页加密数据比对)

4.自己用着顺手的文本编辑器(用以查看网页源码中的JS,查找加密JS类库)

有工具加技能之后,说下一般情况

1,如果是可逆的加密,都会有个秘钥,秘钥一般都是登录的时候返回

在 登录接口返回、登录cookie中、JS类库中、单独接口返回。百分之九十不会超过这四项。

可逆加密拿到秘钥之后,存储起来,打开所有在网页上下载的JS类库,假设加密串的参数名称是sig,在所有的JS类库中搜索sig,找到以后,可以选择,浏览器中打断点跟下这个值到底在哪里产生的,对JS比较熟的话,直接阅读代码,找到产生sig值的方法,自己创建一个JS文件,帖进去,在nodeJS中执行这段JS代码,提示少什么方法,就去查找什么方法,帖进去,直到,自己创建JS类库不在报错,这样的话应该,加密的JS找到了,按照书写规范,加密解密的JS 应该都在一个JS中,然后,拿网页产生的加密后的字符串放进去,进行解密,看下参数拼接的类型。

贴一张图吧

第一张图是JS加密的内容

第二张图,输入的参数是第一张加密的明文

总而言之,所有的加密方式 肯定在JS中藏着,不管是sig加密还是每次请求切换cookie,还是定时的请求本地cookie做校验。一定要有耐心,反向的跟着请求流程走一遍。切勿急躁。

说了不讲加密算法,有时间还是看下加密算法吧。看完加密算法之后,可以大致的猜一下他用的什么加密算法,给自己的破解设定一个方向,可能比盲目的查JS,好一点。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3