知乎登录接口字段解密分析

前言

现在是2019年10月,正在用python模拟知乎登录

随便在网上一查,模拟知乎登录时的接口都是这样的:

别人分析时的登录接口

心中一喜,看起来好简单,赶快F12打开浏览器查一下:
为防止登录后页面会重新加载,登录接口被冲洗看不见,所以首先需要勾选[Preserve log]:
勾选

先选择手机号登录,查看登录接口:
登录接口

虽然没截完全,但还是看的出来,提交的数据从以前的明文字段变成了一串字符串,应该是按照自己内部的约定逻辑进行了加密,防止信息泄露,拿到加密信息后,再解密一次,以加强信息的安全性

那我们需要分析一下这段加密信息

分析

仔细看一下登录接口:


登录

在登录时访问的完整请求是https://www.zhihu.com/api/v3/oauth/sign_in,在登录提交请求时还通过path访问了其他资源/api/v3/oauth/sign_in
分析完html页面,没有找到有关信息,无奈只能从js下手去看源码:

  • 查找
    Ctrl + Shift + f 全局搜索 v3/oauth/sign_in
    查找结果
  • 分析源码
    1)双击查找结果进入文件,Ctrl + f 局部查找``v3/oauth/sign_in`


    局部查找结果

文件中含有我们要的信息,先点击当前文件左下角{} Pretty Print 格式化代码,方便查看

function p(e) {
        return function(t) {
            return t({
                API: {
                    types: c.LOGIN,
                    endpoint: "v3/oauth/sign_in",
                    method: "POST",
                    fetchOptions: {
                        credentials: "include",
                        zsEncrypt: !0,
                        bodyType: "form",
                        body: Object(r.decamelizeKeys)(e)
                    }
                },
                NOTIFICATION: !1
            }).then(null, function(e) {
                e && e.err ? 120005 === e.err.payload.code && t(Object(i.a)()) : e.payload && 120001 === e.payload.code && t(Object(a.h)("页面已过期,请刷新重试", "red"))
            })
        }
    }

源码长这样,只要知道放在body里的是什么内容基本完成了,看到这基本源码已经没有可以下手的地方了,剩下的就需要debug完成了
2)在线debug,查看加密前信息


debug

看一下具体信息:


具体抓取信息

加密前的字段信息:

captcha: ""
clientId: "c3cef7c66a1843f8b3a9e6a1e3160e20"
grantType: "password"
lang: "en"
password: "******"
refSource: "other_https://www.zhihu.com/signin?next=%2F"
signature: "d1cfffa2bae9bf0f03dcc6fd67da8068c0cfff01"
source: "com.zhihu.web"
timestamp: 1571271780959
username: "+86***********"
utmSource: undefined

账号和密码我打码了,其他都是登录时抓取的字段:

参数 含义 处理
captcha "" 验证码模块 当验证码出现时才有值
clientId c3cef7c66a1843f8b3a9e6a1e3160e20 "" 固定
grantType password 认证类型 固定
lang en 语言 不知道
password ****** 密码 输入
refSource other_https://www.zhihu.com/signin?next=%2F 页面链接 固定
signature d1cfffa2bae9bf0f03dcc6fd67da8068c0cfff01 签名 构造
source com.zhihu.web 来源 固定
timestamp 1571271780959 时间戳 生成
username +86*********** 账号 输入
utmSource undefined

关于这些含义,有一些是可以看出来的,一些不知道含义的查过资料整理出来

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,585评论 4 365
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,923评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,314评论 0 248
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,346评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,718评论 3 291
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,828评论 1 223
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,020评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,758评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,486评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,722评论 2 251
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,196评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,546评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,211评论 3 240
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,132评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,916评论 0 200
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,904评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,758评论 2 274

推荐阅读更多精彩内容