V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Morriaty
V2EX  ›  Python

如何确认 HTTP 的认证方式

  •  
  •   Morriaty · 2017-05-16 11:30:09 +08:00 · 3126 次点击
    这是一个创建于 2541 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在用 fiddler 抓包一个 app 时,发现 headers 里包含了 Authorization。 但我并没有找到具体的认证方式,app 是以游客身份使用的,也没POST /login之类的方法。

    10 条回复    2017-05-17 22:12:11 +08:00
    gstqc
        1
    gstqc  
       2017-05-16 14:28:12 +08:00
    通常 HTTP 认证采用 Authorization 请求头,格式 Authorization: Basic xxx
    对 xxx 进行 base64 解码,如果是 HTTP Basic Auth, xxx 是 user:password 使用 base64 编码的字符串
    如果 base64 无法解码或者格式不符合,可能是采用 OAuth 认证,这个只能清空 App 数据,然后抓认证过程的网络请求才能确定了

    另外,虽然 Web server(nginx, Apache, IIS etc.)支持 base 认证,但这层认证是可以移到网站代码里实现的,所以服务器如何处理和识别这个 token 是非常灵活的。
    johnlui
        2
    johnlui  
       2017-05-16 14:42:12 +08:00
    基础认证嘛,把用户名密码拼成特定格式加到 header 里就行了
    lemmony
        3
    lemmony  
       2017-05-16 16:51:05 +08:00
    首先你得找到 token 是怎么来的,肯定有由来的
    Morriaty
        4
    Morriaty  
    OP
       2017-05-16 17:36:04 +08:00
    @gstqc 就是没有找到认证的请求,游客身份,也没有输用户名密码的步骤
    Morriaty
        5
    Morriaty  
    OP
       2017-05-16 17:36:48 +08:00
    @lemmony 可能是我比较菜,真的没找到,链家的 app
    gstqc
        6
    gstqc  
       2017-05-16 17:46:36 +08:00
    @Morriaty 应该是在 App 第一次启动时到某些入口获取,然后保存到本地,保存时间看服务器和客户端的代码是怎么写的。
    这也可以用来识别用户,把这个 token 和设备、IMEI 等可能能获取到的信息绑在一起,定位用户。
    fiht
        7
    fiht  
       2017-05-16 18:10:11 +08:00
    app 的包,app 和服务器端协商好编解码方式就好了。
    具体认证只能逆向开 app 看
    sensui7
        8
    sensui7  
       2017-05-16 21:21:50 +08:00
    jwt, Authorization 那是一段服务器签名过的 token, 你解不出来的,
    Morriaty
        9
    Morriaty  
    OP
       2017-05-17 09:53:17 +08:00
    @sensui7 我连 token 都没找到.......
    mingyun
        10
    mingyun  
       2017-05-17 22:12:11 +08:00
    一楼正解,如果是 jwt,没有秘钥没法解的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2225 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:53 · PVG 23:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.