准备工作

首先,备好Wireshark,打开,在外网网卡上抓包。

其次,用浏览器访问http://www.yundaex.com/cn/index.php,并在手机上下载安装其APP,找到登录页面。

web页面

APP页面

最后,了解HTTP协议。

HTTP报文流内,包含一个个HTTP请求和响应对,新版的Wireshark会对HTTP对使用箭头进行标示。

由于帐号和密码都是在客户端输入,然后向服务器发送,因此,这些信息应该在上行报文中查找。

下面,分别对网页版和APP版登录进行分析。

网页版分析

找到登录框,输入任意用户名zhanghao密码1111111,进行登录操作。

正常情况下根据DNS分析,可获取网站相关的域名等,由于不是本文分析重点,因此略过。

登录操作过程产生了数个HTTP对,包括GET和POST,一般上送数据的过程更可能在POST中,因此先看POST,如果需要,再看GET。

选中一个POST报文,右键,追踪流,TCP流,由于刚好本次操作的所有HTTP报文都在一个流内,所以不需要重复这个选择然后追踪流的过程。

很容易,在流中找到了输入的帐号和密码,此处二者都未加密,一般注意网络安全的网站都会将二者MD5加SALT,但这类不注意信息安全的奇葩除外。

帐号和密码在POST体内按参数分割:

loginName=zhanghao&password=1111111&

所在的HTTP请求为:

POST /ydmb/service/accountno/login.json HTTP/1.1

Host: member.yundaex.com

当然,我输入的帐号密码是错误的,响应就不分析了。

我们根据请求URL,找到Wireshark主界面中对应对应的报文,点击,在Wireshark下方,数据已经自动分析好了:

用户名和密码分别对应

Android APP版分析

进行APP分析,找到登录框,输入任意用户名18552623128密码11111111,进行登录操作。

分析过程基本相同,但其域名和格式不同,虽然仍然为HTTP,但服务器端口为12374,数据仍然在POST体内。

账号密码所在的HTTP请求为:

POST /appserver/interface.do HTTP/1.1

Host: mapp.yundasys.com:12374

帐号和密码在POST体内按参数分割:

sign_method=yd_md5&req_time=1513676749287&data={"loginName":"18552623128","password":"11111111"}&action=member.account.login&appver=5.1.0&version=V1.0&sign=FB81EB5D771259D7DE90433F47CD81F4

我们同样可以在相应报文的下方,找到已经自动分析好了的数据:

用户名和密码都在data项的json结构内,分别为loginName和password两项。

到这里,某达快递的登录就分析完毕了,我们能从中提取到登录帐号和密码,如果需要,还能提取到其它信息。

到合适的地方,开嗅探,收密码去。

欢迎勾搭。

长按进行关注。

Wireshark分析实战:某达速递登录帐号密码提取的更多相关文章

  1. Windows 下TortoiseGit 设置避免每次登录帐号密码

    TortoiseGit ->Settings 1.选择设置的git目录 2.输入登录帐号与email 3.点击Edit global.gitconfig 编辑,将文本 [credential] ...

  2. python3登录极路由并读取宽带帐号帐号密码.py

    python3登录极路由并读取宽带帐号帐号密码,fiddler抓包分析过程略... 步骤:1.登录路由,提取stok. 2.用stok拼成url,post请求 3.解析json数据 代码: " ...

  3. ecshop 进入后台登录帐号出现乱码解决方法

    进入后台登录帐号出现如果生成乱码 MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Err ...

  4. 用firefox 31配合KeePass密码管理器实现web帐号密码自动填写登录

    原文:http://bbs.kafan.cn/thread-1754676-1-1.html KeePass的优势:1.这是一款完全开源的密码管理器2.很多人都使用lastpass来保存密码,而这种严 ...

  5. Chapter 2 User Authentication, Authorization, and Security(2):创建登录帐号

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38705965,专题目录:http://blog.csdn.net/dba_huangzj ...

  6. 使用wireshark在windows平台下捕获HTTP协议数据包中的帐号密码信息

    1.打开wireshark软件,从Interface List中选择相应的网卡,例如我的PC机上是“本地连接”,然后选择”Start”启动抓包程序. 2.打开学校主页,输入账号和密码登录校内邮箱. 3 ...

  7. 【IIS】windows2008 ii7 设置访问网站提示帐号密码登录

    3个步骤: 1.添加windows身份验证: windows2008默认是不启用的,需要我们自己去启动,在管理工具 - 服务器管理- 角色 ,拉下去,下面有个[添加角色服务],安全性- Windows ...

  8. mac os x忘记了root密码怎么办,忘记登录密码(普通帐号密码)也是一样的

    有时候我们给mac设置了root密码,一段时间不用,却忘记了密码,怎么办?下面的办法帮你解决: 步骤1:先关闭你的mac系统 步骤2:开机,按住Command和s两个按键不松手直到出现下面的界面: 步 ...

  9. 【WEB API项目实战干货系列】- API登录与身份验证(三)

    上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. ...

随机推荐

  1. 简单实用的原生PHP分页类

    一款简单实用的原生PHP分页类,分页按钮样式简洁美观,页码多的时候显示“...”,也是挺多网站用的效果 核心分页代码 include_once("config.php"); req ...

  2. MySQL入门——Linux下安装后的配置文件

    MySQL入门——Linux下安装后的配置文件 摘要:本文主要了解了在Linux环境下安装MySQL后的配置文件的位置,以及如何创建配置文件. 查看配置文件的加载顺序 找到mysqld的路径 通过wh ...

  3. IDEA提示找不到Mapper接口:Could not autowire.No beans of 'xxxMapper' type found

    前言 相信大多数互联网公司的持久层框架都是使用 Mybatis 框架,而大家在 Service 层引入自己编写的 Mapper 接口时应该会遇到下面的情况: 我们可以看到,上面的红色警告在提示我们,找 ...

  4. 松软科技web课堂:SQLServer之UCASE() 函数

    UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELECT UCASE(column_name) FROM table_name SQL UCASE() ...

  5. OC深浅复制

    浅复制:指针的复制 深复制:内容的复制 主要有两个关键字  copy 和mutablecopy 对于基本类型 判断深浅方法 1.只要=右边从创建到赋值,至少包含一个NSMutable便会重新生成一个对 ...

  6. 30-学容器必须懂 bridge 网络

    Docker 安装时会创建一个 命名为 docker0 的 linux bridge.如果不指定--network,创建的容器默认都会挂到 docker0 上. apt-get install bri ...

  7. Docker系列01-容器初探

    关于容器的发展史 关于容器有不得不说的历史故事,以下资料来自于互联网收集整理所得: 容器概念始于 1979 年提出的 UNIX chroot,它是一个 UNIX 操作系统的系统调用,将一个进程及其子进 ...

  8. 网络编程~~~~socketserver服务端

    socketserver服务端 import socketserver class MyServer(socketserver.BaseRequestHandler): def handle(self ...

  9. jira问题更改项目

    1.点击“问题”在问题中,筛选你要修改的问题,以下是以创建用户为搜索条件,然后点击“工具”---移动所有问题 2.选择要移动的问题,选择项目,进行移动

  10. go语言设计模式之Command

    package main import ( "fmt" ) type Command interface { Execute() } type ConsoleOutput stru ...