美文网首页
淘宝密码加密方式分析,及python实现

淘宝密码加密方式分析,及python实现

作者: Python之战 | 来源:发表于2019-01-26 20:05 被阅读0次

    上回说到《分析淘宝登陆对selenium爬虫的封杀方案,反爬虫机制的升级》、《淘宝封杀selenium的ua算法分析》,对淘宝封杀Selenium的思路有了一个清晰认识,核心就是ua算法来鉴别是否为正常浏览器。

    至于鉴别的思路可看更早的文章《selenium的封杀与突破,记录一次出师未捷身先死,淘宝、美团对爬虫的深入打击》,《Python爬虫中深不可测的ua参数,爬虫的身份证》。

    在上回分析淘宝ua算法的js实现的时候《淘宝封杀selenium的ua算法分析》,虽然疏通了前后逻辑及其对应的js片段,本想硬刚的,奈何实力不允许,一段2000多行的自定义js函数,循环上万次的应用,这个还真不容易,正如下面网友评论,所以还得找其他方案。

    image

    今天继续分析关键的post参数中的password,在看过ua的函数后,顿时觉得password函数是如此的亲密和熟悉。

    image

    这个直接全局查找TPL_password_2关键词还不一定能找得到,聪明的阿里工程师们怎么会这么轻易的让你,看见真相。在搜索TPL_password_2关键词没有结果后就尝试搜了了搜其他关键词如RSA、encrypt,尤其是encrypt,还真找到了对应的加密js文件:

     encrypt: function(a) {            return a && this.pbk && this.exponent ? (this.rsa || (this.rsa = new e,            this.rsa.setPublic(this.pbk, this.exponent)),            a = this.rsa.encrypt(a)) : a        }
    

    其中this.exponent是RSA加密偏移量,值是10001、this.pbk是密钥其值是网页源码的一个元素值。

    image image

    好吧,那RSA加密结果我们在印证一下,调试输入a的值

    image

    对比post请求的a值:

    image

    那就是一致的,应该是标准的RSA加密,至于python如何实现RSA加密,看加密全家桶文章《Python实现DES、DES3、AES、RSA、MD5、SHA、HMAC加密方式及示例》,很简单的。

    针对ua参数,如果有更好的思路和方法可以留言探讨一下。


    ID:Python之战

    |作|者|公(zhong)号:python之战

    专注Python,专注于网络爬虫、RPA的学习-践行-总结

    喜欢研究技术瓶颈并分享,欢迎围观,共同学习。

    独学而无友,则孤陋而寡闻!


    相关文章

      网友评论

          本文标题:淘宝密码加密方式分析,及python实现

          本文链接:https://www.haomeiwen.com/subject/lafwjqtx.html