中国移动飞信WAP登陆分析及脚本
中国移动飞信WAP网页版 http://f.10086.cn/im5/
用WAP飞信登录并向好友发送信息,同时用wireshark抓包。
1.过滤POST表单提交数据包(wireshark规则: http.request.method == POST),查找分析登陆数据

从上图可知:
登陆URL:http://f.10086.cn/im5/login/loginHtml5.action?t=1393041438687 POST数据:m=手机号&pass=密码&captchaCode=&checkCodeKey=null Referer:http://f.10086.cn/im5/login/login.action?mnative=0&t=1393041438687 Cookie:UUID=...; JSESSIONID=...; infoversion=[部分省略]
2.根据这个数据包向前寻找Cookie等参数的来源
(wireshark规则: http and ip.addr = 221.130.45.197)

从上图可知:
登陆数据包前,有2个前置页面,可获取Cookie等参数
红色框中的参数根据其数值变化情况,可推测出是距1970年1月1日之间的毫秒数
3.根据以上信息即可成功登陆WAP飞信,下面寻找向好友发送消息的数据包

从上图可知:
登陆URL:http://f.10086.cn/im5/chat/sendNewMsg.action POST数据:touserid=用户ID&msg=消息内容 Referer:http://f.10086.cn/im5/login/login.action?mnative=0&t=1393041417548 Cookie:UUID=...; JSESSIONID=...; infoversion=; cell_cookie=...; loginstatusCookie=; MarkTips=--[部分省略] 发送消息POST数据包含用户ID及消息内容 红色框请求可查询用户ID
4.请求查询用户ID页面

从上图可知:
登陆URL:http://f.10086.cn/im5/index/searchFriendsByQueryKey.action POST数据:queryKey=消息接受者手机号 Referer:http://f.10086.cn/im5/login/login.action?mnative=0&t=1393041417548 Cookie:UUID=...; JSESSIONID=...; infoversion=; cell_cookie=...; loginstatusCookie=; MarkTips=--[部分省略] 通过手机号可以查询用户ID
实现流程
1.通过前置页面获取Cookie等参数
2.提交账号、密码表单登陆
3.查询消息接受者用户ID
4.发送消息
各个页面携带Referer、Cookie等参数(必须时需要user_agent参数)
Shell脚本如下:
#!/bin/bash if [ $# -eq 0 ]; then
echo "Usage: fetion [-u name|tel] -m Message"
exit 1
fi while [ $# -gt 0 ]
do
case $1 in
-u) destination=$2
shift
;;
-m) message=$2
shift
;;
-*) echo "Usage: fetion [-u name|tel] -m Message"
exit 1
;;
*) break
;;
esac
shift
done user_id="用户ID"
password="密码" ##############################################################
#get cookie
curl -c cookie.txt http://f.10086.cn/im5/ &> /dev/null #login
post_data="m=$user_id&pass=$password&captchaCode=&checkCodeKey=null"
timestamp=$((`date +%s`+3600))
url="http://f.10086.cn/im5/login/loginHtml5.action?t=$timestamp"
curl -b cookie.txt -c cookie.txt -d $post_data $url &> /dev/null ###################################################################
#name->userid tel->userid url="http://f.10086.cn/im5/index/searchFriendsByQueryKey.action"
post_data="queryKey=$destination"
head_referer="Referer: http://f.10086.cn/im5/login/login.action?mnative=0&t=$timestamp"
result=`curl -s -b cookie.txt -H $head_referer -d $post_data $url`
#echo $result > temp
result=`echo $result | grep -o -E 'idContact":[0-9]+' | sed 's/.*://g'`
if [ -n "$result" ]; then
userid=$result
echo "Id: $userid"
else
userid="用户ID" #自己的ID,可通过添加上面注释行在temp中找到
echo "User ID does not exist!"
echo "\_[This message will be sent to your moblie phone]"
fi
#######################################################################
#seny message to myself message=${message// /%20} #replace spaces
echo "Message: $message"
msg_post_data="msg=$message&touserid=$userid"
send_url="http://f.10086.cn/im5/chat/sendNewGroupShortMsg.action"
head_referer="Referer: http://f.10086.cn/im5/login/login.action?mnative=0&t=$timestamp"
result=`curl -s -b cookie.txt -c cookie.txt -H $head_referer -d $msg_post_data $send_url` result=`echo $result | grep -o -E 'sendCode":"[0-9]{1,3}' | sed 's/.*"//g'` if [ $result -eq 200 ]; then
echo "send message success![$result]"
else
echo "send message failure![$result]"
fi
中国移动飞信WAP登陆分析及脚本的更多相关文章
- Xdebug文档(六) 分析PHP脚本
分析PHP脚本Xdebug内置分析器能让你找到脚本中的瓶颈并用额外的工具诸如KcacheGrind或WinCacheGrind工具可视化. 介绍 Xdebug分析器是分析PHP代码和判断瓶颈或确定代码 ...
- Hadoop日志分析系统启动脚本
Hadoop日志分析系统启动脚本 #!/bin/bash #Flume日志数据的根文件夹 root_path=/flume #Mapreduce处理后的数据文件夹 process_path=/proc ...
- 鸿蒙内核源码分析(编译脚本篇) | 如何防编译环境中的牛皮癣 | 百篇博客分析OpenHarmony源码 | v58.01
百篇博客系列篇.本篇为: v58.xx 鸿蒙内核源码分析(环境脚本篇) | 编译鸿蒙原来如此简单 | 51.c.h.o 本篇用两个脚本完成鸿蒙(L1)的编译环境安装/源码下载/编译过程,让编译,调试鸿 ...
- ssh伪登陆执行远程主机脚本命令 C程序基于ssh passwordless执行远程主机命令及基于配置文件的验证伪登陆执行命令
1,基于有密码及免秘钥在远程主机上执行命令及脚本 ssh -T ip "CLI or shell.sh"; 2,C程序实现上述功能--基于password-less
- Nmap源码分析(脚本引擎)
Nmap提供了强大的脚本引擎(NSE),以支持通过Lua编程来扩展Nmap的功能.目前脚本库已经包含300多个常用的Lua脚本,辅助完成Nmap的主机发现.端口扫描.服务侦测.操作系统侦测四个基本功能 ...
- Oracle logmnr工具分析日志脚本
在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ...
- nginx源码分析——configure脚本
源码:nginx 1.13.0-release 一.前言 在分析源码时,经常可以看到类似 #if (NGX_PCRE) .... #endif 这样的代码段,这样的设计可以在不改动源码的 ...
- Nginx日志分析及脚本编写
在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...
- 脚本重定向输出【错误、正确】——分析service脚本中用到的语法
<1> >&2 即 1>&2 也就是把结果输出到和标准错误一样:之前如果有定义标准错误重定向到某log文件,那么标准输出也重定向到这个log文件如:ls 2&g ...
随机推荐
- spring boot / cloud (七) 使用@Retryable来进行重处理
spring boot / cloud (七) 使用@Retryable来进行重处理 前言 什么时候需要重处理? 在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败,调用远程服务失败,争抢锁 ...
- vue-cli脚手架npm相关文件解读(9)config/index.js
系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...
- IP地址 子网掩码 默认网关 DNS(转)
突然被问到IP地址方面的知识,吓得我赶紧上网找一找资料,觉得这篇还是写得简单易懂,share一下. Key: 1.IP地址=网络地址+主机地址,(又称:主机号和网络号组成): 2.将IP地址和子网掩码 ...
- Android笔记: 日期格式化
下面的转换符来自Java,但是在android中同样可用.(以下表格内容来自互联网.) 常见日期格式化转换符 转换符 说 明 示 例 %te 一个月中的某一天(1-31) 2 %tb 指定语言环 ...
- Eclipse无法打开项目中的任何文件
今天,Eclipse居然打不开项目的任何一个文件,网上也没搜到,我决定重置下视图试试: Windows-Reset Persective-然后能正常打开项目的文件了,解决问题!
- MariaDB体验2----CSV文件导入
之前已经安装好MariaDB,现在需要将一份从Sql Server数据库里面导出的CSV文件导入进MariaDB,期间碰到了各种坑,这里记录一下. HeidiSQL的导入CSV文件的地方在“工具”栏, ...
- MySQL(六)之MySQL常用操作符
前言 在前面的MySQL学习中,我们学习了MySQL的安装,管理以及配置,还有是它的DDL.今天给大家分享一下,MySQL的操作符和它的函数这部分. 千里之行始于足下,做什么事情都要脚踏实地的去做才能 ...
- Maven(一)初识Maven
前言 在这之前一直都有去看关于Maven的相关介绍,但是没有到真正要用的时候,自己总是以为懂了.其实真的感觉Maven并没有想象的那么简单! 那我们该怎么去学习maven呢?接下来我将从: 初步认识m ...
- Unity相对于Cocos2d-x的比较
1.unity:Code in C# or js cocos:(Code in C++) 2.unity:可以让美工.动画.码农在同一个平台上各司其职(一起玩) cocos:码 ...
- Kendo UI 使用小知识点汇总
本攻略适用于了解的kendo UI 的基本语法的人使用.如果还不了解Kendo UI的基本语法,请大力观摹Demo ,并自己动用写几个控件. 1.获取Kendo UI的控件实体,不必存成全局变量. ...