“使用某达速递的官网登陆及APP登录,来学习Wireshark的使用。”
在如今这个HTTPS深入人心的情况下,作为一个也不算很小的快递,某达速递,不但全站HTTP,而且登录帐号密码明文未加密传输,也算是技术落后到了一定程度。
本文将以它为例,学习如何从HTTP流量中提取帐号密码。
01
—
准备工作
首先,备好Wireshark,打开,在外网网卡上抓包。
其次,用浏览器访问http://www.yundaex.com/cn/index.php,并在手机上下载安装其APP,找到登录页面。
web页面
APP页面
最后,了解HTTP协议。
HTTP报文流内,包含一个个HTTP请求和响应对,新版的Wireshark会对HTTP对使用箭头进行标示。
由于帐号和密码都是在客户端输入,然后向服务器发送,因此,这些信息应该在上行报文中查找。
下面,分别对网页版和APP版登录进行分析。
02
—
网页版分析
找到登录框,输入任意用户名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下方,数据已经自动分析好了:
用户名和密码分别对应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
我们同样可以在相应报文的下方,找到已经自动分析好了的数据:
用户名和密码都在data项的json结构内,分别为loginName和password两项。
到这里,某达快递的登录就分析完毕了,我们能从中提取到登录帐号和密码,如果需要,还能提取到其它信息。
到合适的地方,开嗅探,收密码去。
欢迎勾搭。
长按进行关注。