使用某达速递的官网登陆及APP登录,来学习Wireshark的使用。


在如今这个HTTPS深入人心的情况下,作为一个也不算很小的快递,某达速递,不但全站HTTP,而且登录帐号密码明文未加密传输,也算是技术落后到了一定程度。


本文将以它为例,学习如何从HTTP流量中提取帐号密码。



01

准备工作


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

Wireshark分析实战:某达速递登录帐号密码提取_代码


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

web页面

Wireshark分析实战:某达速递登录帐号密码提取_代码_02


APP页面

Wireshark分析实战:某达速递登录帐号密码提取_代码_03


最后,了解HTTP协议。

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

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


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


02


网页版分析


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


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


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

Wireshark分析实战:某达速递登录帐号密码提取_代码_04

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

Wireshark分析实战:某达速递登录帐号密码提取_代码_05

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

Wireshark分析实战:某达速递登录帐号密码提取_代码_06


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

loginName=zhanghao&password=1111111&


所在的HTTP请求为:

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

Host: member.yundaex.com


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


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

Wireshark分析实战:某达速递登录帐号密码提取_代码_07

用户名和密码分别对应loginName和password两项。


03


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


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

Wireshark分析实战:某达速递登录帐号密码提取_代码_08

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


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


到合适的地方,开嗅探,收密码去。Wireshark分析实战:某达速递登录帐号密码提取_代码_09


欢迎勾搭。

Wireshark分析实战:某达速递登录帐号密码提取_代码_10

长按进行关注。