Python爬虫 - js逆向之扣出某平台的_signature加密字段

前言

好久没有做逆向案例分析了,最近都在看同行朋友写好的案例,感觉学到很多,算是取长补短了

不多bb,机缘巧合下,拿到个目标网站

分析

首先抓个包,就看到请求参数里带着这几个参数

主要就是_signature了,其他的参数都不重要得想必你一看就知道啥意思了。

行,开始分析_signature了

先,全局搜一下,很好只有一个结果:

 点进去看到主要就这三个地方:

三个地方都打上断点:

继续滑动下拉,发现值已经有了:

鼠标放到变量上面,看到我们需要得_signature其实就是变量a了,而a由函数I(n,e)生成:

其中,n就是V.getUrl生成,e就是传进去的参数:

那取消刚才的断点,重新打上断点看看:

此时,可能你在调试的时候,有时候会出现滑块验证:

这个暂时不管,以后再系统的搞滑块哈

此时发现断上了:

跟进去,发现V.getUri进入到如下,感觉是在处理参数,不知道有没有我们要的sign

 怎么确定有没有,放开断点往下走,如果出现了那就是了,如果没有出现,那多半就不是了,如下:

 这个n的值明显没有sign,那就不是了

当然这个理论在这里行得通,但不绝对哈

好,接着看I,跟进去,发现如下,这里的e就是上面生成的n,t就是上面传进来的参数e,就是而且看到里面有sign相关的变量,90%是了

单步调试,一点一点跟着走看看:

找到关键点

发现上面都是些没有什么用的配置,就到了倒数第二行,貌似才有关键的东西,而且sign也在这一行里,先在这一行打个断点,然后继续走,一点放行,发现走到一个新的js里:

大概的看了一眼,应该是个加密算法,那是不是就是我们要的sign呢?不好说啊,直接点这个跳出去吧:

跳出去之后发现,变量o出现了一个很长的字段

 

拿着跟之前浏览器抓包看的_signature对比下长度,发现一致,那就是这个了,而实际的加密逻辑就是刚才进入的新的js文件alcrawler.js里

关键点找到了,那怎么把核心的加密逻辑扣出来呢?

我大概看了下,这里好像还不好单独把加密的逻辑抠出来,因为有很长的参数调用,而且我抠了下,不好扣,索性整个拿出来吧,结果发现整个也不多,就几百行,复制到本地吧

代码调试

放在本地,取名crawler,用node执行下看看:

发现报了个这个:

什么referrer,那我们搞爬虫的,再熟悉不过了,但是这个是在js里面啊,这就是涉及到

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值